{
  "openapi": "3.1.0",
  "info": {
    "title": "Wyzio REST API",
    "termsOfService": "https://www.wyzio.com/terms_of_service/",
    "contact": {
      "email": "support@wyzio.com"
    },
    "version": "1.0",
    "description": "Welcome to Wyzio REST API documention. This document describes the specification of the Wyzio REST API, hereafter referenced as 'the API'. This contains a description of the functionality that is made available by the API, as well as the architectural style it should use and the protocol by which it is offered. When there is room for interpretation in any of these aspects, this document also tries to specify how the API must resolve these ambiguities. We do this to provide a reference document, both to the implementers and the consumers of the API, and to ensure there is a unified interface that all parties must adhere to and can rely on for their own use."
  },
  "servers": [
    {
      "url": "https://wyzio.app",
      "description": "Generated server url"
    }
  ],
  "paths": {
    "/api-v1/vacation": {
      "put": {
        "tags": [
          "vacation-controller"
        ],
        "summary": "Create absence",
        "description": "Creates a new absence entry. Returns 200 on success, or 400 if validation fails.",
        "operationId": "createAbsence",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AbsenceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "vacation-controller"
        ],
        "summary": "Delete absence",
        "description": "Deletes an absence entry. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Absence"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet": {
      "get": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Get timesheets",
        "description": "Returns a list of timesheets based on the specified filters.",
        "operationId": "getTableView",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Timesheet entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timesheet entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeContactId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "clientContactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Development work"
            }
          },
          {
            "name": "time",
            "in": "query",
            "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "8"
            }
          },
          {
            "name": "isBillable",
            "in": "query",
            "description": "Whether the entry is billable",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry is billable",
              "example": true
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Timesheet status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timesheet status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "REJECTED",
                "APPROVED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "billableAmount",
            "in": "query",
            "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "800.0"
            }
          },
          {
            "name": "costAmount",
            "in": "query",
            "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "500.0"
            }
          },
          {
            "name": "taskName",
            "in": "query",
            "description": "Task name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Task name filter",
              "example": "Frontend development"
            }
          },
          {
            "name": "billableRate",
            "in": "query",
            "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "costRate",
            "in": "query",
            "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "60.0"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the entry is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimesheetView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "put": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Create timesheet entry",
        "description": "Creates a new timesheet entry for the specified employee.",
        "operationId": "create",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewOtherEmployeeTimeEntry"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/{id}/workflow/{workflowId}": {
      "put": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Change timesheet workflow",
        "description": "Changes the workflow assigned to the specified timesheet entry.",
        "operationId": "changeWorkflow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponseItem"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Add timesheet to workflow",
        "description": "Adds the specified timesheet entry to the selected workflow.",
        "operationId": "addToWorkflow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponseItem"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/incidents/{incidentId}": {
      "get": {
        "tags": [
          "swissdec-incident-controller"
        ],
        "summary": "Read one KLE incident",
        "operationId": "get",
        "parameters": [
          {
            "name": "incidentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecIncidentDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "put": {
        "tags": [
          "swissdec-incident-controller"
        ],
        "summary": "Update a KLE incident while it is a draft",
        "operationId": "update",
        "parameters": [
          {
            "name": "incidentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SwissdecIncidentDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecIncidentDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "swissdec-incident-controller"
        ],
        "summary": "Delete a KLE incident while it is a draft",
        "operationId": "delete_1",
        "parameters": [
          {
            "name": "incidentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{invoiceId}/payment/{paymentId}/split": {
      "put": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Split sales invoice payment",
        "description": "Splits the specified sales invoice payment. Returns 200 on success, or 400 if the operation is not valid.",
        "operationId": "splitPayment",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SplitPayment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{id}/workflow/{workflowId}": {
      "put": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Change sales invoice workflow",
        "description": "Updates the workflow for the specified sales invoice.",
        "operationId": "changeWorkflow_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponseItem"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Add sales invoice to workflow",
        "description": "Adds the specified sales invoice to the specified workflow.",
        "operationId": "addToWorkflow_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponseItem"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/report-template/batch": {
      "put": {
        "tags": [
          "report-template-controller"
        ],
        "summary": "Batch update report template",
        "description": "Updates multiple report template lines. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/TemplateLineRequest"
                    },
                    {
                      "$ref": "#/components/schemas/StaticTemplateLineRequest"
                    }
                  ]
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/{invoiceId}/payment/{paymentId}/split": {
      "put": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Split purchase invoice payment",
        "description": "Splits the specified purchase invoice payment. Returns 200 on success, or 400 if the operation is not valid.",
        "operationId": "splitPayment_1",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SplitPayment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/{id}/workflow/{workflowId}": {
      "put": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Change purchase invoice workflow",
        "description": "Updates the workflow for the specified purchase invoice.",
        "operationId": "changeWorkflow_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponseItem"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Add purchase invoice to workflow",
        "description": "Adds the specified purchase invoice to the specified workflow.",
        "operationId": "addToWorkflow_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponseItem"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice-scan/batch": {
      "put": {
        "tags": [
          "purchase-invoice-scan-controller"
        ],
        "summary": "Modify batch of purchase invoice scans",
        "description": "Updates the specified purchase invoice scans.",
        "operationId": "batchUpdate_1",
        "parameters": [
          {
            "name": "suppressDuplicateWarning",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PurchaseInvoiceScanRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/pdf-template/batch": {
      "put": {
        "tags": [
          "pdf-template-controller"
        ],
        "summary": "Batch update organization PDF templates",
        "description": "Updates multiple organization PDF templates. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "update_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PdfTemplateRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/currency-exchange/batch": {
      "put": {
        "tags": [
          "organization-currency-exchange-controller"
        ],
        "summary": "Batch update organization currency exchange rates",
        "description": "Updates multiple organization currency exchange rates. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_2",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationCurrencyExchange"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/workflow/{workflowId}": {
      "put": {
        "tags": [
          "order-controller"
        ],
        "summary": "Modify order workflow",
        "description": "Changes the workflow assigned to the specified order.",
        "operationId": "changeWorkflow_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponseItem"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "order-controller"
        ],
        "summary": "Add order to workflow",
        "description": "Adds the specified order to the selected workflow.",
        "operationId": "addToWorkflow_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponseItem"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/myaccount": {
      "get": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Get my account info",
        "operationId": "getMyAccount",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyAccount"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "put": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Update my account",
        "description": "Updates the authenticated user's account details.",
        "operationId": "updateMyAccount",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MyAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/e-bilan-report/structure/{reportType}": {
      "put": {
        "tags": [
          "e-bilan-report-controller"
        ],
        "summary": "Save the structure of an end-of-year statement",
        "description": "Admin only. Writes the GLOBAL tree: lines, nesting, order, qname, position_reference, translations and calculation membership. Affects every organization, which is why it is a separate endpoint from the account mapping rather than a flag on one payload.",
        "operationId": "saveStructure",
        "parameters": [
          {
            "name": "reportType",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "BALANCE_SHEET",
                "PL",
                "CASH_FLOW",
                "RATIOS",
                "END_OF_YEAR_ASSET",
                "END_OF_YEAR_LIABILITY",
                "END_OF_YEAR_INCOME_STATEMENT"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EBilanTemplateLine"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/e-bilan-report/accounts/{reportType}": {
      "put": {
        "tags": [
          "e-bilan-report-controller"
        ],
        "summary": "Save the account mapping for an end-of-year statement",
        "description": "Writes e_bilan_report_account only. Any structural field in the payload is ignored, so a non-admin posting the whole tree back cannot alter the shared structure.",
        "operationId": "saveAccounts",
        "parameters": [
          {
            "name": "reportType",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "BALANCE_SHEET",
                "PL",
                "CASH_FLOW",
                "RATIOS",
                "END_OF_YEAR_ASSET",
                "END_OF_YEAR_LIABILITY",
                "END_OF_YEAR_INCOME_STATEMENT"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EBilanTemplateLine"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/document-type": {
      "put": {
        "tags": [
          "document-controller"
        ],
        "summary": "Change document type",
        "description": "Updates the type of the specified document and returns the updated document.",
        "operationId": "changeDocumentType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Document"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Document"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/batch": {
      "put": {
        "tags": [
          "document-controller"
        ],
        "summary": "Batch update documents",
        "description": "Updates multiple documents. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_3",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DocumentRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/currency-exchange/batch": {
      "put": {
        "tags": [
          "currency-exchange-controller"
        ],
        "summary": "Batch update currency exchange rates",
        "description": "Updates multiple currency exchange rates. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_4",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CurrencyExchange"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/chart-accounts/batch": {
      "put": {
        "tags": [
          "chart-of-accounts-controller"
        ],
        "summary": "Batch update chart of accounts",
        "description": "Updates multiple chart of accounts entries.",
        "operationId": "batchUpdate_5",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ChartOfAccountsRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/budget/batch": {
      "put": {
        "tags": [
          "budget-controller"
        ],
        "summary": "Batch update budgets",
        "description": "Updates multiple budgets. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_6",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BudgetRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/category/batch": {
      "put": {
        "tags": [
          "article-category-controller"
        ],
        "summary": "Batch update article categories",
        "description": "Updates multiple article categories in a single request.",
        "operationId": "batchUpdate_7",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ArticleCategoryRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/unlock/{id}": {
      "put": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Unlock accounting period by ID",
        "description": "Unlocks the specified accounting period.",
        "operationId": "unlockAccountingPeriod",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/open/{id}": {
      "put": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Open accounting period by ID",
        "description": "Opens the specified accounting period. Returns 200 on success, or 400 if the operation is not valid.",
        "operationId": "openAccountingPeriod",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/lock/{id}": {
      "put": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Lock accounting period by ID",
        "description": "Locks the specified accounting period.",
        "operationId": "lockAccountingPeriod",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/list-unlock/{id}": {
      "put": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Simple unlock accounting period by ID",
        "description": "Unlocks the specified accounting period with limited permissions.",
        "operationId": "unlockListAccountingPeriod",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/list-lock/{id}": {
      "put": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Simple lock accounting period by ID",
        "description": "Locks the specified accounting period with limited permissions.",
        "operationId": "lockListAccountingPeriod",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/close/{id}": {
      "put": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Close accounting period by ID",
        "description": "Closes the specified accounting period. Returns 200 on success, or 400 if the operation is not valid.",
        "operationId": "closeAccountingPeriod",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/workflow/batch": {
      "post": {
        "tags": [
          "workflow-controller"
        ],
        "summary": "Batch update workflows",
        "description": "Updates multiple workflows.",
        "operationId": "batchUpdate_8",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WorkflowRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/widget/batch": {
      "post": {
        "tags": [
          "widget-controller"
        ],
        "summary": "Batch update enabled widgets",
        "description": "Updates multiple enabled widgets for the authenticated user.",
        "operationId": "batchUpdate_9",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Widget"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Widget"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/vat/report/validate": {
      "post": {
        "tags": [
          "vat-controller"
        ],
        "summary": "Validate VAT report submission",
        "description": "Validates the organization settings before submitting a VAT report. Returns 200 if valid, or 400 if validation fails.",
        "operationId": "validateSubmittingVatReport",
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "description": "Organization ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Response"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/vacation/{id}": {
      "post": {
        "tags": [
          "vacation-controller"
        ],
        "summary": "Update absence by ID",
        "description": "Updates an existing absence entry by ID. Returns 200 on success, or 400 if validation fails.",
        "operationId": "modifyAbsence",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Absence ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Absence"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/user/restore-access-code": {
      "post": {
        "tags": [
          "user-controller"
        ],
        "summary": "Restore user access code",
        "description": "Restores the access code for a user account with the specified credentials. Returns 200 on success, or 400 if credentials are invalid or required fields are missing.",
        "operationId": "restoreAccessCode",
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "description": "User email",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "password",
            "in": "query",
            "description": "User password",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/user/reactivate": {
      "post": {
        "tags": [
          "user-controller"
        ],
        "summary": "Reactivate user",
        "description": "Reactivates a user account with the specified credentials. Returns 200 on success, or 400 if credentials are invalid or required fields are missing.",
        "operationId": "activateUser",
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "description": "User email",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "password",
            "in": "query",
            "description": "User password",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "totpkey",
            "in": "query",
            "description": "TOTP key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/user-group/batch": {
      "post": {
        "tags": [
          "user-group-controller"
        ],
        "summary": "Batch update user groups",
        "description": "Updates multiple user groups. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_10",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserGroupRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/{id}/reject": {
      "post": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Reject timesheet by ID",
        "description": "Rejects the specified timesheet.",
        "operationId": "reject",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/{id}/approve": {
      "post": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Approve timesheet by ID",
        "description": "Approves the specified timesheet.",
        "operationId": "approve",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/team/review/reject": {
      "post": {
        "tags": [
          "team-review-controller"
        ],
        "summary": "Reject team review timesheets",
        "description": "Rejects all team review timesheets for the specified period.",
        "operationId": "rejectTeamReview",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/team/review/employee/{employeeContactId}/reject": {
      "post": {
        "tags": [
          "team-review-controller"
        ],
        "summary": "Reject team review timesheets by employee",
        "description": "Rejects all timesheets for the specified employee and period.",
        "operationId": "rejectForEmployee",
        "parameters": [
          {
            "name": "employeeContactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/team/review/employee/{employeeContactId}/approve": {
      "post": {
        "tags": [
          "team-review-controller"
        ],
        "summary": "Approve team review timesheets by employee",
        "description": "Approves all timesheets for the specified employee and period.",
        "operationId": "approveForEmployee",
        "parameters": [
          {
            "name": "employeeContactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/team/review/approve": {
      "post": {
        "tags": [
          "team-review-controller"
        ],
        "summary": "Approve team review timesheets",
        "description": "Approves all team review timesheets for the specified period.",
        "operationId": "approveTeamReview",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/reject": {
      "post": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Reject timesheets",
        "description": "Rejects multiple timesheets based on the specified filters and returns a list of rejected timesheet IDs.",
        "operationId": "reject_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimesheetAdvancedQueryParametersObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/batch": {
      "post": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Batch update timesheets",
        "description": "Updates multiple timesheets. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_11",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TimesheetDetailsRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/batch/reject": {
      "post": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Batch reject timesheets",
        "description": "Rejects multiple timesheets by IDs and returns a list of rejected timesheet IDs.",
        "operationId": "batchReject",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/batch/approve": {
      "post": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Batch approve timesheets",
        "description": "Approves multiple timesheets by IDs and returns a list of approved timesheet IDs.",
        "operationId": "batchApprove",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/approve": {
      "post": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Approve timesheets",
        "description": "Approves multiple timesheets based on the specified filters and returns a list of approved timesheet IDs.",
        "operationId": "approve_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimesheetAdvancedQueryParametersObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/tag/document": {
      "get": {
        "tags": [
          "tag-controller"
        ],
        "summary": "Get document tags",
        "description": "Returns a list of document tags.",
        "operationId": "getDocumentTags",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentTagEntity"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "tag-controller"
        ],
        "summary": "Create document tag",
        "description": "Creates a new document tag and returns its ID.",
        "operationId": "createDocumentTag",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/tag/contact": {
      "get": {
        "tags": [
          "tag-controller"
        ],
        "summary": "Get contact tags",
        "description": "Returns a list of contact tags.",
        "operationId": "getContactTags",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactTagEntity"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "tag-controller"
        ],
        "summary": "Create contact tag",
        "description": "Creates a new contact tag and returns its ID.",
        "operationId": "createContactTag",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{jobKey}/institutions/{domainStatusId}/result": {
      "post": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Ask the institution for the result of a declaration (GetResultFromDeclareSalary) using the credentials received with the status; stores Success / CompletionReleaseIsMissing / Processing / Error / Fault per institution and returns the refreshed declaration",
        "operationId": "fetchResult",
        "parameters": [
          {
            "name": "jobKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domainStatusId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecDeclarationResultDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{jobKey}/institutions/{domainStatusId}/dialog": {
      "post": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Open the dialog of an institution that answered the status with DialogAndResult (GetDialog): returns the dialog messages to be answered, or its processing / error / not-supported state",
        "operationId": "openDialog",
        "parameters": [
          {
            "name": "jobKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domainStatusId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecDialogDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{jobKey}/institutions/{domainStatusId}/dialog/reply": {
      "post": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Send the answered dialog messages back to the institution (ReplyDialog); the answer is either the next dialog step or the completed dialog, after which the result can be fetched",
        "operationId": "replyDialog",
        "parameters": [
          {
            "name": "jobKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domainStatusId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SwissdecDialogReplyDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecDialogDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{jobKey}/institutions/{domainStatusId}/dialog/poll": {
      "post": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Poll an answered dialog message that the institution is still processing: sends the standard Polling DialogMessage (0000.0002.0001-001) with ReplyDialog; the answer is again Processing or the completed dialog",
        "operationId": "pollDialog",
        "parameters": [
          {
            "name": "jobKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domainStatusId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SwissdecDialogPollDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecDialogDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}": {
      "post": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Build and submit a salary declaration to Swissdec for the current organization and calendar year. testCase=true/false sends the declaration with/without <TestCase>; omitted = server default (see /dispatch-options); domains=AHV_AVS,UVG_LAA,\u2026 limits <ProcessByDistributor>=true to the listed domains (others false); omitted = organisation defaults",
        "operationId": "declare",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "testCase",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "substitute",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "domains",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AHV_AVS",
                  "BVG_LPP",
                  "UVG_LAA",
                  "UVGZ_LAAC",
                  "KTG_AMC",
                  "FAK_CAF",
                  "TAX",
                  "TAX_AT_SOURCE",
                  "TAX_CROSSBORDER",
                  "STATISTIC",
                  "UNEMPLOYMENT_CERTIFICATES"
                ]
              }
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalaryDeclarationDispatchDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}/{month}": {
      "post": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Build and submit the monthly declaration (Monatsmeldung) of one month: tax at source per canton and, with statistic=true, the BFS statistics. cantons=BE,TI declares only those cantons, the others of the month stay out of the document entirely; omitted = all cantons of the month; a monthly declaration is never substituted",
        "operationId": "declareMonthly",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "month",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ]
            }
          },
          {
            "name": "testCase",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "substitute",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "cantons",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "statistic",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalaryDeclarationDispatchDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}/{month}/ema": {
      "post": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Build and submit the EMA announcement of one month: the persons who entered, left or changed, to the AHV, FAK and BVG, without amounts. One per month; the AHV answers with the proof of insurance",
        "operationId": "declareEma",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "month",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ]
            }
          },
          {
            "name": "testCase",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalaryDeclarationDispatchDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}/validate": {
      "post": {
        "tags": [
          "swissdec-emulator-controller"
        ],
        "summary": "Build a salary declaration, validate it against the Swissdec ELMv5 schema, and save it to disk as XML for manual review (does not contact Swissdec)",
        "operationId": "validate",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalaryDeclarationValidationDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}/rectification": {
      "post": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Build and submit a rectification (Lohnausweisersatz) of a closed year: the certificates of the selected persons as the payroll computes them now, to the tax administration only, each naming the certificate it replaces (StandardRemark/Rectificate). originalDate = the date of the faulty certificates, needed unless a rectification of ours carried them; remark is added to field 15",
        "operationId": "declareRectification",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "language",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "EN",
                "FR",
                "DE",
                "IT",
                "UNDEFINED"
              ]
            }
          },
          {
            "name": "testCase",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SwissdecRectificationRequestDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalaryDeclarationDispatchDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}/prospective": {
      "post": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Build and submit the prospective annual declaration of a year (Jahresmeldung voraussichtlich): in January, the BVG code and the expected annual salary of every person insured in BVG, to the pension fund",
        "operationId": "declareProspective",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "testCase",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalaryDeclarationDispatchDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/organization-certificate/sign": {
      "post": {
        "tags": [
          "swissdec-organization-certificate-controller"
        ],
        "summary": "Sign and store the pending Swissdec UID certificate for the current organization",
        "operationId": "sign",
        "parameters": [
          {
            "name": "oneTimePassword",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecOrganizationCertificateDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/organization-certificate/renew": {
      "post": {
        "tags": [
          "swissdec-organization-certificate-controller"
        ],
        "summary": "Renew the current organization's Swissdec UID certificate",
        "operationId": "renew",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecOrganizationCertificateDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/organization-certificate/issue": {
      "post": {
        "tags": [
          "swissdec-organization-certificate-controller"
        ],
        "summary": "Register the current organization with Swissdec (SUA) and request a UID certificate",
        "operationId": "issue",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecOrganizationCertificateDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/organization-certificate/import": {
      "post": {
        "tags": [
          "swissdec-organization-certificate-controller"
        ],
        "summary": "Import a PKCS12 (.p12) UID certificate for the current organization",
        "operationId": "importCertificate",
        "parameters": [
          {
            "name": "password",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              },
              "encoding": {
                "file": {
                  "contentType": "application/octet-stream"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecOrganizationCertificateDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/month-total-declaration/{calendarYear}/{month}": {
      "post": {
        "tags": [
          "month-total-declaration-controller"
        ],
        "summary": "Build and submit a monthly AHV/FAK salary-sum declaration to Swissdec for the current organization",
        "operationId": "declare_1",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "month",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ]
            }
          },
          {
            "name": "testCase",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalaryDeclarationDispatchDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/line-mapping": {
      "get": {
        "tags": [
          "swissdec-line-mapping-controller"
        ],
        "summary": "Get the current organization's Swissdec payslip-line mapping",
        "operationId": "get_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecLineMappingDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "swissdec-line-mapping-controller"
        ],
        "summary": "Save the current organization's Swissdec payslip-line mapping",
        "operationId": "save",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SwissdecLineMappingDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecLineMappingDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/incidents": {
      "get": {
        "tags": [
          "swissdec-incident-controller"
        ],
        "summary": "List KLE incidents of the organization",
        "operationId": "list",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SwissdecIncidentDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "swissdec-incident-controller"
        ],
        "summary": "Create a KLE incident (draft; recipient details are prefilled from the payroll configuration when omitted)",
        "operationId": "create_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SwissdecIncidentDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecIncidentDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/incidents/{incidentId}/dialog/reply": {
      "post": {
        "tags": [
          "swissdec-incident-controller"
        ],
        "summary": "Answer the KLE dialog message of the incident (transmitted with an immediate synchronization)",
        "operationId": "replyDialog_1",
        "parameters": [
          {
            "name": "incidentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SwissdecDialogReplyDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecIncidentSyncResultDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/incidents/{incidentId}/declare": {
      "post": {
        "tags": [
          "swissdec-incident-controller"
        ],
        "summary": "Report the incident to its insurance (Swissdec DeclareIncident)",
        "operationId": "declare_2",
        "parameters": [
          {
            "name": "incidentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecIncidentDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/incidents/{incidentId}/attachments": {
      "post": {
        "tags": [
          "swissdec-incident-controller"
        ],
        "summary": "Attach a document to the incident (transmitted with the next synchronization)",
        "operationId": "addAttachment",
        "parameters": [
          {
            "name": "incidentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "contentType",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecIncidentDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/incidents/sync": {
      "post": {
        "tags": [
          "swissdec-incident-controller"
        ],
        "summary": "Synchronize all open incidents with their insurances (Swissdec SynchronizeIncident)",
        "operationId": "synchronize",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecIncidentSyncResultDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sub-orders/{subOrderId}/generate-sales-invoice": {
      "post": {
        "tags": [
          "sub-order-controller"
        ],
        "summary": "Generate sales invoice from sub-order",
        "description": "Generates a sales invoice for the specified sub-order.",
        "operationId": "generateSalesInvoices",
        "parameters": [
          {
            "name": "subOrderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesInvoiceUserValidatedView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sub-orders/{subOrderId}/generate-pro-forma": {
      "post": {
        "tags": [
          "sub-order-controller"
        ],
        "summary": "Generate pro-forma sales invoice from sub-order",
        "description": "Generates a pro-forma sales invoice for the specified sub-order.",
        "operationId": "generateProFormaSalesInvoice",
        "parameters": [
          {
            "name": "subOrderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "invoicingDate",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesInvoiceView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sub-orders/regenerate": {
      "post": {
        "tags": [
          "sub-order-controller"
        ],
        "summary": "Regenerate sub-orders",
        "description": "Regenerates sub-orders.",
        "operationId": "regenerateSubOrders",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sub-orders/generate-sales-invoices": {
      "post": {
        "tags": [
          "sub-order-controller"
        ],
        "summary": "Generate sales invoices from sub-orders",
        "description": "Generates sales invoices for the specified sub-orders.",
        "operationId": "generateSalesInvoices_1",
        "parameters": [
          {
            "name": "subOrderIds",
            "in": "query",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "invoicingDate",
            "in": "query",
            "description": "Invoicing date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2026-01-01T00:00:00.000Z"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sub-orders/fixprepayments": {
      "post": {
        "tags": [
          "sub-order-controller"
        ],
        "summary": "Fix unlinked pre-payments",
        "description": "Links unlinked pre-payments using the specified order reference and sales invoice number.",
        "operationId": "fixingUnlinkedPrepayments",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/stock-movement-line/batch": {
      "post": {
        "tags": [
          "stock-movement-line-controller"
        ],
        "summary": "Batch update stock movements",
        "description": "Updates multiple stock movements.",
        "operationId": "batchUpdate_12",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StockMovementLineRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{invoiceId}/send-by-email": {
      "post": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Send sales invoice to its client by email as PDF",
        "description": "Generates a PDF for the specified sales invoice and sends it to the client by email.",
        "operationId": "sendByEmail",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "documentTemplateId",
            "in": "query",
            "description": "Document template identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "example": 420018384
            }
          },
          {
            "name": "useLetterhead",
            "in": "query",
            "description": "Whether to use letterhead in generated document",
            "required": true,
            "schema": {
              "type": "boolean",
              "example": "false"
            }
          },
          {
            "name": "qr",
            "in": "query",
            "description": "Including QR code.<br><br>",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "timesheets",
            "in": "query",
            "description": "Including timesheets information.<br><br>",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{invoiceId}/delivery-note/send-by-email": {
      "post": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Send delivery note by email as PDF",
        "description": "Generates a delivery note PDF for the specified sales invoice and sends it by email.",
        "operationId": "sendDeliveryNoteByEmail",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "documentTemplateId",
            "in": "query",
            "description": "Document template identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "example": 420018384
            }
          },
          {
            "name": "useLetterhead",
            "in": "query",
            "description": "Whether to use letterhead in generated document",
            "required": true,
            "schema": {
              "type": "boolean",
              "example": "false"
            }
          },
          {
            "name": "entitiesIds",
            "in": "query",
            "description": "List of entity identifiers separated by comma.\nExample: 1384395,83020418,1384410\n",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1384395,83020418,1384410"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/workflow": {
      "post": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Add sales invoices to workflows",
        "description": "Adds multiple sales invoices to their respective workflows. Returns 400 if the provided IDs are invalid.",
        "operationId": "addToWorkflow_4",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/send-by-email": {
      "post": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Send sales invoices to clients by email as PDFs",
        "description": "Generates PDFs for sales invoices matching the specified filters and sends them to clients by email. Returns 204 if processing in background, 200 with results on success, or 400 if an error occurs.",
        "operationId": "sendInvoicesByEmail",
        "parameters": [
          {
            "name": "documentTemplateId",
            "in": "query",
            "description": "Document template identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "example": 420018384
            }
          },
          {
            "name": "useLetterhead",
            "in": "query",
            "description": "Whether to use letterhead in generated document",
            "required": true,
            "schema": {
              "type": "boolean",
              "example": "false"
            }
          },
          {
            "name": "entitiesIds",
            "in": "query",
            "description": "List of entity identifiers separated by comma.\nExample: 1384395,83020418,1384410\n",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1384395,83020418,1384410"
            }
          },
          {
            "name": "qr",
            "in": "query",
            "description": "Including QR code.<br><br>",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "timesheets",
            "in": "query",
            "description": "Including timesheets information.<br><br>",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/delivery-note/send-by-email": {
      "post": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Send delivery notes to clients by email as PDFs",
        "description": "Generates PDFs for delivery notes matching the specified filters and sends them to clients by email. Returns 204 if processing in background, 200 with results on success, or 400 if an error occurs.",
        "operationId": "sendDeliveryNotesByEmail",
        "parameters": [
          {
            "name": "documentTemplateId",
            "in": "query",
            "description": "Document template identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "example": 420018384
            }
          },
          {
            "name": "useLetterhead",
            "in": "query",
            "description": "Whether to use letterhead in generated document",
            "required": true,
            "schema": {
              "type": "boolean",
              "example": "false"
            }
          },
          {
            "name": "entitiesIds",
            "in": "query",
            "description": "List of entity identifiers separated by comma.\nExample: 1384395,83020418,1384410\n",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1384395,83020418,1384410"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/batch": {
      "post": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Batch update sales invoices",
        "description": "Updates multiple sales invoices. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_13",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SalesInvoiceRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/batch/validate": {
      "post": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Batch validate sales invoices",
        "description": "Validates multiple sales invoices based on the specified filters.",
        "operationId": "batchValidate",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "patch": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Batch validate sales invoices",
        "description": "Validates multiple sales invoices by IDs.",
        "operationId": "batchValidate_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/role/batch": {
      "post": {
        "tags": [
          "role-controller"
        ],
        "summary": "Modify batch of roles and super-roles",
        "operationId": "batchUpdate_14",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/RoleWithPermissions"
                    },
                    {
                      "$ref": "#/components/schemas/SuperRole"
                    }
                  ]
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/reconciliation-lines/upload": {
      "post": {
        "tags": [
          "reconciliation-controller"
        ],
        "summary": "Upload reconciliation file",
        "description": "Uploads a bank reconciliation file and returns the number of generated and matched entities.",
        "operationId": "uploadFile",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              },
              "encoding": {
                "file": {
                  "contentType": "application/octet-stream"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReconciliationUploadResult"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/reconciliation-lines/reconcile": {
      "post": {
        "tags": [
          "reconciliation-controller"
        ],
        "summary": "Reconcile lines",
        "description": "Performs reconciliation for the specified lines and returns the reconciliation result.",
        "operationId": "reconcile",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconcileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReconcileResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/reconciliation-lines/batch": {
      "post": {
        "tags": [
          "reconciliation-controller"
        ],
        "summary": "Batch update reconciliation lines",
        "description": "Updates multiple reconciliation lines. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_15",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReconciliationLineRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/qrcode/instructions/{contactId}": {
      "post": {
        "tags": [
          "qr-code-controller"
        ],
        "summary": "Send QR code instructions",
        "description": "Sends QR code setup instructions to the specified contact.",
        "operationId": "sendQrCodeInstructions",
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "description": "Contact ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/workflow": {
      "post": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Add purchase invoices to workflows",
        "description": "Adds multiple purchase invoices to their respective workflows. Returns 400 if the provided IDs are invalid.",
        "operationId": "addToWorkflow_5",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/batch": {
      "post": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Batch update purchase invoices",
        "description": "Updates multiple purchase invoices. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_16",
        "parameters": [
          {
            "name": "suppressDuplicateWarning",
            "in": "query",
            "description": "Whether to suppress duplicate invoice warnings",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PurchaseInvoiceRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/batch/validate": {
      "post": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Batch validate purchase invoices",
        "description": "Validates multiple purchase invoices based on the specified filters.",
        "operationId": "batchValidate_2",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "patch": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Batch validate purchase invoices",
        "description": "Validates multiple purchase invoices by IDs.",
        "operationId": "batchValidate_3",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice-scan/upload": {
      "post": {
        "tags": [
          "purchase-invoice-scan-controller"
        ],
        "summary": "Get purchase invoice scan recognized data",
        "description": "Returns the recognized data extracted from the specified purchase invoice scan.",
        "operationId": "upload",
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              },
              "encoding": {
                "file": {
                  "contentType": "application/octet-stream"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payslip/batch": {
      "post": {
        "tags": [
          "payslip-controller"
        ],
        "summary": "Batch update salary configs",
        "description": "Updates multiple salary configurations. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_17",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PayslipRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/{id}/send-by-email": {
      "post": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Send payslip by email",
        "description": "Sends the specified payslip to the employee as a PDF via email. Returns 200 on success, 404 if not found, or 400 if an error occurs.",
        "operationId": "sendByEmail_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/send-by-email": {
      "post": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Send payslips by email",
        "description": "Sends multiple payslips to employees as PDFs via email based on the specified filters. Returns 204 if processing in background, 200 with results on success, or 400 if an error occurs.",
        "operationId": "sendPayrollsByEmail",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/generate": {
      "post": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Generate payrolls",
        "description": "Generates payrolls for the authenticated user's organization based on the provided information and returns the generated payrolls.",
        "operationId": "generatePayrolls",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateSalariesInfoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Payroll"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/generate/{calendarYear}": {
      "post": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Generate payrolls for a full year",
        "description": "Generates payrolls month by month for every employee of the authenticated user's organization that has a salary configuration for the given year. Months where an employee already has a payroll or is not employed are skipped. Returns a per-month summary.",
        "operationId": "generatePayrollsForYear",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayrollMonthGenerationResult"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/batch": {
      "post": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Batch update payrolls",
        "description": "Updates multiple payrolls. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_18",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PayrollRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/batch/payments": {
      "post": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Batch update payroll payments",
        "description": "Updates multiple payroll payments. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdatePayrollsPayments",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PayrollPaymentRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payable/payment-dates": {
      "post": {
        "tags": [
          "payable-controller"
        ],
        "summary": "Update payment dates for batch of payables",
        "description": "Updates payment dates for the specified batch of payables.",
        "operationId": "updatePaymentDates",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Payable"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayableView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payable/pain001": {
      "post": {
        "tags": [
          "payable-controller"
        ],
        "summary": "Generate pain001 file(s)",
        "description": "Return value: if isConfidential is true and paymentsForGeneration are of several modules -  [{fileName, xmlAsBytes}, {fileName, xmlAsBytes}] (where one of the files is confidential on the bank statement), otherwise xml file as byte[]",
        "operationId": "generate",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Pain001GenerationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get organizations",
        "description": "Returns a list of organizations based on the specified filters.",
        "operationId": "getOrganizations",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Organization name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Organization name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "country",
            "in": "query",
            "description": "Country filter (country code in the ISO 3166-1 alpha-2 standard)",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Country filter (country code in the ISO 3166-1 alpha-2 standard)",
              "example": "CH"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "ISO 4217 currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "ISO 4217 currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Whether the organization is archived",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the organization is archived",
              "example": false
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "End date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "managingOrganizationId",
            "in": "query",
            "description": "Managing (fiduciary) organization ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Managing (fiduciary) organization ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Create organization",
        "description": "Creates a new organization based on another organization or template. Returns 200 on success, or 400 if the creation is not valid.",
        "operationId": "create_2",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/NewOrganizationRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/switch/{id}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get accessible organizations by contact ID",
        "description": "Returns a list of organizations accessible to the specified contact for switching.",
        "operationId": "getOrganizationsForSwitchListByContactId",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {}
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Switch current organization",
        "description": "Switches the authenticated user's currently selected organization to the specified one.",
        "operationId": "switchOrganizations",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/batch": {
      "post": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Batch update organizations",
        "description": "Updates multiple organizations. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_19",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{orderId}/send-by-email": {
      "post": {
        "tags": [
          "order-controller"
        ],
        "summary": "Send order by email",
        "description": "Generates a PDF document for the specified order and sends it to the associated contact by email.",
        "operationId": "sendByEmail_2",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{orderId}/delivery-note/send-by-email": {
      "post": {
        "tags": [
          "order-controller"
        ],
        "summary": "Send delivery note by email as PDF",
        "description": "Sends multiple delivery notes to clients as PDFs via email based on the specified filters and the specified order.",
        "operationId": "sendDeliveryNoteByEmail_1",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/update-prices": {
      "post": {
        "tags": [
          "order-controller"
        ],
        "summary": "Update order prices",
        "description": "Updates order item prices according to contact-specific article discounts and returns the updated order.",
        "operationId": "updatePrices",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/pre-pay": {
      "post": {
        "tags": [
          "order-controller"
        ],
        "summary": "Pre-pay order",
        "description": "Creates a prepayment for the specified order.",
        "operationId": "prePay",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrePayment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/partial-pay": {
      "post": {
        "tags": [
          "order-controller"
        ],
        "summary": "Partially pay order",
        "description": "Creates a partial payment for the specified order and returns the updated order.",
        "operationId": "partialPay",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartialPayment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/workflow": {
      "post": {
        "tags": [
          "order-controller"
        ],
        "summary": "Add orders to workflows",
        "description": "Assigns multiple orders to workflows using order-to-workflow mappings.\n\nPass order-to-workflow mappings as query parameters.\n\nExample:\n/workflow?1=100&2=200&3=300\n\nwhere each query parameter name is an order ID and its value is the corresponding workflow ID.\n",
        "operationId": "addToWorkflow_6",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/send-by-email": {
      "post": {
        "tags": [
          "order-controller"
        ],
        "summary": "Send orders by email",
        "description": "Sends multiple orders to clients as PDFs via email based on the specified filters. Returns 204 if processing in background, 200 with results on success, or 400 if an error occurs.",
        "operationId": "sendInvoicesByEmail_1",
        "parameters": [
          {
            "name": "documentTemplateId",
            "in": "query",
            "description": "Document template identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "example": 420018384
            }
          },
          {
            "name": "useLetterhead",
            "in": "query",
            "description": "Whether to use letterhead in generated document",
            "required": true,
            "schema": {
              "type": "boolean",
              "example": "false"
            }
          },
          {
            "name": "entitiesIds",
            "in": "query",
            "description": "List of entity identifiers separated by comma.\nExample: 1384395,83020418,1384410\n",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1384395,83020418,1384410"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/delivery-note/send-by-email": {
      "post": {
        "tags": [
          "order-controller"
        ],
        "summary": "Send delivery note by email as PDF",
        "description": "Sends multiple delivery notes to clients as PDFs via email based on the specified filters. Returns 204 if processing in background, 200 with results on success, or 400 if an error occurs.",
        "operationId": "sendDeliveryNotesByEmail_1",
        "parameters": [
          {
            "name": "documentTemplateId",
            "in": "query",
            "description": "Document template identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "example": 420018384
            }
          },
          {
            "name": "useLetterhead",
            "in": "query",
            "description": "Whether to use letterhead in generated document",
            "required": true,
            "schema": {
              "type": "boolean",
              "example": "false"
            }
          },
          {
            "name": "entitiesIds",
            "in": "query",
            "description": "List of entity identifiers separated by comma.\nExample: 1384395,83020418,1384410\n",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1384395,83020418,1384410"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/create-status-history": {
      "post": {
        "tags": [
          "order-controller"
        ],
        "summary": "Create order status history",
        "description": "Creates status history records for orders.",
        "operationId": "createStatusHistory",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/batch": {
      "post": {
        "tags": [
          "order-controller"
        ],
        "summary": "Modify batch of orders",
        "description": "Updates multiple orders in a single request.",
        "operationId": "batchUpdate_20",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/batch/validate": {
      "post": {
        "tags": [
          "order-controller"
        ],
        "summary": "Validate batch of orders",
        "description": "Marks multiple orders as validated based on the specified filters.",
        "operationId": "batchValidate_4",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Internal order number / code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal order number / code filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Order date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Order description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order description filter",
              "example": "Full redesign of the company website"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Client contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Order status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status filter",
              "enum": [
                "OFFERED",
                "OFFERED_SENT",
                "CONFIRMED",
                "CONFIRMED_SENT",
                "BILLABLE",
                "FINISHED",
                "CANCELLED"
              ],
              "example": "CONFIRMED"
            }
          },
          {
            "name": "isExpensesEnabled",
            "in": "query",
            "description": "Whether expenses are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether expenses are enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderAmount",
            "in": "query",
            "description": "Order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "creatorContactId",
            "in": "query",
            "description": "Whether the order was created by, or has, the current user's contact ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Whether the order was created by, or has, the current user's contact ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the order has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order has warnings",
              "example": false
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the order is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is validated",
              "example": true
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "isInvoiceGenerated",
            "in": "query",
            "description": "Whether the order is currently generating an invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is currently generating an invoice",
              "example": false
            }
          },
          {
            "name": "isPeriodic",
            "in": "query",
            "description": "Whether the order is periodic (recurring)",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is periodic (recurring)",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the order is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "parentOrderId",
            "in": "query",
            "description": "Parent order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Parent order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "vatRateId",
            "in": "query",
            "description": "VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "requestedPaymentTerms",
            "in": "query",
            "description": "Requested payment terms in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Requested payment terms in days filter",
              "example": 30
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "minimumAmountToInvoice",
            "in": "query",
            "description": "Minimum invoiceable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Minimum invoiceable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "ourContactName",
            "in": "query",
            "description": "Our contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "yourContactName",
            "in": "query",
            "description": "Client's internal contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client's internal contact name filter",
              "example": "Jane Smith"
            }
          },
          {
            "name": "periodicityStartDate",
            "in": "query",
            "description": "Recurring order periodicity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Recurring order periodicity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "isDisbursementFeeEnabled",
            "in": "query",
            "description": "Whether disbursement fee is enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether disbursement fee is enabled for the order",
              "example": false
            }
          },
          {
            "name": "isTimesheetsEnabled",
            "in": "query",
            "description": "Whether timesheets are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether timesheets are enabled for the order",
              "example": false
            }
          },
          {
            "name": "timesheetsAccountId",
            "in": "query",
            "description": "Timesheets chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timesheets chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "fixedAmount",
            "in": "query",
            "description": "Fixed amount filter (for TIMESHEET_FIXED orders)Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fixed amount filter (for TIMESHEET_FIXED orders)Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "orderArticleId",
            "in": "query",
            "description": "Order article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderArticleUnitPrice",
            "in": "query",
            "description": "Order article unit price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article unit price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "orderArticleAmount",
            "in": "query",
            "description": "Order article quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10.5"
            }
          },
          {
            "name": "orderArticleDiscount",
            "in": "query",
            "description": "Order article discount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article discount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5.0"
            }
          },
          {
            "name": "orderArticleTotalNet",
            "in": "query",
            "description": "Order article net total filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article net total filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "orderArticleStatus",
            "in": "query",
            "description": "Order article status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article status filter",
              "enum": [
                "SHIPPED",
                "PARTIALLY_SHIPPED",
                "NOT_SHIPPED",
                "SERVICE"
              ],
              "example": "SERVICE"
            }
          },
          {
            "name": "historyStatus",
            "in": "query",
            "description": "Order status history entry status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status history entry status filter",
              "enum": [
                "OFFERED",
                "OFFERED_SENT",
                "CONFIRMED",
                "CONFIRMED_SENT",
                "BILLABLE",
                "FINISHED",
                "CANCELLED"
              ],
              "example": "CONFIRMED"
            }
          },
          {
            "name": "historyDate",
            "in": "query",
            "description": "Order status history entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status history entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "addressName",
            "in": "query",
            "description": "Delivery address name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address name filter",
              "example": "Main Office"
            }
          },
          {
            "name": "addressClientName",
            "in": "query",
            "description": "Delivery address client name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address client name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Delivery address street filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address street filter",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Delivery address P.O. box / street line 2 filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address P.O. box / street line 2 filter",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressZipCode",
            "in": "query",
            "description": "Delivery address postal code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address postal code filter",
              "example": "1200"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Delivery address city filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address city filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressCountryCode",
            "in": "query",
            "description": "Delivery address ISO 3166-1 alpha-2 country code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address ISO 3166-1 alpha-2 country code filter",
              "example": "CH"
            }
          },
          {
            "name": "addressRegionCode",
            "in": "query",
            "description": "Delivery address region code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address region code filter",
              "example": "GE"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Delivery address 'to the attention of' filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address 'to the attention of' filter",
              "example": "John Doe"
            }
          },
          {
            "name": "yourReference",
            "in": "query",
            "description": "Client's reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client's reference filter",
              "example": "PO-2026-100"
            }
          },
          {
            "name": "orderValidity",
            "in": "query",
            "description": "Order validity in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Order validity in days filter",
              "example": 30
            }
          },
          {
            "name": "paymentAccountId",
            "in": "query",
            "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasProformaInvoice",
            "in": "query",
            "description": "Whether the order has a proforma invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order has a proforma invoice",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "patch": {
        "tags": [
          "order-controller"
        ],
        "summary": "Validate batch of orders",
        "description": "Marks multiple orders as validated.",
        "operationId": "batchValidate_5",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/myaccount/pdf-password": {
      "post": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Change salary slip PDF password",
        "description": "Changes the PDF password for salary slips of the authenticated user.",
        "operationId": "changeSalarySlipPdfPasswordForStaff",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/myaccount/password": {
      "post": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Change my password",
        "description": "Changes the authenticated user's password. Returns 200 on success, or throws a validation exception if the update is not valid.",
        "operationId": "changePassword",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordMyAccount"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-timesheet": {
      "post": {
        "tags": [
          "my-timesheet-controller"
        ],
        "summary": "Update my timesheet",
        "description": "Updates a time entry in the authenticated user's timesheet.",
        "operationId": "update_2",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeEntry"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-timesheet/{id}/stop": {
      "post": {
        "tags": [
          "my-timesheet-controller"
        ],
        "summary": "Stop timesheet timer by ID",
        "description": "Stops the timer for the specified timesheet entry.",
        "operationId": "stopTimer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-timesheet/{id}/start": {
      "post": {
        "tags": [
          "my-timesheet-controller"
        ],
        "summary": "Start timesheet timer by ID",
        "description": "Starts the timer for the specified timesheet entry.",
        "operationId": "startTimer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-timesheet/submit": {
      "post": {
        "tags": [
          "my-timesheet-controller"
        ],
        "summary": "Submit timesheets for approval",
        "description": "Submits the authenticated user's timesheets for the specified period for approval.",
        "operationId": "submitForApproval",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/submit-for-approval": {
      "post": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Submit expenses for approval by filter",
        "description": "Submits expenses matching the specified filters for approval.",
        "operationId": "submitForApproval_1",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/generate-expense-invoice": {
      "post": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Generate expense invoice by filter",
        "description": "Generates expense invoices for expenses matching the specified filters.",
        "operationId": "generateExpenseInvoice",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/batch": {
      "post": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Batch update expenses",
        "description": "Updates multiple expenses. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_21",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExpenseRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/batch/submit-for-approval": {
      "post": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Submit expenses for approval",
        "description": "Submits the specified expenses for approval.",
        "operationId": "submitForApproval_2",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/batch/generate-expense-invoice": {
      "post": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Generate expense invoices by expense IDs",
        "description": "Generates expense invoices for the specified expenses.",
        "operationId": "generateExpenseInvoiceBatch",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/mail-server/test-connection": {
      "post": {
        "tags": [
          "mail-server-controller"
        ],
        "summary": "Test mail server connection",
        "description": "Tests the mail server configuration (basic auth or OAuth2). Returns 200 if the connection is successful, or 400 if it fails.",
        "operationId": "testMailServerConnection",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MailServerConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/mail-server/oauth2/revoke/{mailServerConfigId}": {
      "post": {
        "tags": [
          "mail-server-controller"
        ],
        "summary": "Revoke OAuth2 tokens",
        "description": "Revokes OAuth2 tokens for the specified mail server configuration. Returns 200 on success, or 400 if the revocation fails.",
        "operationId": "revokeOAuth",
        "parameters": [
          {
            "name": "mailServerConfigId",
            "in": "path",
            "description": "Mail server configuration ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/mail-server/oauth2/consent-url": {
      "post": {
        "tags": [
          "mail-server-controller"
        ],
        "summary": "Get OAuth2 consent URL",
        "description": "Returns the OAuth2 provider consent URL for mail account authorization.",
        "operationId": "getOAuthConsentUrl",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OAuthInitRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OAuthConsentUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/mail-server/oauth2/callback": {
      "post": {
        "tags": [
          "mail-server-controller"
        ],
        "summary": "Complete OAuth2 setup",
        "description": "Exchanges the authorization code for tokens to complete the OAuth2 mail account setup. Returns 200 on success, or 400 if the exchange fails.",
        "operationId": "handleOAuthCallback",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OAuthCallbackRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/late-notice/send-by-email": {
      "post": {
        "tags": [
          "late-notice-controller"
        ],
        "summary": "Send late notices to its client by email as PDF",
        "description": "Generates late notice PDFs and sends them by email. Exactly one of the following parameters must be provided: <code>clientContactId</code> or <code>salesPaymentId</code>. These parameters are mutually exclusive.<br>Answers with <code>{\"sent\": true, \"email\": \"...\"}</code> on success, or <code>{\"sent\": false, \"email\": null}</code> when the client has no email address - a valid answer, not an error.",
        "operationId": "sendByEmail_3",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "REMINDER",
                "STATEMENT"
              ]
            }
          },
          {
            "name": "clientContactId",
            "in": "query",
            "description": "Client contact ID. Required when <code>salesPaymentId</code> is not provided. Cannot be used together with <code>salesPaymentId</code>.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "salesPaymentId",
            "in": "query",
            "description": "Sales payment ID. Required when <code>clientContactId</code> is not provided. Cannot be used together with <code>clientContactId</code>.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "documentTemplateId",
            "in": "query",
            "description": "Document template ID for generating late notice pdf file",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "example": 420018384
            }
          },
          {
            "name": "useLetterhead",
            "in": "query",
            "description": "Whether to use letterhead in generated document",
            "required": true,
            "schema": {
              "type": "boolean",
              "example": "false"
            }
          },
          {
            "name": "increaseLateNoticeNumber",
            "in": "query",
            "description": "Not used when <code>Type is set to STATEMENT</code> and <code>clientContactId</code> is provided.<br><br>",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "qr",
            "in": "query",
            "description": "This parameter is applicable only when <code>Type</code> is set to <code>REMINDER</code> and <code>clientContactId</code> is provided.<br><br>",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LateNoticeSendResult"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/journal/import": {
      "post": {
        "tags": [
          "journal-controller"
        ],
        "summary": "Import journal entries",
        "description": "Imports journal entries from an uploaded file. Returns the list of imported entries.",
        "operationId": "importContent",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/JournalImportFileDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JournalEntry"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/journal/batch": {
      "post": {
        "tags": [
          "journal-controller"
        ],
        "summary": "Batch update journal entries",
        "description": "Updates multiple journal entries.",
        "operationId": "batchUpdate_22",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/JournalEntryRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/invoice-scan-recognizer/recognize": {
      "post": {
        "tags": [
          "invoice-scan-recognizer-controller"
        ],
        "summary": "Recognize multiple documents",
        "description": "Starts the document recognition process for a batch of documents.",
        "operationId": "recognize",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/invoice-scan-recognizer/recognize/{documentFileId}": {
      "post": {
        "tags": [
          "invoice-scan-recognizer-controller"
        ],
        "summary": "Recognize a document by ID",
        "description": "Starts the document recognition process for the specified document. The recognition may be processed asynchronously.",
        "operationId": "recognize_1",
        "parameters": [
          {
            "name": "documentFileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/global/role/batch": {
      "post": {
        "tags": [
          "global-role-controller"
        ],
        "summary": "Batch update roles and super roles",
        "description": "Updates multiple roles and super roles",
        "operationId": "batchUpdate_23",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/RoleRequest"
                    },
                    {
                      "$ref": "#/components/schemas/SuperRoleRequest"
                    }
                  ]
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/reject": {
      "post": {
        "tags": [
          "expenses-controller"
        ],
        "summary": "Reject expenses by filter",
        "description": "Rejects expenses matching the specified filters.",
        "operationId": "reject_2",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "Employee name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/generate-expense-invoice": {
      "post": {
        "tags": [
          "expenses-controller"
        ],
        "summary": "Generate expense invoice by filter",
        "description": "Generates expense invoices for expenses matching the specified filters.",
        "operationId": "generateExpenseInvoice_1",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "Employee name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft/upload": {
      "post": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Upload expense ticket",
        "description": "Uploads a single expense ticket file and creates a draft expense from its contents.",
        "operationId": "uploadFile_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              },
              "encoding": {
                "file": {
                  "contentType": "application/octet-stream"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft/draft-to-final": {
      "post": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Convert draft expenses to final expenses",
        "description": "Converts the specified draft expenses into final expenses.",
        "operationId": "modifyToFinal",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft/batch": {
      "post": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Batch update expenses drafts",
        "description": "Updates multiple expenses drafts. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_24",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExpenseDraftRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/batch": {
      "post": {
        "tags": [
          "expenses-controller"
        ],
        "summary": "Batch update expenses",
        "description": "Updates multiple expenses. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_25",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExpenseRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/batch/reject": {
      "post": {
        "tags": [
          "expenses-controller"
        ],
        "summary": "Reject expenses",
        "description": "Rejects the specified expenses.",
        "operationId": "reject_3",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/batch/approve": {
      "post": {
        "tags": [
          "expenses-controller"
        ],
        "summary": "Approve expenses",
        "description": "Approves the specified expenses.",
        "operationId": "approve_2",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/approve": {
      "post": {
        "tags": [
          "expenses-controller"
        ],
        "summary": "Approve expenses by filter",
        "description": "Approves expenses matching the specified filters.",
        "operationId": "approve_3",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "Employee name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/upload": {
      "post": {
        "tags": [
          "document-controller"
        ],
        "summary": "Upload document file",
        "description": "Uploads a document file. Supports optional conversion to image and marking as company logo or organization-specific. Returns 200 with the result on success, or 400 if the upload is not valid.",
        "operationId": "uploadFile_2",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "Document file to upload"
                  },
                  "convertToImage": {
                    "type": "boolean",
                    "description": "Whether to convert the uploaded PDF to an image"
                  },
                  "isCompanyLogo": {
                    "type": "boolean",
                    "description": "Whether the uploaded file is a company logo"
                  }
                },
                "required": [
                  "file"
                ]
              },
              "encoding": {
                "file": {
                  "contentType": "application/octet-stream"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/upload-archive": {
      "post": {
        "tags": [
          "document-controller"
        ],
        "summary": "Upload document files archive",
        "description": "Uploads an archive containing multiple document files. Returns 200 with the result on success, or 400 if the upload is not valid.",
        "operationId": "uploadArchive",
        "parameters": [
          {
            "name": "isPdfTemplate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              },
              "encoding": {
                "file": {
                  "contentType": "application/octet-stream"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document-scan/{id}/assign-to-pis": {
      "post": {
        "tags": [
          "document-scan-controller"
        ],
        "summary": "Assign document scan to purchase invoice scan",
        "description": "Assigns the specified document scan to a purchase invoice scan.",
        "operationId": "assignToPurchaseInvoiceScan",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Document scan ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/department/tree": {
      "get": {
        "tags": [
          "department-controller"
        ],
        "summary": "Get departments tree",
        "description": "Returns a list of departments organized in a tree structure for the authenticated user's organization.",
        "operationId": "getDepartmentTree",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Department"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "department-controller"
        ],
        "summary": "Update departments",
        "description": "Updates the departments tree.",
        "operationId": "updateDepartments",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Department"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/currency-exchange/apply": {
      "get": {
        "tags": [
          "currency-exchange-controller"
        ],
        "summary": "Apply exchange rate",
        "description": "Converts the specified amount from one currency to another using the exchange rate for the specified date.",
        "operationId": "applyRate",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Source currency ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Target currency ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "description": "Amount to convert",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 123.45
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date for the exchange rate",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "currency-exchange-controller"
        ],
        "summary": "Apply exchange rates",
        "description": "Converts multiple amounts based on the specified currency conversion combinations and returns the results.",
        "operationId": "convert",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CurrencyConversion"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyConversion"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{id}/modify/main-user": {
      "post": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Modify main user",
        "description": "Sets or removes the main user flag for the specified contact.",
        "operationId": "batchUpdate_26",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MainUser"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{contactId}/send-pdf-password": {
      "post": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Resend payslip PDF password",
        "description": "Resends the password for the employee's payslip PDF files.",
        "operationId": "resendPdfPasswordForStaff",
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{contactId}/pdf-password": {
      "post": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Change payslip PDF password",
        "description": "Generates and assigns a new password for the employee's payslip PDF files.",
        "operationId": "changePdfPasswordForStaff",
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/upload-vCard": {
      "post": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Upload vCard files",
        "description": "Uploads one or more vCard (.vcf) files and imports the contained contacts into the current organization.",
        "operationId": "uploadVCard",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              },
              "encoding": {
                "file": {
                  "contentType": "application/octet-stream"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/password": {
      "post": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Change user password",
        "description": "Changes the password for the specified user.",
        "operationId": "changePasswordForContact",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordForContact"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/merging": {
      "post": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Merge contacts",
        "description": "Merges the source contact into the target contact and deletes the source contact.",
        "operationId": "postMergeContact",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MergeClientRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/batch": {
      "post": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Batch update contacts",
        "description": "Updates multiple contacts. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_27",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PersonContactRequest"
                    },
                    {
                      "$ref": "#/components/schemas/OrganizationContactRequest"
                    }
                  ]
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/consolidated-organization": {
      "post": {
        "tags": [
          "consolidated-organization-controller"
        ],
        "summary": "Create consolidated organization",
        "description": "Creates a new consolidated organization. Returns 200 on success, or 400 if the creation is not valid.",
        "operationId": "create_3",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewConsolidatedOrganization"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/budget/upload": {
      "post": {
        "tags": [
          "budget-controller"
        ],
        "summary": "Import budget",
        "description": "Imports budget data from an uploaded file.",
        "operationId": "importBudget",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/BudgetImportFileDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/billing/pay": {
      "post": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Process payment",
        "description": "Processes a payment for the specified amount. Returns 200 on success, or 400 if the payment fails or an error occurs.",
        "operationId": "pay",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/billing/pay-result": {
      "post": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Process payment result",
        "description": "Processes the result of a payment by payment ID. Returns 200 for successful, waiting, or user-cancelled statuses, or 400 if processing fails.",
        "operationId": "processPaymentResult",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentResult"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/billing/billing-plan": {
      "get": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Get billing plan",
        "description": "Returns a list of billing plan entries for the authenticated user.",
        "operationId": "getBillingPlan",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BillingPlanView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Batch update billing plans",
        "description": "Updates multiple billing plans.",
        "operationId": "batch",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BillingPlan"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/billing/adjust-and-pay": {
      "post": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Batch update billing plans and process payment",
        "description": "Updates multiple billing plans and processes a payment in a single request. Returns 200 on success, or 400 if validation fails or an error occurs.",
        "operationId": "adjustUnitsAndPay",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdjustUnitsPaymentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/attachment/upload-avatar/{contactId}": {
      "post": {
        "tags": [
          "attachment-controller"
        ],
        "summary": "Upload avatar",
        "description": "Uploads a new avatar for the specified contact and returns the created attachment. Callers may always set their own avatar; setting another user's avatar requires access to their organization and CONTACTS_USER/MODIFY.",
        "operationId": "upload_1",
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "note",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              },
              "encoding": {
                "file": {
                  "contentType": "application/octet-stream"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentEntity"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/batch": {
      "post": {
        "tags": [
          "article-controller"
        ],
        "summary": "Batch update articles",
        "description": "Modifies batch of articles",
        "operationId": "articleBatchUpdate",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ArticleRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/allocations/batch": {
      "post": {
        "tags": [
          "allocation-controller"
        ],
        "summary": "Batch update allocation rules",
        "description": "Modifies batch of allocation rules",
        "operationId": "batchUpdate_28",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AllocationRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/batch": {
      "post": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Batch update accounting periods",
        "description": "Updates multiple accounting periods. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "batchUpdate_29",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AccountingPeriodRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{invoiceId}/payment/{paymentId}/value-date": {
      "patch": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Update sales invoice payment value date",
        "description": "Updates the value date for the specified sales invoice payment. Returns 200 on success, or 400 if the update is not valid.",
        "operationId": "updateValueDate",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{invoiceId}/payment/{paymentId}/requested-date": {
      "patch": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Update sales invoice payment requested date",
        "description": "Updates the requested date for the specified sales invoice payment. Returns 200 on success, or 400 if the update is not valid.",
        "operationId": "updateRequestedDate",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{invoiceId}/payment/{paymentId}/payment-method": {
      "patch": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Update sales invoice payment method",
        "description": "Updates the payment method for the specified sales invoice payment.",
        "operationId": "updatePaymentMethod",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChartOfAccountOnlyIdRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{id}/validate": {
      "patch": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Validate sales invoice by ID",
        "description": "Validates the specified sales invoice.",
        "operationId": "validate_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{id}/invalidate": {
      "patch": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Invalidate sales invoice by ID",
        "description": "Invalidates the specified sales invoice.",
        "operationId": "invalidate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{id}/convert-pro-forma": {
      "patch": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Convert pro-forma invoice to regular invoice",
        "description": "Converts the specified pro-forma invoice into a regular sales invoice.",
        "operationId": "convertProforma",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/{invoiceId}/payment/{paymentId}/value-date": {
      "patch": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Update purchase invoice payment value date",
        "description": "Updates the value date for the specified purchase invoice payment. Returns 200 on success, or 400 if the update is not valid.",
        "operationId": "updateValueDate_1",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/{invoiceId}/payment/{paymentId}/requested-date": {
      "patch": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Update purchase invoice payment requested date",
        "description": "Updates the requested date for the specified purchase invoice payment. Returns 200 on success, or 400 if the update is not valid.",
        "operationId": "updateRequestedDate_1",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/{invoiceId}/payment/{paymentId}/payment-method": {
      "patch": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Update purchase invoice payment method",
        "description": "Updates the payment method for the specified purchase invoice payment.",
        "operationId": "updatePaymentMethod_1",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChartOfAccountOnlyIdRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/{id}/validate": {
      "patch": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Validate purchase invoice by ID",
        "description": "Validates the specified purchase invoice.",
        "operationId": "validate_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/{id}/refused": {
      "patch": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Refuse purchase invoice by ID",
        "description": "Marks the specified purchase invoice as refused with the provided reason. Returns 400 if the reason is missing.",
        "operationId": "refused",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/{id}/invalidate": {
      "patch": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Invalidate purchase invoice by ID",
        "description": "Invalidates the specified purchase invoice.",
        "operationId": "invalidate_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice-scan/{id}/validate": {
      "patch": {
        "tags": [
          "purchase-invoice-scan-controller"
        ],
        "summary": "Validate purchase invoice scan",
        "description": "Marks the specified purchase invoice scan as validated.",
        "operationId": "validate_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice-scan/{id}/invalidate": {
      "patch": {
        "tags": [
          "purchase-invoice-scan-controller"
        ],
        "summary": "Invalidate purchase invoice scan",
        "description": "Marks the specified purchase invoice scan as not validated.",
        "operationId": "invalidate_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/{invoiceId}/payment/{paymentId}/value-date": {
      "patch": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Update payroll payment value date",
        "description": "Updates the value date for the specified payroll payment. Returns 200 on success, or 400 if the update is not valid.",
        "operationId": "updateValueDate_2",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Payments"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/update": {
      "patch": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Update payrolls",
        "description": "Updates multiple payrolls based on the specified filters. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "updatePayrolls",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/update/{id}": {
      "patch": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Update payroll by ID",
        "description": "Updates the specified payroll. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "updatePayroll",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/adjust": {
      "patch": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Generate payroll adjustments",
        "description": "Generates adjustment lines for payrolls based on the specified filters. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "adjust",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/adjust/{id}": {
      "patch": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Generate payroll adjustment by ID",
        "description": "Generates an adjustment line for the specified payroll. Returns 200 on success, or 400 if any entry fails validation.",
        "operationId": "adjustById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/accounting/payment": {
      "patch": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Update payrolls payment accounting",
        "description": "Updates payment accounting for multiple payrolls based on the specified filters.",
        "operationId": "updatePaymentAccounting",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/accounting/payment/{id}": {
      "patch": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Update payroll payment accounting by ID",
        "description": "Updates payment accounting for the specified payroll.",
        "operationId": "updatePaymentAccounting_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/accounting/emission": {
      "patch": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Update payrolls emission accounting",
        "description": "Updates emission accounting for multiple payrolls based on the specified filters.",
        "operationId": "updateEmissionAccounting",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/accounting/emission/{payrollId}": {
      "patch": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Update payroll emission accounting by ID",
        "description": "Updates emission accounting for the specified payroll.",
        "operationId": "updateEmissionAccounting_1",
        "parameters": [
          {
            "name": "payrollId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payment/batch": {
      "patch": {
        "tags": [
          "payment-controller"
        ],
        "summary": "Batch update payments",
        "description": "Updates multiple payments. Returns 200 on success, or 400 if the update is not valid.",
        "operationId": "batchUpdate_30",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/validate": {
      "patch": {
        "tags": [
          "order-controller"
        ],
        "summary": "Validate order",
        "description": "Marks the specified order as validated.",
        "operationId": "validate_4",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/invalidate": {
      "patch": {
        "tags": [
          "order-controller"
        ],
        "summary": "Invalidate order",
        "description": "Removes validation status from the specified order.",
        "operationId": "invalidate_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/confirmed": {
      "patch": {
        "tags": [
          "order-controller"
        ],
        "summary": "Set order status to confirmed",
        "description": "Changes the status of the specified order to confirmed.",
        "operationId": "setConfirmed",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponseItem"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/billable": {
      "patch": {
        "tags": [
          "order-controller"
        ],
        "summary": "Set order status to billable",
        "description": "Changes the status of the specified order to billable.",
        "operationId": "setBillable",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdateResponseItem"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/journal/line": {
      "patch": {
        "tags": [
          "journal-controller"
        ],
        "summary": "Update journal line exchange rates",
        "description": "Updates exchange rates for the specified journal line and returns the updated entry.",
        "operationId": "updateWithExchangeRate",
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "description": "Date for exchange rate calculation",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "companyCurrencyId",
            "in": "query",
            "description": "Company currency ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JournalLineRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JournalLine"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/{id}/self/{flag}": {
      "patch": {
        "tags": [
          "document-controller"
        ],
        "summary": "Set document self flag",
        "description": "Sets the \"self\" flag value for the specified staff document.",
        "operationId": "self",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Document ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "flag",
            "in": "path",
            "description": "Self flag value",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/billing/payment-info": {
      "get": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Get payment info",
        "description": "Returns payment information for the authenticated user.",
        "operationId": "getPaymentInfo",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentInfo"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Delete payment info",
        "description": "Deletes payment information for the authenticated user.",
        "operationId": "deletePaymentInfo",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "patch": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Update payment info",
        "description": "Updates payment information for the authenticated user and immediately processes a payment. Returns 200 on success, or 400 if the payment fails or an error occurs.",
        "operationId": "modifyPaymentInfo",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/workflow": {
      "get": {
        "tags": [
          "workflow-controller"
        ],
        "summary": "Get workflows",
        "description": "Returns a list of workflows based on the specified filters.",
        "operationId": "getTableView_1",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Workflow ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Workflow ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "moduleType",
            "in": "query",
            "description": "Module the workflow applies to",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Module the workflow applies to",
              "enum": [
                "SALES_INVOICES",
                "PURCHASE_INVOICES",
                "ORDERS",
                "TIME_DETAILS"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Workflow name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Workflow name filter",
              "example": "Purchase Invoice Approval"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Workflow description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Workflow description filter",
              "example": "Requires manager approval above 1000 CHF"
            }
          },
          {
            "name": "creatorContactId",
            "in": "query",
            "description": "Contact ID of the user who created the workflow.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID of the user who created the workflow.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "description": "Whether the workflow is active",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the workflow is active",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkflowView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/workflow/{id}": {
      "get": {
        "tags": [
          "workflow-controller"
        ],
        "summary": "Get workflow by ID",
        "description": "Returns workflow details by ID.",
        "operationId": "find",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Workflow ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workflow"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "workflow-controller"
        ],
        "summary": "Delete workflow by ID",
        "description": "Deletes a workflow by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Workflow ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/workflow/overall": {
      "get": {
        "tags": [
          "workflow-controller"
        ],
        "summary": "Get workflows total count",
        "description": "Returns the total number of workflows based on the specified filters.",
        "operationId": "calculateResultCount",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Workflow ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Workflow ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "moduleType",
            "in": "query",
            "description": "Module the workflow applies to",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Module the workflow applies to",
              "enum": [
                "SALES_INVOICES",
                "PURCHASE_INVOICES",
                "ORDERS",
                "TIME_DETAILS"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Workflow name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Workflow name filter",
              "example": "Purchase Invoice Approval"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Workflow description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Workflow description filter",
              "example": "Requires manager approval above 1000 CHF"
            }
          },
          {
            "name": "creatorContactId",
            "in": "query",
            "description": "Contact ID of the user who created the workflow.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID of the user who created the workflow.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "description": "Whether the workflow is active",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the workflow is active",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/widget": {
      "get": {
        "tags": [
          "widget-controller"
        ],
        "summary": "Get enabled widgets",
        "description": "Returns a list of enabled widgets for the authenticated user.",
        "operationId": "findAllWidgets",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Widget"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/wcr": {
      "get": {
        "tags": [
          "working-capital-requirement-controller"
        ],
        "summary": "Get working capital requirement",
        "description": "Returns the working capital requirement ratio for the specified period and optional previous period for comparison.",
        "operationId": "getWorkingCapitalRequirement",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "previousPeriodStartDate",
            "in": "query",
            "description": "Start date of the previous period for comparison",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "previousPeriodEndDate",
            "in": "query",
            "description": "End date of the previous period for comparison",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ratio"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/vat/report/submission-status": {
      "get": {
        "tags": [
          "vat-controller"
        ],
        "summary": "VAT declaration submission status",
        "description": "Whether the declaration for a period and submission type has already been submitted.",
        "operationId": "getVatSubmissionStatus",
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VatSubmissionStatus"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/vat/preview": {
      "get": {
        "tags": [
          "vat-controller"
        ],
        "summary": "Get VAT report preview",
        "description": "Returns a VAT report preview for the organization.",
        "operationId": "getVatPreview",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VatPreview"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/vat/export/xml": {
      "get": {
        "tags": [
          "vat-controller"
        ],
        "summary": "Export VAT report as XML",
        "description": "Exports the VAT report as an XML file for the specified date range.",
        "operationId": "getXmlExport",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/vacation/{type}": {
      "get": {
        "tags": [
          "vacation-controller"
        ],
        "summary": "Get vacation reports",
        "description": "Returns a set of vacation reports for the specified report type based on the specified filters.",
        "operationId": "getTableView_2",
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "description": "Vacation report type",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "YEAR",
                "MONTH"
              ]
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Vacation report date from..to. Must be in range date format.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "01/01/2025..31/12/2025"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VacationBaseView"
                  },
                  "uniqueItems": true
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/vacation/{type}/total": {
      "get": {
        "tags": [
          "vacation-controller"
        ],
        "summary": "Get vacation reports totals",
        "description": "Returns aggregated total values for vacation reports of the specified report type based on the specified filters.",
        "operationId": "calculateTotal",
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "description": "Vacation report type",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "YEAR",
                "MONTH"
              ]
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Vacation report date from..to. Must be in range date format.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "01/01/2025..31/12/2025"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VacationBaseView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/vacation/{type}/overall": {
      "get": {
        "tags": [
          "vacation-controller"
        ],
        "summary": "Get vacation reports total count",
        "description": "Returns the total number of vacation reports for the specified report type based on the specified filters.",
        "operationId": "calculateResultCount_1",
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "description": "Vacation report type",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "YEAR",
                "MONTH"
              ]
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Vacation report date from..to. Must be in range date format.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "01/01/2025..31/12/2025"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/vacation/update-all-vacation-rights": {
      "get": {
        "tags": [
          "vacation-controller"
        ],
        "summary": "Update all vacation rights",
        "description": "Triggers an update of vacation rights for all employees.",
        "operationId": "updateAllVacationRights",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/vacation/holiday": {
      "get": {
        "tags": [
          "vacation-controller"
        ],
        "summary": "Get holidays",
        "description": "Returns a list of holiday dates.",
        "operationId": "getHolidays",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/vacation/available-balance": {
      "get": {
        "tags": [
          "vacation-controller"
        ],
        "summary": "Get employee available balance",
        "description": "Returns the available vacation balance in hours for the specified employee and period.",
        "operationId": "getAvailableBalance",
        "parameters": [
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": "Start date of the period",
            "required": true,
            "schema": {
              "type": "string",
              "format": "dd/MM/yyyy"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "End date of the period",
            "required": true,
            "schema": {
              "type": "string",
              "format": "dd/MM/yyyy"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/vacation/availability": {
      "get": {
        "tags": [
          "vacation-controller"
        ],
        "summary": "Get vacation availability",
        "description": "Returns a list of vacation availability periods.",
        "operationId": "getAvailability",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VacationAvailability"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/user-group": {
      "get": {
        "tags": [
          "user-group-controller"
        ],
        "summary": "Get user groups",
        "description": "Returns a list of user groups based on the specified filters.",
        "operationId": "getTableView_3",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "User group ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "User group ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "User group type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "User group type filter",
              "enum": [
                "GROUP",
                "SUPER_GROUP"
              ],
              "example": "STANDARD"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Group name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Group name filter",
              "example": "Finance Team"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Group description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Group description filter",
              "example": "Users with access to finance modules"
            }
          },
          {
            "name": "creatorContactId",
            "in": "query",
            "description": "Contact ID of the user who created the group.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID of the user who created the group.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserGroupView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/user-group/{id}": {
      "get": {
        "tags": [
          "user-group-controller"
        ],
        "summary": "Get user group by ID",
        "description": "Returns user group details by ID.",
        "operationId": "find_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User group ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserGroup"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "user-group-controller"
        ],
        "summary": "Delete user group by ID",
        "description": "Deletes a user group by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User group ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/user-group/users": {
      "get": {
        "tags": [
          "user-group-controller"
        ],
        "summary": "Get user IDs by rule",
        "description": "Returns a set of user IDs matching the specified rule.",
        "operationId": "evaluateRule",
        "parameters": [
          {
            "name": "rule",
            "in": "query",
            "description": "Rule to evaluate users by",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "uniqueItems": true
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/user-group/overall": {
      "get": {
        "tags": [
          "user-group-controller"
        ],
        "summary": "Get user groups total count",
        "description": "Returns the total number of user groups based on the specified filters.",
        "operationId": "calculateResultCount_2",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "User group ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "User group ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "User group type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "User group type filter",
              "enum": [
                "GROUP",
                "SUPER_GROUP"
              ],
              "example": "STANDARD"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Group name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Group name filter",
              "example": "Finance Team"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Group description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Group description filter",
              "example": "Users with access to finance modules"
            }
          },
          {
            "name": "creatorContactId",
            "in": "query",
            "description": "Contact ID of the user who created the group.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID of the user who created the group.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/user-group/advanced": {
      "get": {
        "tags": [
          "user-group-advanced-controller"
        ],
        "summary": "Get list of advanced user groups",
        "operationId": "getTableView_4",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserGroupAdvancedView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/user-group/advanced/overall": {
      "get": {
        "tags": [
          "user-group-advanced-controller"
        ],
        "summary": "Get total results count for list of advanced user groups",
        "operationId": "calculateResultCount_3",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/treasury": {
      "get": {
        "tags": [
          "treasury-controller"
        ],
        "summary": "Get treasury info for widget.",
        "description": "Returns treasury information for the organization.",
        "operationId": "getTreasuryInfo",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TreasuryInfo"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/trash-can": {
      "get": {
        "tags": [
          "trash-can-controller"
        ],
        "summary": "Get trash can entries",
        "description": "Returns a list of removed entities based on the specified filters.",
        "operationId": "getTableView_5",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Trash record ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Trash record ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Deletion date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Deletion date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "time",
            "in": "query",
            "description": "Deletion time filter.<br><br>Supported operators: range (..), >, >=, <, <=.<br>Examples: 08:00:00..18:00:00, >=22:00:00, <=08:00:00",
            "required": false,
            "schema": {
              "type": "string",
              "format": "time",
              "description": "Deletion time filter.<br><br>Supported operators: range (..), >, >=, <, <=.<br>Examples: 08:00:00..18:00:00, >=22:00:00, <=08:00:00",
              "example": ">=22:00:00"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID of the user who deleted the record.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID of the user who deleted the record.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactEmail",
            "in": "query",
            "description": "Email of the user who deleted the record",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Email of the user who deleted the record",
              "example": "user@example.com"
            }
          },
          {
            "name": "module",
            "in": "query",
            "description": "Module the deleted record belonged to",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Module the deleted record belonged to",
              "enum": [
                "JOURNAL",
                "PURCHASE_INVOICES",
                "SALES_INVOICES",
                "CONTACTS",
                "ORDERS",
                "ARTICLES",
                "FIXED_ASSETS"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "entityId",
            "in": "query",
            "description": "ID of the deleted entity.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "ID of the deleted entity.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "entityName",
            "in": "query",
            "description": "Name of the deleted entity",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the deleted entity",
              "example": "Invoice #2026-0001"
            }
          },
          {
            "name": "entityCreatorContactId",
            "in": "query",
            "description": "Contact ID of the user who originally created the deleted entity.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID of the user who originally created the deleted entity.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "timezoneName",
            "in": "query",
            "description": "IANA timezone name used to interpret the 'time' filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "IANA timezone name used to interpret the 'time' filter",
              "example": "Europe/Zurich"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrashCanView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/trash-can/{id}/restore": {
      "get": {
        "tags": [
          "trash-can-controller"
        ],
        "summary": "Restore entity by trash can ID",
        "description": "Restores a previously removed entity by its trash can ID.",
        "operationId": "restore",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Trash can entry ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/{id}": {
      "get": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Get timesheet by ID",
        "description": "Returns timesheet details by ID. Returns 404 if not found.",
        "operationId": "find_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Delete timesheet by ID",
        "description": "Deletes a timesheet by ID.",
        "operationId": "deleteTimesheet",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/total": {
      "get": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Get timesheets totals",
        "description": "Returns aggregated total values for timesheets based on the specified filters.",
        "operationId": "calculateTotal_1",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Timesheet entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timesheet entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeContactId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "clientContactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Development work"
            }
          },
          {
            "name": "time",
            "in": "query",
            "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "8"
            }
          },
          {
            "name": "isBillable",
            "in": "query",
            "description": "Whether the entry is billable",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry is billable",
              "example": true
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Timesheet status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timesheet status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "REJECTED",
                "APPROVED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "billableAmount",
            "in": "query",
            "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "800.0"
            }
          },
          {
            "name": "costAmount",
            "in": "query",
            "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "500.0"
            }
          },
          {
            "name": "taskName",
            "in": "query",
            "description": "Task name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Task name filter",
              "example": "Frontend development"
            }
          },
          {
            "name": "billableRate",
            "in": "query",
            "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "costRate",
            "in": "query",
            "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "60.0"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the entry is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimesheetView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/team/review": {
      "get": {
        "tags": [
          "team-review-controller"
        ],
        "summary": "Get team review",
        "description": "Returns a list of team review entries for the specified period and employee name sort direction.",
        "operationId": "getTeamReview",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "employeeNameDirection",
            "in": "query",
            "description": "Sort direction for employee names",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TeamReview"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/team/review/employee/{employeeContactId}": {
      "get": {
        "tags": [
          "team-review-controller"
        ],
        "summary": "Get team review by employee",
        "description": "Returns a list of team review entries for the specified employee and period.",
        "operationId": "getTeamReviewForEmployee",
        "parameters": [
          {
            "name": "employeeContactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "dateDirection",
            "in": "query",
            "description": "Sort direction for dates",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmployeeTeamReview"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/team/review/employee/{employeeContactId}/capacity/total": {
      "get": {
        "tags": [
          "team-review-controller"
        ],
        "summary": "Get team review capacity total by employee",
        "description": "Returns the total capacity for the specified employee and period.",
        "operationId": "getTeamReviewCapacityTotalForEmployee",
        "parameters": [
          {
            "name": "employeeContactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/task": {
      "get": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Get tasks",
        "description": "Returns organization tasks as a map where the key is the task identifier and the value is the task name.",
        "operationId": "getOrganizationTasks",
        "parameters": [
          {
            "name": "archived",
            "in": "query",
            "description": "Include archived tasks",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "example": false
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/overall": {
      "get": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Get timesheets total count",
        "description": "Returns the total number of timesheets based on the specified filters.",
        "operationId": "calculateResultCount_4",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Timesheet entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timesheet entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeContactId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "clientContactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Development work"
            }
          },
          {
            "name": "time",
            "in": "query",
            "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "8"
            }
          },
          {
            "name": "isBillable",
            "in": "query",
            "description": "Whether the entry is billable",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry is billable",
              "example": true
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Timesheet status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timesheet status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "REJECTED",
                "APPROVED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "billableAmount",
            "in": "query",
            "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "800.0"
            }
          },
          {
            "name": "costAmount",
            "in": "query",
            "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "500.0"
            }
          },
          {
            "name": "taskName",
            "in": "query",
            "description": "Task name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Task name filter",
              "example": "Frontend development"
            }
          },
          {
            "name": "billableRate",
            "in": "query",
            "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "costRate",
            "in": "query",
            "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "60.0"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the entry is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/order": {
      "get": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Get timesheet orders",
        "description": "Returns a list of orders available for timesheet entries.",
        "operationId": "getTimesheetOrders",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderForTimesheet"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/filter": {
      "get": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Get timesheet filter options",
        "description": "Returns available filter values for timesheet search.",
        "operationId": "getTimesheetFilter",
        "parameters": [
          {
            "name": "clientContactId",
            "in": "query",
            "description": "Client contact identifier.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "employeeContactId",
            "in": "query",
            "description": "Employee contact identifier.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimesheetFilter"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/advanced": {
      "get": {
        "tags": [
          "timesheet-advanced-controller"
        ],
        "summary": "Get timesheets using advanced filtering",
        "description": "Returns a list of timesheets with support for advanced filtering, sorting, and pagination.",
        "operationId": "getTimesheetsAdvanced",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeContactId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "clientContactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Development work"
            }
          },
          {
            "name": "time",
            "in": "query",
            "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "8"
            }
          },
          {
            "name": "isBillable",
            "in": "query",
            "description": "Whether the entry is billable",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry is billable",
              "example": true
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Timesheet status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timesheet status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "REJECTED",
                "APPROVED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "billableAmount",
            "in": "query",
            "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "800.0"
            }
          },
          {
            "name": "costAmount",
            "in": "query",
            "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "500.0"
            }
          },
          {
            "name": "taskName",
            "in": "query",
            "description": "Task name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Task name filter",
              "example": "Frontend development"
            }
          },
          {
            "name": "billableRate",
            "in": "query",
            "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "costRate",
            "in": "query",
            "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "60.0"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the entry is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "orderContactId",
            "in": "query",
            "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "orderJoinedId",
            "in": "query",
            "description": "Order joined ID filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order joined ID filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "orderStatus",
            "in": "query",
            "description": "Order status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status filter",
              "example": "CONFIRMED"
            }
          },
          {
            "name": "parentOrderId",
            "in": "query",
            "description": "Parent order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Parent order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderDepartmentId",
            "in": "query",
            "description": "Order department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderHistoryStatus",
            "in": "query",
            "description": "Order status history entry status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status history entry status filter",
              "enum": [
                "OFFERED",
                "OFFERED_SENT",
                "CONFIRMED",
                "CONFIRMED_SENT",
                "BILLABLE",
                "FINISHED",
                "CANCELLED"
              ],
              "example": "CONFIRMED"
            }
          },
          {
            "name": "orderHistoryDate",
            "in": "query",
            "description": "Order status history entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status history entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "orderVatRateId",
            "in": "query",
            "description": "Order VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderRequestedPaymentTerms",
            "in": "query",
            "description": "Order requested payment terms in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Order requested payment terms in days filter",
              "example": 30
            }
          },
          {
            "name": "orderOurContactName",
            "in": "query",
            "description": "Order's our contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's our contact name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "orderCurrencyId",
            "in": "query",
            "description": "Order currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderMinimumAmountToInvoice",
            "in": "query",
            "description": "Order minimum invoiceable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order minimum invoiceable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "orderYourContactName",
            "in": "query",
            "description": "Order's client internal contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's client internal contact name filter",
              "example": "Jane Smith"
            }
          },
          {
            "name": "orderPeriodicityType",
            "in": "query",
            "description": "Order periodicity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order periodicity type filter",
              "enum": [
                "NONE",
                "DAILY",
                "WEEKLY",
                "BI_WEEKLY",
                "EVERY_MONTH",
                "EVERY_2_MONTH",
                "EVERY_3_MONTH",
                "EVERY_4_MONTH",
                "EVERY_6_MONTH",
                "ANNUAL"
              ],
              "example": "EVERY_MONTH"
            }
          },
          {
            "name": "orderDayOfWeek",
            "in": "query",
            "description": "Order recurring invoicing day of week filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order recurring invoicing day of week filter",
              "enum": [
                "MONDAY",
                "TUESDAY",
                "WEDNESDAY",
                "THURSDAY",
                "FRIDAY",
                "SATURDAY",
                "SUNDAY"
              ],
              "example": "MONDAY"
            }
          },
          {
            "name": "orderInvoicingTime",
            "in": "query",
            "description": "Order invoicing time filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order invoicing time filter",
              "enum": [
                "FIRST_DAY",
                "LAST_DAY",
                "FIRST_WORKING_DAY",
                "LAST_WORKING_DAY"
              ],
              "example": "FIRST_DAY"
            }
          },
          {
            "name": "orderPeriodicityStartDate",
            "in": "query",
            "description": "Order recurring periodicity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order recurring periodicity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "orderIsDisbursementFeeEnabled",
            "in": "query",
            "description": "Whether disbursement fee is enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether disbursement fee is enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderIsExpensesEnabled",
            "in": "query",
            "description": "Whether expenses are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether expenses are enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderIsTimesheetsEnabled",
            "in": "query",
            "description": "Whether timesheets are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether timesheets are enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderFixedAmount",
            "in": "query",
            "description": "Order fixed amount filter (for TIMESHEET_FIXED orders)Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order fixed amount filter (for TIMESHEET_FIXED orders)Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "orderArticleId",
            "in": "query",
            "description": "Order article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderArticleAmount",
            "in": "query",
            "description": "Order article quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5.0"
            }
          },
          {
            "name": "orderArticleStatus",
            "in": "query",
            "description": "Order article shipment status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article shipment status filter",
              "enum": [
                "SHIPPED",
                "PARTIALLY_SHIPPED",
                "NOT_SHIPPED",
                "SERVICE"
              ],
              "example": "SHIPPED"
            }
          },
          {
            "name": "orderOfficeId",
            "in": "query",
            "description": "Order office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimesheetAdvancedView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/advanced/total": {
      "get": {
        "tags": [
          "timesheet-advanced-controller"
        ],
        "summary": "Get timesheets totals",
        "description": "Returns aggregated total values for timesheets based on the specified filters.",
        "operationId": "calculateTotal_2",
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeContactId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "clientContactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Development work"
            }
          },
          {
            "name": "time",
            "in": "query",
            "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "8"
            }
          },
          {
            "name": "isBillable",
            "in": "query",
            "description": "Whether the entry is billable",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry is billable",
              "example": true
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Timesheet status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timesheet status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "REJECTED",
                "APPROVED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "billableAmount",
            "in": "query",
            "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "800.0"
            }
          },
          {
            "name": "costAmount",
            "in": "query",
            "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "500.0"
            }
          },
          {
            "name": "taskName",
            "in": "query",
            "description": "Task name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Task name filter",
              "example": "Frontend development"
            }
          },
          {
            "name": "billableRate",
            "in": "query",
            "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "costRate",
            "in": "query",
            "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "60.0"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the entry is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "orderContactId",
            "in": "query",
            "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "orderJoinedId",
            "in": "query",
            "description": "Order joined ID filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order joined ID filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "orderStatus",
            "in": "query",
            "description": "Order status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status filter",
              "example": "CONFIRMED"
            }
          },
          {
            "name": "parentOrderId",
            "in": "query",
            "description": "Parent order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Parent order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderDepartmentId",
            "in": "query",
            "description": "Order department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderHistoryStatus",
            "in": "query",
            "description": "Order status history entry status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status history entry status filter",
              "enum": [
                "OFFERED",
                "OFFERED_SENT",
                "CONFIRMED",
                "CONFIRMED_SENT",
                "BILLABLE",
                "FINISHED",
                "CANCELLED"
              ],
              "example": "CONFIRMED"
            }
          },
          {
            "name": "orderHistoryDate",
            "in": "query",
            "description": "Order status history entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status history entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "orderVatRateId",
            "in": "query",
            "description": "Order VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderRequestedPaymentTerms",
            "in": "query",
            "description": "Order requested payment terms in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Order requested payment terms in days filter",
              "example": 30
            }
          },
          {
            "name": "orderOurContactName",
            "in": "query",
            "description": "Order's our contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's our contact name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "orderCurrencyId",
            "in": "query",
            "description": "Order currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderMinimumAmountToInvoice",
            "in": "query",
            "description": "Order minimum invoiceable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order minimum invoiceable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "orderYourContactName",
            "in": "query",
            "description": "Order's client internal contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's client internal contact name filter",
              "example": "Jane Smith"
            }
          },
          {
            "name": "orderPeriodicityType",
            "in": "query",
            "description": "Order periodicity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order periodicity type filter",
              "enum": [
                "NONE",
                "DAILY",
                "WEEKLY",
                "BI_WEEKLY",
                "EVERY_MONTH",
                "EVERY_2_MONTH",
                "EVERY_3_MONTH",
                "EVERY_4_MONTH",
                "EVERY_6_MONTH",
                "ANNUAL"
              ],
              "example": "EVERY_MONTH"
            }
          },
          {
            "name": "orderDayOfWeek",
            "in": "query",
            "description": "Order recurring invoicing day of week filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order recurring invoicing day of week filter",
              "enum": [
                "MONDAY",
                "TUESDAY",
                "WEDNESDAY",
                "THURSDAY",
                "FRIDAY",
                "SATURDAY",
                "SUNDAY"
              ],
              "example": "MONDAY"
            }
          },
          {
            "name": "orderInvoicingTime",
            "in": "query",
            "description": "Order invoicing time filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order invoicing time filter",
              "enum": [
                "FIRST_DAY",
                "LAST_DAY",
                "FIRST_WORKING_DAY",
                "LAST_WORKING_DAY"
              ],
              "example": "FIRST_DAY"
            }
          },
          {
            "name": "orderPeriodicityStartDate",
            "in": "query",
            "description": "Order recurring periodicity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order recurring periodicity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "orderIsDisbursementFeeEnabled",
            "in": "query",
            "description": "Whether disbursement fee is enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether disbursement fee is enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderIsExpensesEnabled",
            "in": "query",
            "description": "Whether expenses are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether expenses are enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderIsTimesheetsEnabled",
            "in": "query",
            "description": "Whether timesheets are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether timesheets are enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderFixedAmount",
            "in": "query",
            "description": "Order fixed amount filter (for TIMESHEET_FIXED orders)Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order fixed amount filter (for TIMESHEET_FIXED orders)Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "orderArticleId",
            "in": "query",
            "description": "Order article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderArticleAmount",
            "in": "query",
            "description": "Order article quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5.0"
            }
          },
          {
            "name": "orderArticleStatus",
            "in": "query",
            "description": "Order article shipment status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article shipment status filter",
              "enum": [
                "SHIPPED",
                "PARTIALLY_SHIPPED",
                "NOT_SHIPPED",
                "SERVICE"
              ],
              "example": "SHIPPED"
            }
          },
          {
            "name": "orderOfficeId",
            "in": "query",
            "description": "Order office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimesheetAdvancedView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/advanced/overall": {
      "get": {
        "tags": [
          "timesheet-advanced-controller"
        ],
        "summary": "Get timesheets total count",
        "description": "Returns the total number of timesheets based on the specified filters.",
        "operationId": "calculateResultCount_5",
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeContactId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "clientContactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Development work"
            }
          },
          {
            "name": "time",
            "in": "query",
            "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "8"
            }
          },
          {
            "name": "isBillable",
            "in": "query",
            "description": "Whether the entry is billable",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry is billable",
              "example": true
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Timesheet status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timesheet status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "REJECTED",
                "APPROVED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "billableAmount",
            "in": "query",
            "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "800.0"
            }
          },
          {
            "name": "costAmount",
            "in": "query",
            "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "500.0"
            }
          },
          {
            "name": "taskName",
            "in": "query",
            "description": "Task name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Task name filter",
              "example": "Frontend development"
            }
          },
          {
            "name": "billableRate",
            "in": "query",
            "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "costRate",
            "in": "query",
            "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "60.0"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the entry is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "orderContactId",
            "in": "query",
            "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "orderJoinedId",
            "in": "query",
            "description": "Order joined ID filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order joined ID filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "orderStatus",
            "in": "query",
            "description": "Order status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status filter",
              "example": "CONFIRMED"
            }
          },
          {
            "name": "parentOrderId",
            "in": "query",
            "description": "Parent order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Parent order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderDepartmentId",
            "in": "query",
            "description": "Order department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderHistoryStatus",
            "in": "query",
            "description": "Order status history entry status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status history entry status filter",
              "enum": [
                "OFFERED",
                "OFFERED_SENT",
                "CONFIRMED",
                "CONFIRMED_SENT",
                "BILLABLE",
                "FINISHED",
                "CANCELLED"
              ],
              "example": "CONFIRMED"
            }
          },
          {
            "name": "orderHistoryDate",
            "in": "query",
            "description": "Order status history entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status history entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "orderVatRateId",
            "in": "query",
            "description": "Order VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderRequestedPaymentTerms",
            "in": "query",
            "description": "Order requested payment terms in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Order requested payment terms in days filter",
              "example": 30
            }
          },
          {
            "name": "orderOurContactName",
            "in": "query",
            "description": "Order's our contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's our contact name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "orderCurrencyId",
            "in": "query",
            "description": "Order currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderMinimumAmountToInvoice",
            "in": "query",
            "description": "Order minimum invoiceable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order minimum invoiceable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "orderYourContactName",
            "in": "query",
            "description": "Order's client internal contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's client internal contact name filter",
              "example": "Jane Smith"
            }
          },
          {
            "name": "orderPeriodicityType",
            "in": "query",
            "description": "Order periodicity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order periodicity type filter",
              "enum": [
                "NONE",
                "DAILY",
                "WEEKLY",
                "BI_WEEKLY",
                "EVERY_MONTH",
                "EVERY_2_MONTH",
                "EVERY_3_MONTH",
                "EVERY_4_MONTH",
                "EVERY_6_MONTH",
                "ANNUAL"
              ],
              "example": "EVERY_MONTH"
            }
          },
          {
            "name": "orderDayOfWeek",
            "in": "query",
            "description": "Order recurring invoicing day of week filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order recurring invoicing day of week filter",
              "enum": [
                "MONDAY",
                "TUESDAY",
                "WEDNESDAY",
                "THURSDAY",
                "FRIDAY",
                "SATURDAY",
                "SUNDAY"
              ],
              "example": "MONDAY"
            }
          },
          {
            "name": "orderInvoicingTime",
            "in": "query",
            "description": "Order invoicing time filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order invoicing time filter",
              "enum": [
                "FIRST_DAY",
                "LAST_DAY",
                "FIRST_WORKING_DAY",
                "LAST_WORKING_DAY"
              ],
              "example": "FIRST_DAY"
            }
          },
          {
            "name": "orderPeriodicityStartDate",
            "in": "query",
            "description": "Order recurring periodicity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order recurring periodicity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "orderIsDisbursementFeeEnabled",
            "in": "query",
            "description": "Whether disbursement fee is enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether disbursement fee is enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderIsExpensesEnabled",
            "in": "query",
            "description": "Whether expenses are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether expenses are enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderIsTimesheetsEnabled",
            "in": "query",
            "description": "Whether timesheets are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether timesheets are enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderFixedAmount",
            "in": "query",
            "description": "Order fixed amount filter (for TIMESHEET_FIXED orders)Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order fixed amount filter (for TIMESHEET_FIXED orders)Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "orderArticleId",
            "in": "query",
            "description": "Order article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderArticleAmount",
            "in": "query",
            "description": "Order article quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5.0"
            }
          },
          {
            "name": "orderArticleStatus",
            "in": "query",
            "description": "Order article shipment status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article shipment status filter",
              "enum": [
                "SHIPPED",
                "PARTIALLY_SHIPPED",
                "NOT_SHIPPED",
                "SERVICE"
              ],
              "example": "SHIPPED"
            }
          },
          {
            "name": "orderOfficeId",
            "in": "query",
            "description": "Order office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/tag/individual": {
      "get": {
        "tags": [
          "tag-controller"
        ],
        "summary": "Get individual tags",
        "description": "Returns a list of individual tags.",
        "operationId": "getIndividualTags",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IndividualTagEntity"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "List the salary declarations (annual, monthly and month totals) of the current organization for a calendar year, newest first; with monthType only those of that month",
        "operationId": "list_1",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SwissdecDeclarationResultDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{jobKey}": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Read the last synced per-domain result of a previously submitted salary declaration",
        "operationId": "result",
        "parameters": [
          {
            "name": "jobKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecDeclarationResultDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{jobKey}/status": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Check the processing status of a previously submitted salary declaration",
        "operationId": "status",
        "parameters": [
          {
            "name": "jobKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalaryDeclarationStatusDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{jobKey}/institutions/{domainStatusId}/tax-at-source": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Read a canton's answer to a monthly tax at source declaration in detail: the persons it confirmed, the reversals it made itself and the declaration that confirmed each, the corrections it awaits from the company and whether the salary configuration has the tariff, and the quittance - taken from the archived result response",
        "operationId": "taxAtSourceResult",
        "parameters": [
          {
            "name": "jobKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domainStatusId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecTaxAtSourceResultDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{jobKey}/institutions/{domainStatusId}/receipt": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Read the parsed BVG receipt of an institution whose result is SUCCESS: the insured staff with their LPP codes and contributions, taken from the archived signed result response",
        "operationId": "bvgReceipt",
        "parameters": [
          {
            "name": "jobKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domainStatusId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecBvgReceiptDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{jobKey}/institutions/{domainStatusId}/proof-of-insurance": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "The proof of insurance of the AHV answer to an EMA announcement as PDF (Swissdec Viewgen AhvProofOfInsuranceReport), one page per announced person; the server needs swissdec.viewgen.home",
        "operationId": "proofOfInsurance",
        "parameters": [
          {
            "name": "jobKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domainStatusId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{jobKey}/institutions/{domainStatusId}/archive/{part}": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Download the archived signed SOAP message of the last result request of one institution: 'request' = GetResultFromDeclareSalary as sent, signed, before encryption; 'response' = the decrypted, signed result",
        "operationId": "resultArchive",
        "parameters": [
          {
            "name": "jobKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domainStatusId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "part",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{jobKey}/archive/{part}": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Download the archived signed SOAP message of a declaration (annual or month total): 'request' = the message as sent, signed, before encryption; 'response' = the receiver's decrypted, signed response",
        "operationId": "archive",
        "parameters": [
          {
            "name": "jobKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "part",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}/{month}/preview": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Render the monthly declaration XML of one month without submitting it, with the same cantons and statistics choice as the submission",
        "operationId": "previewMonthly",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "month",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ]
            }
          },
          {
            "name": "testCase",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "cantons",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "statistic",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/xml;charset=UTF-8": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}/{month}/ema/preview": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Render the EMA announcement of one month (entries, withdrawals and changes to the AHV, FAK and BVG, without amounts) without submitting it",
        "operationId": "previewEma",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "month",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ]
            }
          },
          {
            "name": "testCase",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/xml;charset=UTF-8": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}/rectification/preview": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Render the rectification (Lohnausweisersatz) of a closed year without submitting it",
        "operationId": "previewRectification",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "language",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "EN",
                "FR",
                "DE",
                "IT",
                "UNDEFINED"
              ]
            }
          },
          {
            "name": "staffIds",
            "in": "query",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "originalDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "remark",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "testCase",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/xml;charset=UTF-8": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}/rectification/pdf": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "The replacement salary certificates of a rectification as PDF (Swissdec Viewgen TaxAccountingReport); the server needs swissdec.viewgen.home",
        "operationId": "rectificationCertificates",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "language",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "EN",
                "FR",
                "DE",
                "IT",
                "UNDEFINED"
              ]
            }
          },
          {
            "name": "staffIds",
            "in": "query",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "originalDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "remark",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}/rectification/options": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "What the rectification dialog (Lohnausweisersatz) of a closed year needs: every person with a salary certificate in the year, and the certificate a rectification of ours already gave the tax administration. contactId = contact person of the organisation printed on the certificates, as for the certificate export",
        "operationId": "rectificationOptions",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "language",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "EN",
                "FR",
                "DE",
                "IT",
                "UNDEFINED"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecRectificationOptionsDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}/prospective/preview": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Render the prospective annual declaration of a year (BVG code and expected annual salary per insured person) without submitting it",
        "operationId": "previewProspective",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "testCase",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/xml;charset=UTF-8": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/{calendarYear}/preview": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "Render the salary declaration XML for the current organization and calendar year without submitting it. Builds the same <DeclareSalary> payload the submission would send (unsigned, not persisted) \u2014 for validators and the Swissdec Quality Tool",
        "operationId": "preview",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "testCase",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "untilMonth",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/xml;charset=UTF-8": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/dispatch-options": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "What the UI needs before submitting: 'test declaration' default, whether a declaration for the year is still pending, and whether an accepted declaration exists that a new submission would substitute (<Substitution>)",
        "operationId": "dispatchOptions",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecDispatchOptionsDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-declaration/dispatch-options/monthly": {
      "get": {
        "tags": [
          "salary-declaration-controller"
        ],
        "summary": "What the UI needs before a monthly declaration (Monatsmeldung) of one month: the tax-at-source cantons of the month with their debtor number (SSL / DPI) and number of persons, the statistics office, which of them an active declaration of the month already addressed, and the plausibility findings",
        "operationId": "monthlyDispatchOptions",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecMonthlyDispatchOptionsDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-certificates/pdf": {
      "get": {
        "tags": [
          "swissdec-salary-certificate-controller"
        ],
        "summary": "Salary certificates (Lohnausweis) as PDF, printed by Swissdec Viewgen from the same ELM 5.0 document as the export: one PDF with every person, or separateFiles=true for a zip with one PDF per person. The server needs the Viewgen distribution (swissdec.viewgen.home)",
        "operationId": "certificates",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "language",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "EN",
                "FR",
                "DE",
                "IT",
                "UNDEFINED"
              ]
            }
          },
          {
            "name": "separateFiles",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "ahvNotificationDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-certificates/negative-ahv-persons": {
      "get": {
        "tags": [
          "swissdec-salary-certificate-controller"
        ],
        "summary": "The persons whose AHV wage of the year is negative: the export asks for the date the compensation office was notified of each of them",
        "operationId": "negativeAhvPersons",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SwissdecAhvNotificationPersonDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/salary-certificates/export": {
      "get": {
        "tags": [
          "swissdec-salary-certificate-controller"
        ],
        "summary": "Salary certificates (Lohnausweis) as a Swissdec ELM 5.0 DeclareSalary document with TaxSalaries \u2014 the input for Swissdec ViewGen >= 2026.05 (TaxAccountingReport / Barcode). Same payroll filters as the payroll table; the certificates cover the whole calendar year: the row filters of the payroll table (month, status, payment date) do not narrow them, only employeeId does; contactId = contact person of the organisation printed on the certificates; ahvNotificationDate=<staffId>:<yyyy-MM-dd>, repeated = the date the compensation office was notified of a negative AHV wage; untilMonth=1..11 = the declaration year-to-date as of the end of that month (Jahresmeldung rueckwirkend)",
        "operationId": "export",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "language",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "EN",
                "FR",
                "DE",
                "IT",
                "UNDEFINED"
              ]
            }
          },
          {
            "name": "ahvNotificationDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "untilMonth",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/organization-certificate": {
      "get": {
        "tags": [
          "swissdec-organization-certificate-controller"
        ],
        "summary": "Get the current organization's Swissdec UID certificate status",
        "operationId": "status_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecOrganizationCertificateDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "swissdec-organization-certificate-controller"
        ],
        "summary": "Remove the current organization's Swissdec UID certificate",
        "operationId": "delete_4",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/month-total-declaration/{jobKey}": {
      "get": {
        "tags": [
          "month-total-declaration-controller"
        ],
        "summary": "Read the last synced per-domain result of a previously submitted month-total declaration",
        "operationId": "result_1",
        "parameters": [
          {
            "name": "jobKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecDeclarationResultDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/institutions": {
      "get": {
        "tags": [
          "swissdec-institution-controller"
        ],
        "summary": "List Swissdec institutions resolved from the organization payroll configuration",
        "operationId": "list_2",
        "parameters": [
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SwissdecInstitutionDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec-insurance": {
      "get": {
        "tags": [
          "swissdec-insurance-controller"
        ],
        "summary": "Get swissdec insurance reference list",
        "description": "Returns the full list of known Swiss insurers with their insurer number and UID, used to auto-fill the insurer number on the organization's contribution table.",
        "operationId": "getAll",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SwissdecInsuranceEntity"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/super-role/{id}": {
      "get": {
        "tags": [
          "role-controller"
        ],
        "summary": "Get details of super-role",
        "operationId": "findSuperRoleById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuperRole"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sub-orders": {
      "get": {
        "tags": [
          "sub-order-controller"
        ],
        "summary": "Get sub-orders",
        "description": "Returns a list of sub-orders based on the specified filters.",
        "operationId": "getTableView_6",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "invoicingDate",
            "in": "query",
            "description": "Invoicing date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoicing date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Client contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Internal order number / code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal order number / code filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "description": "Sub-order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sub-order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1000.0"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": "<=31/12/2026"
            }
          },
          {
            "name": "orderPeriodicityType",
            "in": "query",
            "description": "Order periodicity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order periodicity type filter",
              "enum": [
                "NONE",
                "DAILY",
                "WEEKLY",
                "BI_WEEKLY",
                "EVERY_MONTH",
                "EVERY_2_MONTH",
                "EVERY_3_MONTH",
                "EVERY_4_MONTH",
                "EVERY_6_MONTH",
                "ANNUAL"
              ],
              "example": "EVERY_MONTH"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Sub-order total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sub-order total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1000.0"
            }
          },
          {
            "name": "orderOriginalId",
            "in": "query",
            "description": "Original order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Original order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubOrderView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sub-orders/total": {
      "get": {
        "tags": [
          "sub-order-controller"
        ],
        "summary": "Get total values for sub-orders",
        "description": "Returns aggregated totals calculated from sub-orders matching the specified filters.",
        "operationId": "getTotals",
        "parameters": [
          {
            "name": "invoicingDate",
            "in": "query",
            "description": "Invoicing date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoicing date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Client contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Internal order number / code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal order number / code filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "description": "Sub-order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sub-order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1000.0"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": "<=31/12/2026"
            }
          },
          {
            "name": "orderPeriodicityType",
            "in": "query",
            "description": "Order periodicity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order periodicity type filter",
              "enum": [
                "NONE",
                "DAILY",
                "WEEKLY",
                "BI_WEEKLY",
                "EVERY_MONTH",
                "EVERY_2_MONTH",
                "EVERY_3_MONTH",
                "EVERY_4_MONTH",
                "EVERY_6_MONTH",
                "ANNUAL"
              ],
              "example": "EVERY_MONTH"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Sub-order total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sub-order total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1000.0"
            }
          },
          {
            "name": "orderOriginalId",
            "in": "query",
            "description": "Original order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Original order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubOrderView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sub-orders/overall": {
      "get": {
        "tags": [
          "sub-order-controller"
        ],
        "summary": "Get total results count for sub-orders ready to invoice",
        "description": "Returns the total number of sub-orders matching the specified filters.",
        "operationId": "calculateResultCount_6",
        "parameters": [
          {
            "name": "invoicingDate",
            "in": "query",
            "description": "Invoicing date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoicing date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Client contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Internal order number / code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal order number / code filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "description": "Sub-order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sub-order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1000.0"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": "<=31/12/2026"
            }
          },
          {
            "name": "orderPeriodicityType",
            "in": "query",
            "description": "Order periodicity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order periodicity type filter",
              "enum": [
                "NONE",
                "DAILY",
                "WEEKLY",
                "BI_WEEKLY",
                "EVERY_MONTH",
                "EVERY_2_MONTH",
                "EVERY_3_MONTH",
                "EVERY_4_MONTH",
                "EVERY_6_MONTH",
                "ANNUAL"
              ],
              "example": "EVERY_MONTH"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Sub-order total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sub-order total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1000.0"
            }
          },
          {
            "name": "orderOriginalId",
            "in": "query",
            "description": "Original order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Original order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sub-orders/generate": {
      "get": {
        "tags": [
          "sub-order-controller"
        ],
        "summary": "Regenerate sub-order by reference",
        "description": "Regenerates a sub-order identified by its order reference.",
        "operationId": "generateSubOrder",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/stock-report": {
      "get": {
        "tags": [
          "stock-report-controller"
        ],
        "summary": "Get stock report",
        "description": "Returns a list of stock report entries based on the specified filters.",
        "operationId": "getTableView_7",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Report date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "articleName",
            "in": "query",
            "description": "Article name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article name filter",
              "example": "Office chair"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Unit of measurement filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit of measurement filter",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "UNIT"
            }
          },
          {
            "name": "articleIdToDisplay",
            "in": "query",
            "description": "Article code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article code filter",
              "example": "ART-001"
            }
          },
          {
            "name": "totalQuantity",
            "in": "query",
            "description": "Total quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "totalCost",
            "in": "query",
            "description": "Total cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1000.0"
            }
          },
          {
            "name": "outQuantity",
            "in": "query",
            "description": "Outgoing quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Outgoing quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10.0"
            }
          },
          {
            "name": "inQuantity",
            "in": "query",
            "description": "Incoming quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Incoming quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "50.0"
            }
          },
          {
            "name": "quantityProjection",
            "in": "query",
            "description": "Projected quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Projected quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "40.0"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "description": "Article category ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article category ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StockReportLineView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/stock-report/total": {
      "get": {
        "tags": [
          "stock-report-controller"
        ],
        "summary": "Get stock report totals",
        "description": "Returns aggregated total values for stock report entries based on the specified filters.",
        "operationId": "getTotals_1",
        "parameters": [
          {
            "name": "articleId",
            "in": "query",
            "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Report date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "articleName",
            "in": "query",
            "description": "Article name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article name filter",
              "example": "Office chair"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Unit of measurement filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit of measurement filter",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "UNIT"
            }
          },
          {
            "name": "articleIdToDisplay",
            "in": "query",
            "description": "Article code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article code filter",
              "example": "ART-001"
            }
          },
          {
            "name": "totalQuantity",
            "in": "query",
            "description": "Total quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "totalCost",
            "in": "query",
            "description": "Total cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1000.0"
            }
          },
          {
            "name": "outQuantity",
            "in": "query",
            "description": "Outgoing quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Outgoing quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10.0"
            }
          },
          {
            "name": "inQuantity",
            "in": "query",
            "description": "Incoming quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Incoming quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "50.0"
            }
          },
          {
            "name": "quantityProjection",
            "in": "query",
            "description": "Projected quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Projected quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "40.0"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "description": "Article category ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article category ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockReportLineView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/stock-report/overall": {
      "get": {
        "tags": [
          "stock-report-controller"
        ],
        "summary": "Get stock report total count",
        "description": "Returns the total number of stock report entries based on the specified filters.",
        "operationId": "calculateResultCount_7",
        "parameters": [
          {
            "name": "articleId",
            "in": "query",
            "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Report date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "articleName",
            "in": "query",
            "description": "Article name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article name filter",
              "example": "Office chair"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Unit of measurement filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit of measurement filter",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "UNIT"
            }
          },
          {
            "name": "articleIdToDisplay",
            "in": "query",
            "description": "Article code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article code filter",
              "example": "ART-001"
            }
          },
          {
            "name": "totalQuantity",
            "in": "query",
            "description": "Total quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "totalCost",
            "in": "query",
            "description": "Total cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1000.0"
            }
          },
          {
            "name": "outQuantity",
            "in": "query",
            "description": "Outgoing quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Outgoing quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10.0"
            }
          },
          {
            "name": "inQuantity",
            "in": "query",
            "description": "Incoming quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Incoming quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "50.0"
            }
          },
          {
            "name": "quantityProjection",
            "in": "query",
            "description": "Projected quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Projected quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "40.0"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "description": "Article category ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article category ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/stock-movement-line": {
      "get": {
        "tags": [
          "stock-movement-line-controller"
        ],
        "summary": "Get stock movements",
        "description": "Returns a list of stock movements based on the specified filters.",
        "operationId": "getTableView_8",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Stock movement ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Stock movement ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Movement date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "articleRealId",
            "in": "query",
            "description": "Article real ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article real ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article code filter",
              "example": "ART-001"
            }
          },
          {
            "name": "movementDirection",
            "in": "query",
            "description": "Movement direction filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement direction filter",
              "enum": [
                "IN",
                "OUT"
              ],
              "example": "IN"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10.0"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Movement type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement type filter",
              "enum": [
                "MANUAL",
                "SHIPMENT"
              ],
              "example": "MANUAL"
            }
          },
          {
            "name": "cost",
            "in": "query",
            "description": "Unit cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "25.0"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "quantityLeft",
            "in": "query",
            "description": "Remaining quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Remaining quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5.0"
            }
          },
          {
            "name": "ownerId",
            "in": "query",
            "description": "Owner entity ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Owner entity ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "ownerType",
            "in": "query",
            "description": "Owner entity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Owner entity type filter",
              "example": "PURCHASE_INVOICE"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Unit of measurement filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit of measurement filter",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "UNIT"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StockMovementLineView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/stock-movement-line/{id}": {
      "get": {
        "tags": [
          "stock-movement-line-controller"
        ],
        "summary": "Get stock movement by ID",
        "description": "Returns stock movement details by ID",
        "operationId": "find_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Stock movement ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "stock-movement-line-controller"
        ],
        "summary": "Delete stock movement by ID",
        "description": "Deletes a stock movement by ID.",
        "operationId": "delete_5",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Stock movement ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/stock-movement-line/total": {
      "get": {
        "tags": [
          "stock-movement-line-controller"
        ],
        "summary": "Get stock movements totals",
        "description": "Returns aggregated total values for stock movements based on the specified filters.",
        "operationId": "calculateTotal_3",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Stock movement ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Stock movement ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Movement date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "articleRealId",
            "in": "query",
            "description": "Article real ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article real ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article code filter",
              "example": "ART-001"
            }
          },
          {
            "name": "movementDirection",
            "in": "query",
            "description": "Movement direction filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement direction filter",
              "enum": [
                "IN",
                "OUT"
              ],
              "example": "IN"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10.0"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Movement type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement type filter",
              "enum": [
                "MANUAL",
                "SHIPMENT"
              ],
              "example": "MANUAL"
            }
          },
          {
            "name": "cost",
            "in": "query",
            "description": "Unit cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "25.0"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "quantityLeft",
            "in": "query",
            "description": "Remaining quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Remaining quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5.0"
            }
          },
          {
            "name": "ownerId",
            "in": "query",
            "description": "Owner entity ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Owner entity ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "ownerType",
            "in": "query",
            "description": "Owner entity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Owner entity type filter",
              "example": "PURCHASE_INVOICE"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Unit of measurement filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit of measurement filter",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "UNIT"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "comment",
            "in": "query",
            "description": "Comment filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Comment filter",
              "example": "Initial stock entry"
            }
          },
          {
            "name": "ean",
            "in": "query",
            "description": "EAN barcode filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "EAN barcode filter",
              "example": "4006381333931"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockMovementLineAdvancedView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/stock-movement-line/overall": {
      "get": {
        "tags": [
          "stock-movement-line-controller"
        ],
        "summary": "Get stock movements total count",
        "description": "Returns the total number of stock movements based on the specified filters.",
        "operationId": "calculateResultCount_8",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Stock movement ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Stock movement ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Movement date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "articleRealId",
            "in": "query",
            "description": "Article real ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article real ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article code filter",
              "example": "ART-001"
            }
          },
          {
            "name": "movementDirection",
            "in": "query",
            "description": "Movement direction filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement direction filter",
              "enum": [
                "IN",
                "OUT"
              ],
              "example": "IN"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10.0"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Movement type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement type filter",
              "enum": [
                "MANUAL",
                "SHIPMENT"
              ],
              "example": "MANUAL"
            }
          },
          {
            "name": "cost",
            "in": "query",
            "description": "Unit cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "25.0"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "quantityLeft",
            "in": "query",
            "description": "Remaining quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Remaining quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5.0"
            }
          },
          {
            "name": "ownerId",
            "in": "query",
            "description": "Owner entity ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Owner entity ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "ownerType",
            "in": "query",
            "description": "Owner entity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Owner entity type filter",
              "example": "PURCHASE_INVOICE"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Unit of measurement filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit of measurement filter",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "UNIT"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "comment",
            "in": "query",
            "description": "Comment filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Comment filter",
              "example": "Initial stock entry"
            }
          },
          {
            "name": "ean",
            "in": "query",
            "description": "EAN barcode filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "EAN barcode filter",
              "example": "4006381333931"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/stock-movement-line/advanced": {
      "get": {
        "tags": [
          "stock-movement-line-controller"
        ],
        "summary": "Get stock movements with advanced filters",
        "description": "Returns a list of stock movements based on advanced filters.",
        "operationId": "getStockMovementLinesAdvanced",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Stock movement ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Stock movement ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Movement date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "articleRealId",
            "in": "query",
            "description": "Article real ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article real ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article code filter",
              "example": "ART-001"
            }
          },
          {
            "name": "movementDirection",
            "in": "query",
            "description": "Movement direction filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement direction filter",
              "enum": [
                "IN",
                "OUT"
              ],
              "example": "IN"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10.0"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Movement type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement type filter",
              "enum": [
                "MANUAL",
                "SHIPMENT"
              ],
              "example": "MANUAL"
            }
          },
          {
            "name": "cost",
            "in": "query",
            "description": "Unit cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "25.0"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "quantityLeft",
            "in": "query",
            "description": "Remaining quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Remaining quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5.0"
            }
          },
          {
            "name": "ownerId",
            "in": "query",
            "description": "Owner entity ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Owner entity ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "ownerType",
            "in": "query",
            "description": "Owner entity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Owner entity type filter",
              "example": "PURCHASE_INVOICE"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Unit of measurement filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit of measurement filter",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "UNIT"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "comment",
            "in": "query",
            "description": "Comment filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Comment filter",
              "example": "Initial stock entry"
            }
          },
          {
            "name": "ean",
            "in": "query",
            "description": "EAN barcode filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "EAN barcode filter",
              "example": "4006381333931"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StockMovementLineView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice": {
      "get": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Get list of sales invoices",
        "description": "Returns a list of sales invoices based on the specified filters.",
        "operationId": "getTableView_9",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Internal reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal reference filter",
              "example": "REF-2026-001"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Consulting services Q2 2026"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "receivable",
            "in": "query",
            "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "OPEN",
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "OVERDUE",
                "PRO_FORMA"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "ourContactName",
            "in": "query",
            "description": "Our contact (sales representative) name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact (sales representative) name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "clientECorrespondence",
            "in": "query",
            "description": "Whether the client uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the client uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "qrGenerationAvailability",
            "in": "query",
            "description": "Whether QR-bill generation is available for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether QR-bill generation is available for the invoice",
              "example": true
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "clientBillingEmail",
            "in": "query",
            "description": "Billing email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billing email address filter",
              "example": "billing@example.com"
            }
          },
          {
            "name": "hasShipments",
            "in": "query",
            "description": "Whether the invoice has shipments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has shipments",
              "example": false
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the invoice document has been sent to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice document has been sent to the client",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesInvoiceView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{id}": {
      "get": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Get details of sales invoice",
        "description": "Returns details of the specified sales invoice.",
        "operationId": "find_4",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesInvoice"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Delete sales invoice by ID",
        "description": "Deletes a sales invoice by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_6",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{id}/deleted": {
      "get": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Get deleted sales invoice by ID",
        "description": "Returns deleted sales invoice details by ID.",
        "operationId": "findOne",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeletedSalesInvoice"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/total": {
      "get": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Get total values for list of sales invoices",
        "description": "Returns aggregated sales invoices totals based on the specified filters.",
        "operationId": "calculateTotal_4",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Internal reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal reference filter",
              "example": "REF-2026-001"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Consulting services Q2 2026"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "receivable",
            "in": "query",
            "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "OPEN",
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "OVERDUE",
                "PRO_FORMA"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "ourContactName",
            "in": "query",
            "description": "Our contact (sales representative) name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact (sales representative) name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "clientECorrespondence",
            "in": "query",
            "description": "Whether the client uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the client uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "qrGenerationAvailability",
            "in": "query",
            "description": "Whether QR-bill generation is available for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether QR-bill generation is available for the invoice",
              "example": true
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "clientBillingEmail",
            "in": "query",
            "description": "Billing email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billing email address filter",
              "example": "billing@example.com"
            }
          },
          {
            "name": "hasShipments",
            "in": "query",
            "description": "Whether the invoice has shipments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has shipments",
              "example": false
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the invoice document has been sent to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice document has been sent to the client",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesInvoiceBaseView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/overall": {
      "get": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Get total results count for list of sales invoices",
        "description": "Returns the total number of sales invoices matching the specified advanced filters.",
        "operationId": "calculateResultCount_9",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Internal reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal reference filter",
              "example": "REF-2026-001"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Consulting services Q2 2026"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "receivable",
            "in": "query",
            "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "OPEN",
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "OVERDUE",
                "PRO_FORMA"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "ourContactName",
            "in": "query",
            "description": "Our contact (sales representative) name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact (sales representative) name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "clientECorrespondence",
            "in": "query",
            "description": "Whether the client uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the client uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "qrGenerationAvailability",
            "in": "query",
            "description": "Whether QR-bill generation is available for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether QR-bill generation is available for the invoice",
              "example": true
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "clientBillingEmail",
            "in": "query",
            "description": "Billing email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billing email address filter",
              "example": "billing@example.com"
            }
          },
          {
            "name": "hasShipments",
            "in": "query",
            "description": "Whether the invoice has shipments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has shipments",
              "example": false
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the invoice document has been sent to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice document has been sent to the client",
              "example": true
            }
          },
          {
            "name": "addressClientName",
            "in": "query",
            "description": "Client address name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Client address street filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address street filter",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Client address P.O. box / street line 2 filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address P.O. box / street line 2 filter",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressZipCode",
            "in": "query",
            "description": "Client address postal code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address postal code filter",
              "example": "1200"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Client address city filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address city filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressCountryCode",
            "in": "query",
            "description": "Client address ISO 3166-1 alpha-2 country code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address ISO 3166-1 alpha-2 country code filter",
              "example": "CH"
            }
          },
          {
            "name": "addressRegionCode",
            "in": "query",
            "description": "Client address region code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address region code filter",
              "example": "GE"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Client address 'to the attention of' filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address 'to the attention of' filter",
              "example": "John Doe"
            }
          },
          {
            "name": "salesInvoiceLineId",
            "in": "query",
            "description": "Sales invoice line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineDescription",
            "in": "query",
            "description": "Invoice line description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line description filter",
              "example": "Consulting hours"
            }
          },
          {
            "name": "invoiceLineSaleAccountId",
            "in": "query",
            "description": "Invoice line sale chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line sale chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineTotalNet",
            "in": "query",
            "description": "Invoice line net total filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line net total filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineVat",
            "in": "query",
            "description": "Invoice line VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineTotalPrice",
            "in": "query",
            "description": "Invoice line total price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line total price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineNetPrice",
            "in": "query",
            "description": "Invoice line net unit price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line net unit price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineDepartmentId",
            "in": "query",
            "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineArticleId",
            "in": "query",
            "description": "Invoice line article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineAllocationKeys",
            "in": "query",
            "description": "Allocation rule name",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Allocation rule name",
              "example": "Default expense allocation"
            }
          },
          {
            "name": "invoiceLineOfficeId",
            "in": "query",
            "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentReceivableByAccountId",
            "in": "query",
            "description": "Payment receivable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment receivable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentRequestedDate",
            "in": "query",
            "description": "Payment requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paymentOverdueDate",
            "in": "query",
            "description": "Payment overdue date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment overdue date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paymentValueDate",
            "in": "query",
            "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paymentPaidAmount",
            "in": "query",
            "description": "Payment paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paymentBankCharges",
            "in": "query",
            "description": "Payment bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paymentLossOnDebtors",
            "in": "query",
            "description": "Payment loss on debtors filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment loss on debtors filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paymentBvrQrNumber",
            "in": "query",
            "description": "Payment BVR-QR number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment BVR-QR number filter",
              "example": "210000000003139471430009017"
            }
          },
          {
            "name": "specificBalanceSheetAccountId",
            "in": "query",
            "description": "Specific balance sheet chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Specific balance sheet chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "excludedFromVat",
            "in": "query",
            "description": "Whether the invoice is excluded from VAT reporting",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is excluded from VAT reporting",
              "example": false
            }
          },
          {
            "name": "yourReference",
            "in": "query",
            "description": "Client's reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client's reference filter",
              "example": "PO-2026-100"
            }
          },
          {
            "name": "ourContactId",
            "in": "query",
            "description": "Our contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "openDate",
            "in": "query",
            "description": "Open date filter.<br><br>Used only when <code>showOpenInvoices</code> is set to <code>true</code>.<br><br>",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Open date filter.<br><br>Used only when <code>showOpenInvoices</code> is set to <code>true</code>.<br><br>",
              "example": "2026-06-15T00:00:00Z"
            }
          },
          {
            "name": "showOpenInvoices",
            "in": "query",
            "description": "Show open invoices.<br><br>Requires <code>openDate</code> when set to <code>true</code>.<br><br>",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Show open invoices.<br><br>Requires <code>openDate</code> when set to <code>true</code>.<br><br>",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/modified-sales-invoice": {
      "get": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Get modified sales invoices",
        "description": "Returns a list of sales invoices modified after the specified cutoff date. Returns 400 if an error occurs.",
        "operationId": "modifiedSalesInvoice",
        "parameters": [
          {
            "name": "cutoffDate",
            "in": "query",
            "description": "Cutoff date to filter modified invoices",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2026-01-01T00:00:00.000Z"
          },
          {
            "name": "timezoneName",
            "in": "query",
            "description": "Timezone used for date and time conversion",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "Europe/Zurich"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesInvoiceView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/client": {
      "get": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Get list of sales invoice clients",
        "description": "Returns the identifiers of clients associated with sales invoices matching the specified filters.",
        "operationId": "getSalesInvoicesClients",
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "description": "Sales invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "schema": {
              "type": "string",
              "format": "date",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "creatorContactId",
            "in": "query",
            "description": "Creator contact ID filter.<br><br>",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "receivable",
            "in": "query",
            "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Sales invoice status filter.<br><br>",
            "schema": {
              "type": "string",
              "enum": [
                "OPEN",
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "OVERDUE",
                "PRO_FORMA"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "uniqueItems": true
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/advanced": {
      "get": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Get list of sales invoices",
        "description": "Returns a list of sales invoices based on the specified advanced filters.",
        "operationId": "getAdvancedFilters",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Internal reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal reference filter",
              "example": "REF-2026-001"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Consulting services Q2 2026"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "receivable",
            "in": "query",
            "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "OPEN",
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "OVERDUE",
                "PRO_FORMA"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "ourContactName",
            "in": "query",
            "description": "Our contact (sales representative) name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact (sales representative) name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "clientECorrespondence",
            "in": "query",
            "description": "Whether the client uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the client uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "qrGenerationAvailability",
            "in": "query",
            "description": "Whether QR-bill generation is available for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether QR-bill generation is available for the invoice",
              "example": true
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "clientBillingEmail",
            "in": "query",
            "description": "Billing email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billing email address filter",
              "example": "billing@example.com"
            }
          },
          {
            "name": "hasShipments",
            "in": "query",
            "description": "Whether the invoice has shipments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has shipments",
              "example": false
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the invoice document has been sent to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice document has been sent to the client",
              "example": true
            }
          },
          {
            "name": "addressClientName",
            "in": "query",
            "description": "Client address name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Client address street filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address street filter",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Client address P.O. box / street line 2 filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address P.O. box / street line 2 filter",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressZipCode",
            "in": "query",
            "description": "Client address postal code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address postal code filter",
              "example": "1200"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Client address city filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address city filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressCountryCode",
            "in": "query",
            "description": "Client address ISO 3166-1 alpha-2 country code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address ISO 3166-1 alpha-2 country code filter",
              "example": "CH"
            }
          },
          {
            "name": "addressRegionCode",
            "in": "query",
            "description": "Client address region code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address region code filter",
              "example": "GE"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Client address 'to the attention of' filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address 'to the attention of' filter",
              "example": "John Doe"
            }
          },
          {
            "name": "salesInvoiceLineId",
            "in": "query",
            "description": "Sales invoice line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineDescription",
            "in": "query",
            "description": "Invoice line description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line description filter",
              "example": "Consulting hours"
            }
          },
          {
            "name": "invoiceLineSaleAccountId",
            "in": "query",
            "description": "Invoice line sale chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line sale chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineTotalNet",
            "in": "query",
            "description": "Invoice line net total filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line net total filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineVat",
            "in": "query",
            "description": "Invoice line VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineTotalPrice",
            "in": "query",
            "description": "Invoice line total price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line total price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineNetPrice",
            "in": "query",
            "description": "Invoice line net unit price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line net unit price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineDepartmentId",
            "in": "query",
            "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineArticleId",
            "in": "query",
            "description": "Invoice line article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineAllocationKeys",
            "in": "query",
            "description": "Allocation rule name",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Allocation rule name",
              "example": "Default expense allocation"
            }
          },
          {
            "name": "invoiceLineOfficeId",
            "in": "query",
            "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentReceivableByAccountId",
            "in": "query",
            "description": "Payment receivable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment receivable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentRequestedDate",
            "in": "query",
            "description": "Payment requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paymentOverdueDate",
            "in": "query",
            "description": "Payment overdue date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment overdue date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paymentValueDate",
            "in": "query",
            "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paymentPaidAmount",
            "in": "query",
            "description": "Payment paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paymentBankCharges",
            "in": "query",
            "description": "Payment bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paymentLossOnDebtors",
            "in": "query",
            "description": "Payment loss on debtors filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment loss on debtors filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paymentBvrQrNumber",
            "in": "query",
            "description": "Payment BVR-QR number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment BVR-QR number filter",
              "example": "210000000003139471430009017"
            }
          },
          {
            "name": "specificBalanceSheetAccountId",
            "in": "query",
            "description": "Specific balance sheet chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Specific balance sheet chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "excludedFromVat",
            "in": "query",
            "description": "Whether the invoice is excluded from VAT reporting",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is excluded from VAT reporting",
              "example": false
            }
          },
          {
            "name": "yourReference",
            "in": "query",
            "description": "Client's reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client's reference filter",
              "example": "PO-2026-100"
            }
          },
          {
            "name": "ourContactId",
            "in": "query",
            "description": "Our contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "openDate",
            "in": "query",
            "description": "Open date filter.<br><br>Used only when <code>showOpenInvoices</code> is set to <code>true</code>.<br><br>",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Open date filter.<br><br>Used only when <code>showOpenInvoices</code> is set to <code>true</code>.<br><br>",
              "example": "2026-06-15T00:00:00Z"
            }
          },
          {
            "name": "showOpenInvoices",
            "in": "query",
            "description": "Show open invoices.<br><br>Requires <code>openDate</code> when set to <code>true</code>.<br><br>",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Show open invoices.<br><br>Requires <code>openDate</code> when set to <code>true</code>.<br><br>",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesInvoiceBaseAdvancedView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/advanced/total": {
      "get": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Get total values for list of sales invoices",
        "description": "Returns aggregated sales invoices totals based on the specified advanced filters.",
        "operationId": "calculateAdvancedTotal",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Internal reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal reference filter",
              "example": "REF-2026-001"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Consulting services Q2 2026"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "receivable",
            "in": "query",
            "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "OPEN",
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "OVERDUE",
                "PRO_FORMA"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "ourContactName",
            "in": "query",
            "description": "Our contact (sales representative) name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact (sales representative) name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "clientECorrespondence",
            "in": "query",
            "description": "Whether the client uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the client uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "qrGenerationAvailability",
            "in": "query",
            "description": "Whether QR-bill generation is available for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether QR-bill generation is available for the invoice",
              "example": true
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "clientBillingEmail",
            "in": "query",
            "description": "Billing email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billing email address filter",
              "example": "billing@example.com"
            }
          },
          {
            "name": "hasShipments",
            "in": "query",
            "description": "Whether the invoice has shipments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has shipments",
              "example": false
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the invoice document has been sent to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice document has been sent to the client",
              "example": true
            }
          },
          {
            "name": "addressClientName",
            "in": "query",
            "description": "Client address name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Client address street filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address street filter",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Client address P.O. box / street line 2 filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address P.O. box / street line 2 filter",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressZipCode",
            "in": "query",
            "description": "Client address postal code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address postal code filter",
              "example": "1200"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Client address city filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address city filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressCountryCode",
            "in": "query",
            "description": "Client address ISO 3166-1 alpha-2 country code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address ISO 3166-1 alpha-2 country code filter",
              "example": "CH"
            }
          },
          {
            "name": "addressRegionCode",
            "in": "query",
            "description": "Client address region code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address region code filter",
              "example": "GE"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Client address 'to the attention of' filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address 'to the attention of' filter",
              "example": "John Doe"
            }
          },
          {
            "name": "salesInvoiceLineId",
            "in": "query",
            "description": "Sales invoice line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineDescription",
            "in": "query",
            "description": "Invoice line description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line description filter",
              "example": "Consulting hours"
            }
          },
          {
            "name": "invoiceLineSaleAccountId",
            "in": "query",
            "description": "Invoice line sale chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line sale chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineTotalNet",
            "in": "query",
            "description": "Invoice line net total filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line net total filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineVat",
            "in": "query",
            "description": "Invoice line VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineTotalPrice",
            "in": "query",
            "description": "Invoice line total price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line total price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineNetPrice",
            "in": "query",
            "description": "Invoice line net unit price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line net unit price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineDepartmentId",
            "in": "query",
            "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineArticleId",
            "in": "query",
            "description": "Invoice line article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineAllocationKeys",
            "in": "query",
            "description": "Allocation rule name",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Allocation rule name",
              "example": "Default expense allocation"
            }
          },
          {
            "name": "invoiceLineOfficeId",
            "in": "query",
            "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentReceivableByAccountId",
            "in": "query",
            "description": "Payment receivable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment receivable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentRequestedDate",
            "in": "query",
            "description": "Payment requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paymentOverdueDate",
            "in": "query",
            "description": "Payment overdue date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment overdue date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paymentValueDate",
            "in": "query",
            "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paymentPaidAmount",
            "in": "query",
            "description": "Payment paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paymentBankCharges",
            "in": "query",
            "description": "Payment bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paymentLossOnDebtors",
            "in": "query",
            "description": "Payment loss on debtors filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment loss on debtors filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paymentBvrQrNumber",
            "in": "query",
            "description": "Payment BVR-QR number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment BVR-QR number filter",
              "example": "210000000003139471430009017"
            }
          },
          {
            "name": "specificBalanceSheetAccountId",
            "in": "query",
            "description": "Specific balance sheet chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Specific balance sheet chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "excludedFromVat",
            "in": "query",
            "description": "Whether the invoice is excluded from VAT reporting",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is excluded from VAT reporting",
              "example": false
            }
          },
          {
            "name": "yourReference",
            "in": "query",
            "description": "Client's reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client's reference filter",
              "example": "PO-2026-100"
            }
          },
          {
            "name": "ourContactId",
            "in": "query",
            "description": "Our contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "openDate",
            "in": "query",
            "description": "Open date filter.<br><br>Used only when <code>showOpenInvoices</code> is set to <code>true</code>.<br><br>",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Open date filter.<br><br>Used only when <code>showOpenInvoices</code> is set to <code>true</code>.<br><br>",
              "example": "2026-06-15T00:00:00Z"
            }
          },
          {
            "name": "showOpenInvoices",
            "in": "query",
            "description": "Show open invoices.<br><br>Requires <code>openDate</code> when set to <code>true</code>.<br><br>",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Show open invoices.<br><br>Requires <code>openDate</code> when set to <code>true</code>.<br><br>",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesInvoiceBaseAdvancedView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/advanced/summary": {
      "get": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Get sales invoices count and totals with advanced filters in one call",
        "description": "Returns the result count and aggregated totals for the specified advanced filters in a single response, replacing separate calls to /overall and /advanced/total.",
        "operationId": "getAdvancedSummary",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Internal reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal reference filter",
              "example": "REF-2026-001"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Consulting services Q2 2026"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "receivable",
            "in": "query",
            "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Receivable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "OPEN",
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "OVERDUE",
                "PRO_FORMA"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "ourContactName",
            "in": "query",
            "description": "Our contact (sales representative) name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact (sales representative) name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "clientECorrespondence",
            "in": "query",
            "description": "Whether the client uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the client uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "qrGenerationAvailability",
            "in": "query",
            "description": "Whether QR-bill generation is available for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether QR-bill generation is available for the invoice",
              "example": true
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "clientBillingEmail",
            "in": "query",
            "description": "Billing email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billing email address filter",
              "example": "billing@example.com"
            }
          },
          {
            "name": "hasShipments",
            "in": "query",
            "description": "Whether the invoice has shipments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has shipments",
              "example": false
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the invoice document has been sent to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice document has been sent to the client",
              "example": true
            }
          },
          {
            "name": "addressClientName",
            "in": "query",
            "description": "Client address name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Client address street filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address street filter",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Client address P.O. box / street line 2 filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address P.O. box / street line 2 filter",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressZipCode",
            "in": "query",
            "description": "Client address postal code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address postal code filter",
              "example": "1200"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Client address city filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address city filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressCountryCode",
            "in": "query",
            "description": "Client address ISO 3166-1 alpha-2 country code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address ISO 3166-1 alpha-2 country code filter",
              "example": "CH"
            }
          },
          {
            "name": "addressRegionCode",
            "in": "query",
            "description": "Client address region code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address region code filter",
              "example": "GE"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Client address 'to the attention of' filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client address 'to the attention of' filter",
              "example": "John Doe"
            }
          },
          {
            "name": "salesInvoiceLineId",
            "in": "query",
            "description": "Sales invoice line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineDescription",
            "in": "query",
            "description": "Invoice line description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line description filter",
              "example": "Consulting hours"
            }
          },
          {
            "name": "invoiceLineSaleAccountId",
            "in": "query",
            "description": "Invoice line sale chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line sale chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineTotalNet",
            "in": "query",
            "description": "Invoice line net total filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line net total filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineVat",
            "in": "query",
            "description": "Invoice line VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineTotalPrice",
            "in": "query",
            "description": "Invoice line total price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line total price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineNetPrice",
            "in": "query",
            "description": "Invoice line net unit price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line net unit price filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "invoiceLineDepartmentId",
            "in": "query",
            "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineArticleId",
            "in": "query",
            "description": "Invoice line article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineAllocationKeys",
            "in": "query",
            "description": "Allocation rule name",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Allocation rule name",
              "example": "Default expense allocation"
            }
          },
          {
            "name": "invoiceLineOfficeId",
            "in": "query",
            "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentReceivableByAccountId",
            "in": "query",
            "description": "Payment receivable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment receivable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentRequestedDate",
            "in": "query",
            "description": "Payment requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paymentOverdueDate",
            "in": "query",
            "description": "Payment overdue date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment overdue date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paymentValueDate",
            "in": "query",
            "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paymentPaidAmount",
            "in": "query",
            "description": "Payment paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paymentBankCharges",
            "in": "query",
            "description": "Payment bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paymentLossOnDebtors",
            "in": "query",
            "description": "Payment loss on debtors filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment loss on debtors filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paymentBvrQrNumber",
            "in": "query",
            "description": "Payment BVR-QR number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment BVR-QR number filter",
              "example": "210000000003139471430009017"
            }
          },
          {
            "name": "specificBalanceSheetAccountId",
            "in": "query",
            "description": "Specific balance sheet chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Specific balance sheet chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "excludedFromVat",
            "in": "query",
            "description": "Whether the invoice is excluded from VAT reporting",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is excluded from VAT reporting",
              "example": false
            }
          },
          {
            "name": "yourReference",
            "in": "query",
            "description": "Client's reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client's reference filter",
              "example": "PO-2026-100"
            }
          },
          {
            "name": "ourContactId",
            "in": "query",
            "description": "Our contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "openDate",
            "in": "query",
            "description": "Open date filter.<br><br>Used only when <code>showOpenInvoices</code> is set to <code>true</code>.<br><br>",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Open date filter.<br><br>Used only when <code>showOpenInvoices</code> is set to <code>true</code>.<br><br>",
              "example": "2026-06-15T00:00:00Z"
            }
          },
          {
            "name": "showOpenInvoices",
            "in": "query",
            "description": "Show open invoices.<br><br>Requires <code>openDate</code> when set to <code>true</code>.<br><br>",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Show open invoices.<br><br>Requires <code>openDate</code> when set to <code>true</code>.<br><br>",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesInvoiceAdvancedSummary"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/accounting/{id}": {
      "get": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Get sales invoice accounting entries by ID",
        "description": "Returns accounting entries for the specified sales invoice.",
        "operationId": "getAccount",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceAccounting"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/accounting/{id}/deleted": {
      "get": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Get deleted sales invoice accounting entries by ID",
        "description": "Returns deleted accounting entries for the specified sales invoice.",
        "operationId": "getDeletedAccount",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceAccounting"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/role": {
      "get": {
        "tags": [
          "role-controller"
        ],
        "summary": "Get roles",
        "description": "Returns a list of roles based on the specified filters.",
        "operationId": "getTableView_10",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Role type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Role type filter",
              "enum": [
                "ROLE",
                "SUPER_ROLE"
              ],
              "example": "ROLE"
            }
          },
          {
            "name": "realId",
            "in": "query",
            "description": "Real underlying role ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Real underlying role ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Role name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Role name filter",
              "example": "Administrator"
            }
          },
          {
            "name": "isDefault",
            "in": "query",
            "description": "Whether this is the default role",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether this is the default role",
              "example": false
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Role description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Role description filter",
              "example": "Full access to all modules"
            }
          },
          {
            "name": "roleType",
            "in": "query",
            "description": "Role scope filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Role scope filter",
              "enum": [
                "ORGANIZATION",
                "GLOBAL"
              ],
              "example": "ORGANIZATION"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/role/{id}": {
      "get": {
        "tags": [
          "role-controller"
        ],
        "summary": "Get details of role",
        "operationId": "findRoleById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleWithPermissions"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "role-controller"
        ],
        "summary": "Delete role or super-role",
        "operationId": "delete_7",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/role/permissions": {
      "get": {
        "tags": [
          "role-controller"
        ],
        "summary": "Get permissions of list of roles",
        "operationId": "findPermissionsByRoleIds",
        "parameters": [
          {
            "name": "roleIds",
            "in": "query",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/report-template/tree": {
      "get": {
        "tags": [
          "report-template-controller"
        ],
        "summary": "Get report template lines",
        "description": "Returns a list of report template lines for the specified report type.",
        "operationId": "getReportTemplate",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Report type",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "BALANCE_SHEET",
                "PL",
                "CASH_FLOW",
                "RATIOS",
                "END_OF_YEAR_ASSET",
                "END_OF_YEAR_LIABILITY",
                "END_OF_YEAR_INCOME_STATEMENT"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/StaticTemplateLine"
                      },
                      {
                        "$ref": "#/components/schemas/TemplateLine"
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/registry/{uid}": {
      "get": {
        "tags": [
          "registry-controller"
        ],
        "summary": "Get registry by UID",
        "description": "Returns the registry for the specified UID. Returns 400 if the UID format is invalid, or 404 if not found.",
        "operationId": "getRegistryByUid",
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "description": "Registry UID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/registry/{organizationId}/organization": {
      "get": {
        "tags": [
          "registry-controller"
        ],
        "summary": "Get registry by organization ID",
        "description": "Returns the registry for the specified organization. Returns 404 if not found.",
        "operationId": "getRegistryByOrganizationId",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationRegistry"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/registry/registry-of-commerce": {
      "get": {
        "tags": [
          "registry-controller"
        ],
        "summary": "Get registry of commerce",
        "description": "Returns a list of registry of commerce publications for the organization based on the specified date range.",
        "operationId": "publicationOnContactsOfTheCompany",
        "parameters": [
          {
            "name": "mutationIds",
            "in": "query",
            "description": "Mutation IDs.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "schema": {
              "type": "string",
              "example": "1345435;23546345;3345435"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RegistryOfCommerce"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/registry/publication": {
      "get": {
        "tags": [
          "registry-controller"
        ],
        "summary": "Get registry publications",
        "description": "Returns a list of registry publications based on the specified filters. Returns 400 if the UID format is invalid.",
        "operationId": "getTableView_11",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "publicationId",
            "in": "query",
            "description": "Publication ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Publication ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "uid",
            "in": "query",
            "description": "Company UID (registration number) filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company UID (registration number) filter",
              "example": "CHE-123.456.789"
            }
          },
          {
            "name": "publication",
            "in": "query",
            "description": "Publication text filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Publication text filter",
              "example": "Change of registered address"
            }
          },
          {
            "name": "publicationDate",
            "in": "query",
            "description": "Publication date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Publication date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "mutation",
            "in": "query",
            "description": "Mutation type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Mutation type filter",
              "example": "Address change"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/registry/publication/overall": {
      "get": {
        "tags": [
          "registry-controller"
        ],
        "summary": "Get registry publications total count",
        "description": "Returns the total number of registry publications based on the specified filters. Returns 400 if the UID format is invalid.",
        "operationId": "calculateResultCount_10",
        "parameters": [
          {
            "name": "publicationId",
            "in": "query",
            "description": "Publication ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Publication ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "uid",
            "in": "query",
            "description": "Company UID (registration number) filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company UID (registration number) filter",
              "example": "CHE-123.456.789"
            }
          },
          {
            "name": "publication",
            "in": "query",
            "description": "Publication text filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Publication text filter",
              "example": "Change of registered address"
            }
          },
          {
            "name": "publicationDate",
            "in": "query",
            "description": "Publication date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Publication date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "mutation",
            "in": "query",
            "description": "Mutation type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Mutation type filter",
              "example": "Address change"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/registry/default-mutation-ids": {
      "get": {
        "tags": [
          "registry-controller"
        ],
        "summary": "Get default registry mutation ids",
        "description": "Returns the mutation type ids (Liquidation, Deletion) used as the implicit filter when GET /registry/registry-of-commerce is called without a mutationIds param. Exposed so the frontend can show these as visibly pre-selected in the publication-type filter, rather than silently narrowing results with no indication a filter is active.",
        "operationId": "getDefaultMutationIds",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/reconciliation-lines": {
      "get": {
        "tags": [
          "reconciliation-controller"
        ],
        "summary": "Get reconciliation lines",
        "description": "Returns a list of reconciliation lines based on the specified filters.",
        "operationId": "getTable",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Reconciliation line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Reconciliation line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "processDate",
            "in": "query",
            "description": "Process date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Process date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "movementDirection",
            "in": "query",
            "description": "Movement direction filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement direction filter",
              "enum": [
                "IN",
                "OUT"
              ],
              "example": "IN"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Reference filter",
              "example": "PAY-2026-001"
            }
          },
          {
            "name": "valueDate",
            "in": "query",
            "description": "Value date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Value date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paidCurrencyCode",
            "in": "query",
            "description": "Paid currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Paid currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "paidAmount",
            "in": "query",
            "description": "Paid amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Paid amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1200.0"
            }
          },
          {
            "name": "referredDocumentType",
            "in": "query",
            "description": "Referred document type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Referred document type filter",
              "enum": [
                "PURCHASE_INVOICE",
                "SALES_INVOICE",
                "PAYSLIP",
                "MANUAL"
              ],
              "example": "PURCHASE_INVOICE"
            }
          },
          {
            "name": "isMatch",
            "in": "query",
            "description": "Whether the line has been matched",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the line has been matched",
              "example": false
            }
          },
          {
            "name": "isInternalContact",
            "in": "query",
            "description": "Whether the associated contact is an internal contact",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the associated contact is an internal contact",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ReconciliationLineView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "reconciliation-controller"
        ],
        "summary": "Delete multiple reconciliation lines",
        "description": "Deletes multiple reconciliation lines by IDs.",
        "operationId": "deleteAll",
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "description": "List of reconciliation line IDs to delete",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/reconciliation-lines/{id}": {
      "get": {
        "tags": [
          "reconciliation-controller"
        ],
        "summary": "Get reconciliation line by ID",
        "description": "Returns reconciliation line details by ID.",
        "operationId": "getReconciliationLine",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Reconciliation line ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReconciliationLine"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "reconciliation-controller"
        ],
        "summary": "Delete reconciliation line by ID",
        "description": "Deletes a reconciliation line by ID.",
        "operationId": "delete_8",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Reconciliation line ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/reconciliation-lines/to-be-reconciled": {
      "get": {
        "tags": [
          "reconciliation-controller"
        ],
        "summary": "Get reconciliation lines pending count",
        "description": "Returns the number of reconciliation lines pending reconciliation.",
        "operationId": "linesToBeReconciled",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Reconciliation line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Reconciliation line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "processDate",
            "in": "query",
            "description": "Process date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Process date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "movementDirection",
            "in": "query",
            "description": "Movement direction filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement direction filter",
              "enum": [
                "IN",
                "OUT"
              ],
              "example": "IN"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Reference filter",
              "example": "PAY-2026-001"
            }
          },
          {
            "name": "valueDate",
            "in": "query",
            "description": "Value date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Value date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paidCurrencyCode",
            "in": "query",
            "description": "Paid currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Paid currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "paidAmount",
            "in": "query",
            "description": "Paid amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Paid amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1200.0"
            }
          },
          {
            "name": "referredDocumentType",
            "in": "query",
            "description": "Referred document type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Referred document type filter",
              "enum": [
                "PURCHASE_INVOICE",
                "SALES_INVOICE",
                "PAYSLIP",
                "MANUAL"
              ],
              "example": "PURCHASE_INVOICE"
            }
          },
          {
            "name": "isMatch",
            "in": "query",
            "description": "Whether the line has been matched",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the line has been matched",
              "example": false
            }
          },
          {
            "name": "isInternalContact",
            "in": "query",
            "description": "Whether the associated contact is an internal contact",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the associated contact is an internal contact",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/reconciliation-lines/overall": {
      "get": {
        "tags": [
          "reconciliation-controller"
        ],
        "summary": "Get reconciliation lines total count",
        "description": "Returns the total number of reconciliation lines based on the specified filters.",
        "operationId": "calculateResultCount_11",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Reconciliation line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Reconciliation line ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "processDate",
            "in": "query",
            "description": "Process date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Process date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "movementDirection",
            "in": "query",
            "description": "Movement direction filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Movement direction filter",
              "enum": [
                "IN",
                "OUT"
              ],
              "example": "IN"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Reference filter",
              "example": "PAY-2026-001"
            }
          },
          {
            "name": "valueDate",
            "in": "query",
            "description": "Value date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Value date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "paidCurrencyCode",
            "in": "query",
            "description": "Paid currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Paid currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "paidAmount",
            "in": "query",
            "description": "Paid amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Paid amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1200.0"
            }
          },
          {
            "name": "referredDocumentType",
            "in": "query",
            "description": "Referred document type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Referred document type filter",
              "enum": [
                "PURCHASE_INVOICE",
                "SALES_INVOICE",
                "PAYSLIP",
                "MANUAL"
              ],
              "example": "PURCHASE_INVOICE"
            }
          },
          {
            "name": "isMatch",
            "in": "query",
            "description": "Whether the line has been matched",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the line has been matched",
              "example": false
            }
          },
          {
            "name": "isInternalContact",
            "in": "query",
            "description": "Whether the associated contact is an internal contact",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the associated contact is an internal contact",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/receivable": {
      "get": {
        "tags": [
          "receivable-controller"
        ],
        "summary": "Get list of receivables",
        "description": "Returns a list of receivables based on the specified filters.",
        "operationId": "getTableView_12",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "module",
            "in": "query",
            "description": "Supported type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supported type filter",
              "enum": [
                "PURCHASE_INVOICES",
                "SALES_INVOICES"
              ],
              "example": "SALES_INVOICES"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceId",
            "in": "query",
            "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceDate",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "invoiceNumber",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "requestedAmount",
            "in": "query",
            "description": "Requested amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Requested amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter (client or supplier, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter (client or supplier, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the receivable has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the receivable has warnings",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ReceivableView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/receivable/total": {
      "get": {
        "tags": [
          "receivable-controller"
        ],
        "summary": "Get total values for list of receivables",
        "description": "Returns aggregated receivables totals based on the specified filters.",
        "operationId": "calculateTotal_5",
        "parameters": [
          {
            "name": "module",
            "in": "query",
            "description": "Supported type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supported type filter",
              "enum": [
                "PURCHASE_INVOICES",
                "SALES_INVOICES"
              ],
              "example": "SALES_INVOICES"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceId",
            "in": "query",
            "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceDate",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "invoiceNumber",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "requestedAmount",
            "in": "query",
            "description": "Requested amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Requested amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter (client or supplier, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter (client or supplier, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the receivable has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the receivable has warnings",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReceivableView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/receivable/overall": {
      "get": {
        "tags": [
          "receivable-controller"
        ],
        "summary": "Get total results count for list of receivables",
        "description": "Returns the total number of receivables matching the specified filters.",
        "operationId": "calculateResultCount_12",
        "parameters": [
          {
            "name": "module",
            "in": "query",
            "description": "Supported type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supported type filter",
              "enum": [
                "PURCHASE_INVOICES",
                "SALES_INVOICES"
              ],
              "example": "SALES_INVOICES"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceId",
            "in": "query",
            "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceDate",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "invoiceNumber",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "requestedAmount",
            "in": "query",
            "description": "Requested amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Requested amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter (client or supplier, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter (client or supplier, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the receivable has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the receivable has warnings",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/receivable/outstanding": {
      "get": {
        "tags": [
          "receivable-controller"
        ],
        "summary": "Get list of outstanding receivables",
        "description": "Returns a list of outstanding receivables for the current organization.",
        "operationId": "getOutstandingReceivables",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceContactInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/receivable/outstanding/requested-payment-terms": {
      "get": {
        "tags": [
          "receivable-controller"
        ],
        "summary": "Get details of requested payment terms for outstanding receivables",
        "description": "Returns the requested payment terms value for outstanding receivables of the current organization.",
        "operationId": "getRequestedPaymentTerms",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/receivable/filters": {
      "get": {
        "tags": [
          "receivable-controller"
        ],
        "summary": "Prepare filters for get list of receivables",
        "description": "Returns prepared filter values for the receivables list based on the specified parameters.",
        "operationId": "prepareFilters",
        "parameters": [
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter."
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter."
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/receivable/contact": {
      "get": {
        "tags": [
          "receivable-controller"
        ],
        "summary": "Get list of contacts related to receivables",
        "description": "Returns a list of contacts associated with receivables.",
        "operationId": "getContacts",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactBrief"
                  },
                  "uniqueItems": true
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ratios/ratios-report": {
      "get": {
        "tags": [
          "ratios-controller"
        ],
        "summary": "Get ratios report",
        "description": "Returns a list of industry average ratios for the specified period. Optionally includes last year's data for comparison.",
        "operationId": "getRatiosReport",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "lastYear",
            "in": "query",
            "description": "Include information for last year",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "lastYearStartDate",
            "in": "query",
            "description": "Last Year start date",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastYearEndDate",
            "in": "query",
            "description": "Last Year end date",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Ratio"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ratios/net-margin": {
      "get": {
        "tags": [
          "ratios-controller"
        ],
        "summary": "Get net margin ratio",
        "description": "Returns the net margin ratio for the organization.",
        "operationId": "getNetMargin",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ratios/liquidity-ratio": {
      "get": {
        "tags": [
          "ratios-controller"
        ],
        "summary": "Get liquidity ratio",
        "description": "Returns the liquidity ratio for the organization.",
        "operationId": "getLiquidityRatio",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ratios/gross-margin": {
      "get": {
        "tags": [
          "ratios-controller"
        ],
        "summary": "Get gross margin ratio",
        "description": "Returns the gross margin ratio for the organization.",
        "operationId": "getGrossMargin",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ratios/average-weighted-receivables": {
      "get": {
        "tags": [
          "ratios-controller"
        ],
        "summary": "Get average weighted receivables ratio",
        "description": "Returns the average weighted receivables ratio for the organization.",
        "operationId": "getAverageWeightedReceivables",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ratios/average-weighted-payables": {
      "get": {
        "tags": [
          "ratios-controller"
        ],
        "summary": "Get average weighted payables ratio",
        "description": "Returns the average weighted payables ratio for the organization.",
        "operationId": "getAverageWeightedPayables",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ratios/average-receivables": {
      "get": {
        "tags": [
          "ratios-controller"
        ],
        "summary": "Get average receivables ratio",
        "description": "Returns the average receivables ratio for the organization.",
        "operationId": "getAverageReceivables",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ratios/average-payables": {
      "get": {
        "tags": [
          "ratios-controller"
        ],
        "summary": "Get average payables ratio",
        "description": "Returns the average payables ratio for the organization.",
        "operationId": "getAveragePayables",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ratios/annual-employee-count": {
      "get": {
        "tags": [
          "ratios-controller"
        ],
        "summary": "Get annual employee count",
        "description": "Returns the annual employee count for the specified period and optional department.",
        "operationId": "getAnnualEmployeeCount",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Get list of purchase invoices",
        "description": "Returns a list of purchase invoices based on the specified filters.",
        "operationId": "getInvoices",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "supplierId",
            "in": "query",
            "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Supplier invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "UNPAID",
                "OVERDUE",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED",
                "DRAFT"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PurchaseInvoiceView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/{id}": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Get details of purchase invoice",
        "description": "Returns details of the specified purchase invoice.",
        "operationId": "find_5",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseInvoice"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Delete purchase invoice by ID",
        "description": "Deletes a purchase invoice by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_9",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/{id}/deleted": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Get deleted purchase invoice by ID",
        "description": "Returns deleted purchase invoice details by ID.",
        "operationId": "findOne_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeletedPurchaseInvoice"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/total": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Get total values for list of purchase invoices",
        "description": "Returns aggregated purchase invoices totals based on the specified filters.",
        "operationId": "calculateTotal_6",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "supplierId",
            "in": "query",
            "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Supplier invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "UNPAID",
                "OVERDUE",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED",
                "DRAFT"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseInvoiceBaseView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/supplier": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Get purchase invoice suppliers",
        "description": "Returns a set of supplier IDs for purchase invoices based on the specified filters.",
        "operationId": "getPurchaseInvoicesSuppliers",
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "description": "Purchase invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "schema": {
              "type": "string",
              "format": "date",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Purchase invoice status filter.<br><br>",
            "schema": {
              "type": "string",
              "enum": [
                "UNPAID",
                "OVERDUE",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED",
                "DRAFT"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "uniqueItems": true
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/overall": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Get total results count for list of purchase invoices",
        "description": "Returns the total number of purchase invoices matching the specified advanced filters.",
        "operationId": "calculateAdvancedResultCount",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "supplierId",
            "in": "query",
            "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Supplier invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "UNPAID",
                "OVERDUE",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED",
                "DRAFT"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "vatAmount",
            "in": "query",
            "description": "VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "chartOfAccountsId",
            "in": "query",
            "description": "Chart of accounts (expense category) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts (expense category) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineDepartmentId",
            "in": "query",
            "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineOfficeId",
            "in": "query",
            "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the attribution should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the attribution should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "reBilled",
            "in": "query",
            "description": "Whether the attribution has already been rebilled",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the attribution has already been rebilled",
              "example": false
            }
          },
          {
            "name": "reBilledDate",
            "in": "query",
            "description": "ReBilled date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "ReBilled date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Quantity filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5"
            }
          },
          {
            "name": "ruleName",
            "in": "query",
            "description": "Allocation rule name",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Allocation rule name",
              "example": "Default expense allocation"
            }
          },
          {
            "name": "paidAmount",
            "in": "query",
            "description": "Paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "bankCharges",
            "in": "query",
            "description": "Bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payableByAccount",
            "in": "query",
            "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentType",
            "in": "query",
            "description": "Payment type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment type filter",
              "enum": [
                "BANK_TRANSFER",
                "BVR",
                "QR_BILL"
              ],
              "example": "BANK_TRANSFER"
            }
          },
          {
            "name": "paymentAccountId",
            "in": "query",
            "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "vatType",
            "in": "query",
            "description": "VAT type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT type filter",
              "enum": [
                "NO_VAT",
                "NATIVE",
                "IMPORT_OF_SERVICE"
              ],
              "example": "NATIVE"
            }
          },
          {
            "name": "documentsExist",
            "in": "query",
            "description": "Whether documents (attachments) exist for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether documents (attachments) exist for the invoice",
              "example": true
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Requested payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Planned payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Planned payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Sent payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Sent payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "valueDate",
            "in": "query",
            "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "showOpenInvoices",
            "in": "query",
            "description": "Show open invoices.<br><br>`Requires 'openDate' when set to true.`<br><br>",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Show open invoices.<br><br>`Requires 'openDate' when set to true.`<br><br>",
              "example": false
            }
          },
          {
            "name": "openDate",
            "in": "query",
            "description": "Open date filter.<br><br>`Used only when 'showOpenInvoices' is set to true.`<br><br>",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Open date filter.<br><br>`Used only when 'showOpenInvoices' is set to true.`<br><br>",
              "example": "2026-06-15T00:00:00Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/modified-purchase-invoice": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Get modified purchase invoices",
        "description": "Returns a list of purchase invoices modified after the specified cutoff date. Returns 400 if an error occurs.",
        "operationId": "modifiedPurchaseInvoice",
        "parameters": [
          {
            "name": "cutoffDate",
            "in": "query",
            "description": "Cutoff date to filter modified invoices",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2026-01-01T00:00:00.000Z"
          },
          {
            "name": "timezoneName",
            "in": "query",
            "description": "Timezone used for date and time conversion",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "Europe/Zurich"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PurchaseInvoiceView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/download-archive": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Download purchase invoice documents as archive",
        "description": "Returns a ZIP archive containing documents for purchase invoices matching the specified filters.",
        "operationId": "downloadFiles",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "supplierId",
            "in": "query",
            "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Supplier invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "UNPAID",
                "OVERDUE",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED",
                "DRAFT"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "vatAmount",
            "in": "query",
            "description": "VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "chartOfAccountsId",
            "in": "query",
            "description": "Chart of accounts (expense category) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts (expense category) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineDepartmentId",
            "in": "query",
            "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineOfficeId",
            "in": "query",
            "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the attribution should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the attribution should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "reBilled",
            "in": "query",
            "description": "Whether the attribution has already been rebilled",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the attribution has already been rebilled",
              "example": false
            }
          },
          {
            "name": "reBilledDate",
            "in": "query",
            "description": "ReBilled date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "ReBilled date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Quantity filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5"
            }
          },
          {
            "name": "ruleName",
            "in": "query",
            "description": "Allocation rule name",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Allocation rule name",
              "example": "Default expense allocation"
            }
          },
          {
            "name": "paidAmount",
            "in": "query",
            "description": "Paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "bankCharges",
            "in": "query",
            "description": "Bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payableByAccount",
            "in": "query",
            "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentType",
            "in": "query",
            "description": "Payment type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment type filter",
              "enum": [
                "BANK_TRANSFER",
                "BVR",
                "QR_BILL"
              ],
              "example": "BANK_TRANSFER"
            }
          },
          {
            "name": "paymentAccountId",
            "in": "query",
            "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "vatType",
            "in": "query",
            "description": "VAT type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT type filter",
              "enum": [
                "NO_VAT",
                "NATIVE",
                "IMPORT_OF_SERVICE"
              ],
              "example": "NATIVE"
            }
          },
          {
            "name": "documentsExist",
            "in": "query",
            "description": "Whether documents (attachments) exist for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether documents (attachments) exist for the invoice",
              "example": true
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Requested payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Planned payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Planned payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Sent payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Sent payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "valueDate",
            "in": "query",
            "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "showOpenInvoices",
            "in": "query",
            "description": "Show open invoices.<br><br>`Requires 'openDate' when set to true.`<br><br>",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Show open invoices.<br><br>`Requires 'openDate' when set to true.`<br><br>",
              "example": false
            }
          },
          {
            "name": "openDate",
            "in": "query",
            "description": "Open date filter.<br><br>`Used only when 'showOpenInvoices' is set to true.`<br><br>",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Open date filter.<br><br>`Used only when 'showOpenInvoices' is set to true.`<br><br>",
              "example": "2026-06-15T00:00:00Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/advanced": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Get list of purchase invoices",
        "description": "Returns a list of purchase invoices based on the specified advanced filters.",
        "operationId": "getAdvancedFilters_1",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "supplierId",
            "in": "query",
            "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Supplier invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "UNPAID",
                "OVERDUE",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED",
                "DRAFT"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "vatAmount",
            "in": "query",
            "description": "VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "chartOfAccountsId",
            "in": "query",
            "description": "Chart of accounts (expense category) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts (expense category) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineDepartmentId",
            "in": "query",
            "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineOfficeId",
            "in": "query",
            "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the attribution should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the attribution should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "reBilled",
            "in": "query",
            "description": "Whether the attribution has already been rebilled",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the attribution has already been rebilled",
              "example": false
            }
          },
          {
            "name": "reBilledDate",
            "in": "query",
            "description": "ReBilled date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "ReBilled date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Quantity filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5"
            }
          },
          {
            "name": "ruleName",
            "in": "query",
            "description": "Allocation rule name",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Allocation rule name",
              "example": "Default expense allocation"
            }
          },
          {
            "name": "paidAmount",
            "in": "query",
            "description": "Paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "bankCharges",
            "in": "query",
            "description": "Bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payableByAccount",
            "in": "query",
            "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentType",
            "in": "query",
            "description": "Payment type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment type filter",
              "enum": [
                "BANK_TRANSFER",
                "BVR",
                "QR_BILL"
              ],
              "example": "BANK_TRANSFER"
            }
          },
          {
            "name": "paymentAccountId",
            "in": "query",
            "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "vatType",
            "in": "query",
            "description": "VAT type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT type filter",
              "enum": [
                "NO_VAT",
                "NATIVE",
                "IMPORT_OF_SERVICE"
              ],
              "example": "NATIVE"
            }
          },
          {
            "name": "documentsExist",
            "in": "query",
            "description": "Whether documents (attachments) exist for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether documents (attachments) exist for the invoice",
              "example": true
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Requested payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Planned payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Planned payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Sent payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Sent payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "valueDate",
            "in": "query",
            "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "showOpenInvoices",
            "in": "query",
            "description": "Show open invoices.<br><br>`Requires 'openDate' when set to true.`<br><br>",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Show open invoices.<br><br>`Requires 'openDate' when set to true.`<br><br>",
              "example": false
            }
          },
          {
            "name": "openDate",
            "in": "query",
            "description": "Open date filter.<br><br>`Used only when 'showOpenInvoices' is set to true.`<br><br>",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Open date filter.<br><br>`Used only when 'showOpenInvoices' is set to true.`<br><br>",
              "example": "2026-06-15T00:00:00Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BaseAdvancedFilterPurchaseInvoiceView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/advanced/total": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Get total values for list of purchase invoices",
        "description": "Returns aggregated purchase invoices totals based on the specified advanced filters.",
        "operationId": "calculateAdvancedTotal_1",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "supplierId",
            "in": "query",
            "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Supplier invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "UNPAID",
                "OVERDUE",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED",
                "DRAFT"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "vatAmount",
            "in": "query",
            "description": "VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "chartOfAccountsId",
            "in": "query",
            "description": "Chart of accounts (expense category) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts (expense category) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineDepartmentId",
            "in": "query",
            "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineOfficeId",
            "in": "query",
            "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the attribution should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the attribution should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "reBilled",
            "in": "query",
            "description": "Whether the attribution has already been rebilled",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the attribution has already been rebilled",
              "example": false
            }
          },
          {
            "name": "reBilledDate",
            "in": "query",
            "description": "ReBilled date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "ReBilled date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Quantity filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5"
            }
          },
          {
            "name": "ruleName",
            "in": "query",
            "description": "Allocation rule name",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Allocation rule name",
              "example": "Default expense allocation"
            }
          },
          {
            "name": "paidAmount",
            "in": "query",
            "description": "Paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "bankCharges",
            "in": "query",
            "description": "Bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payableByAccount",
            "in": "query",
            "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentType",
            "in": "query",
            "description": "Payment type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment type filter",
              "enum": [
                "BANK_TRANSFER",
                "BVR",
                "QR_BILL"
              ],
              "example": "BANK_TRANSFER"
            }
          },
          {
            "name": "paymentAccountId",
            "in": "query",
            "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "vatType",
            "in": "query",
            "description": "VAT type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT type filter",
              "enum": [
                "NO_VAT",
                "NATIVE",
                "IMPORT_OF_SERVICE"
              ],
              "example": "NATIVE"
            }
          },
          {
            "name": "documentsExist",
            "in": "query",
            "description": "Whether documents (attachments) exist for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether documents (attachments) exist for the invoice",
              "example": true
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Requested payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Planned payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Planned payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Sent payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Sent payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "valueDate",
            "in": "query",
            "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "showOpenInvoices",
            "in": "query",
            "description": "Show open invoices.<br><br>`Requires 'openDate' when set to true.`<br><br>",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Show open invoices.<br><br>`Requires 'openDate' when set to true.`<br><br>",
              "example": false
            }
          },
          {
            "name": "openDate",
            "in": "query",
            "description": "Open date filter.<br><br>`Used only when 'showOpenInvoices' is set to true.`<br><br>",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Open date filter.<br><br>`Used only when 'showOpenInvoices' is set to true.`<br><br>",
              "example": "2026-06-15T00:00:00Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseAdvancedFilterPurchaseInvoiceView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/advanced/summary": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Get result count and total values for list of purchase invoices",
        "description": "Combines the /overall and /advanced/total responses into a single call for the Advanced Filter list.",
        "operationId": "calculateAdvancedSummary",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "supplierId",
            "in": "query",
            "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Supplier invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "UNPAID",
                "OVERDUE",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED",
                "DRAFT"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "vatAmount",
            "in": "query",
            "description": "VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "chartOfAccountsId",
            "in": "query",
            "description": "Chart of accounts (expense category) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts (expense category) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineDepartmentId",
            "in": "query",
            "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceLineOfficeId",
            "in": "query",
            "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice line office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the attribution should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the attribution should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "reBilled",
            "in": "query",
            "description": "Whether the attribution has already been rebilled",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the attribution has already been rebilled",
              "example": false
            }
          },
          {
            "name": "reBilledDate",
            "in": "query",
            "description": "ReBilled date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "ReBilled date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Quantity filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5"
            }
          },
          {
            "name": "ruleName",
            "in": "query",
            "description": "Allocation rule name",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Allocation rule name",
              "example": "Default expense allocation"
            }
          },
          {
            "name": "paidAmount",
            "in": "query",
            "description": "Paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Paid amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "bankCharges",
            "in": "query",
            "description": "Bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank charges filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payableByAccount",
            "in": "query",
            "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "paymentType",
            "in": "query",
            "description": "Payment type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment type filter",
              "enum": [
                "BANK_TRANSFER",
                "BVR",
                "QR_BILL"
              ],
              "example": "BANK_TRANSFER"
            }
          },
          {
            "name": "paymentAccountId",
            "in": "query",
            "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "vatType",
            "in": "query",
            "description": "VAT type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT type filter",
              "enum": [
                "NO_VAT",
                "NATIVE",
                "IMPORT_OF_SERVICE"
              ],
              "example": "NATIVE"
            }
          },
          {
            "name": "documentsExist",
            "in": "query",
            "description": "Whether documents (attachments) exist for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether documents (attachments) exist for the invoice",
              "example": true
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Requested payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Planned payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Planned payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Sent payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Sent payment date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "valueDate",
            "in": "query",
            "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Payment value date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "showOpenInvoices",
            "in": "query",
            "description": "Show open invoices.<br><br>`Requires 'openDate' when set to true.`<br><br>",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Show open invoices.<br><br>`Requires 'openDate' when set to true.`<br><br>",
              "example": false
            }
          },
          {
            "name": "openDate",
            "in": "query",
            "description": "Open date filter.<br><br>`Used only when 'showOpenInvoices' is set to true.`<br><br>",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Open date filter.<br><br>`Used only when 'showOpenInvoices' is set to true.`<br><br>",
              "example": "2026-06-15T00:00:00Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseInvoiceAdvancedSummary"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/accounting/{id}": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Get purchase invoice accounting entries by ID",
        "description": "Returns accounting entries for the specified purchase invoice.",
        "operationId": "getAccounting",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceAccounting"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/accounting/{id}/deleted": {
      "get": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Get deleted purchase invoice accounting entries by ID",
        "description": "Returns deleted accounting entries for the specified purchase invoice.",
        "operationId": "getDeletedAccounting",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceAccounting"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice-scan": {
      "get": {
        "tags": [
          "purchase-invoice-scan-controller"
        ],
        "summary": "Get list of purchase invoice scans",
        "description": "Returns a list of purchase invoice scans based on the specified filters.",
        "operationId": "getPurchaseInvoiceScans",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Scan ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Scan ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "organizationName",
            "in": "query",
            "description": "Organization name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Organization name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Scan date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Scan date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "supplier",
            "in": "query",
            "description": "Supplier name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier name filter",
              "example": "Acme Supplies Ltd"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Scan processing status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Scan processing status filter",
              "enum": [
                "NEW",
                "PROCESS",
                "CONVERT",
                "RECOGNIZING"
              ],
              "example": "PROCESS"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the scan has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the scan has warnings",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PurchaseInvoiceScanView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice-scan/{id}": {
      "get": {
        "tags": [
          "purchase-invoice-scan-controller"
        ],
        "summary": "Get details of purchase invoice scan",
        "description": "Returns details of the specified purchase invoice scan.",
        "operationId": "find_6",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseInvoiceScan"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "purchase-invoice-scan-controller"
        ],
        "summary": "Delete purchase invoice scan",
        "description": "Deletes the specified purchase invoice scan.",
        "operationId": "delete_10",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice-scan/{id}/recognized-data": {
      "get": {
        "tags": [
          "purchase-invoice-scan-controller"
        ],
        "summary": "Get purchase invoice scan recognized data",
        "description": "Returns the recognized data extracted from the specified purchase invoice scan.",
        "operationId": "getRecognizedDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecognizedDocument"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice-scan/total": {
      "get": {
        "tags": [
          "purchase-invoice-scan-controller"
        ],
        "summary": "Get total values for list of purchase invoice scans",
        "description": "Returns aggregated purchase invoice scan totals based on the specified filters.",
        "operationId": "calculateTotal_7",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Scan ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Scan ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "organizationName",
            "in": "query",
            "description": "Organization name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Organization name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Scan date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Scan date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "supplier",
            "in": "query",
            "description": "Supplier name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier name filter",
              "example": "Acme Supplies Ltd"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Scan processing status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Scan processing status filter",
              "enum": [
                "NEW",
                "PROCESS",
                "CONVERT",
                "RECOGNIZING"
              ],
              "example": "PROCESS"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the scan has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the scan has warnings",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseInvoiceScanView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice-scan/overall": {
      "get": {
        "tags": [
          "purchase-invoice-scan-controller"
        ],
        "summary": "Get total results count for list of purchase invoice scans",
        "description": "Returns the total number of purchase invoice scans matching the specified filters.",
        "operationId": "calculateResultCount_13",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Scan ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Scan ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "organizationName",
            "in": "query",
            "description": "Organization name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Organization name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Scan date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Scan date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "supplier",
            "in": "query",
            "description": "Supplier name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier name filter",
              "example": "Acme Supplies Ltd"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Scan processing status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Scan processing status filter",
              "enum": [
                "NEW",
                "PROCESS",
                "CONVERT",
                "RECOGNIZING"
              ],
              "example": "PROCESS"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the scan has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the scan has warnings",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/pl/report/export": {
      "get": {
        "tags": [
          "pl-report-controller"
        ],
        "summary": "Export profit and loss report",
        "description": "Exports the profit and loss report for the specified filters as an Excel file.",
        "operationId": "getPLReportExport",
        "parameters": [
          {
            "name": "shawAccounts",
            "in": "query",
            "description": "Enable display accounts in the file.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lastYear",
            "in": "query",
            "description": "Include information for last year",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ytd",
            "in": "query",
            "description": "Year To Date",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "margin",
            "in": "query",
            "description": "Include margin data",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "monthly",
            "in": "query",
            "description": "Split the report by month",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "businessUnitShown",
            "in": "query",
            "description": "Split the report by departments",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "budget",
            "in": "query",
            "description": "Include budget information in the report.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "splitByOrganization",
            "in": "query",
            "description": "Split the report by organizations. `Applicable only when organization type is Consolidated!`",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department IDs filter.<br><br>Applicable only when <code>businessUnitShown</code> is not set to <code>true</code>.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "officeIds",
            "in": "query",
            "description": "Office IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "articleIds",
            "in": "query",
            "description": "Article IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "articleCategoryIds",
            "in": "query",
            "description": "Article Category IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "orderIds",
            "in": "query",
            "description": "Order IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "contactIds",
            "in": "query",
            "description": "Contact IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/pl/report/annual": {
      "get": {
        "tags": [
          "pl-report-controller"
        ],
        "summary": "Get profit and loss for the last 12 months",
        "description": "Returns a profit and loss report covering the last 12 months based on the specified filters.",
        "operationId": "getAnnualPLReport",
        "parameters": [
          {
            "name": "lastYear",
            "in": "query",
            "description": "Include information for last year",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "monthly",
            "in": "query",
            "description": "Split the report by month",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "budgetChangeType",
            "in": "query",
            "description": "Budget change type",
            "schema": {
              "type": "string",
              "enum": [
                "AMOUNT"
              ]
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department ID filter.<br><br>"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PLReportLine"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/pdf-template": {
      "get": {
        "tags": [
          "pdf-template-controller"
        ],
        "summary": "Get PDF templates",
        "description": "Returns a list of PDF templates for the organization based on the specified filters.",
        "operationId": "getPdfTemplates",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "PDF template ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "PDF template ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Template name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Template name filter",
              "example": "Invoice Template EN"
            }
          },
          {
            "name": "templateType",
            "in": "query",
            "description": "Template type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Template type filter",
              "enum": [
                "SALES_INVOICE",
                "LATE_NOTICE",
                "SALARY_SLIP",
                "MY_SALARY_SLIP",
                "SALES_ORDER",
                "VAT_REPORT",
                "DELIVERY_NOTE",
                "GENERAL_LEDGER"
              ],
              "example": "SALES_INVOICE"
            }
          },
          {
            "name": "sourceTemplateId",
            "in": "query",
            "description": "Source template file ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Source template file ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "previewTemplateId",
            "in": "query",
            "description": "Preview template file ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Preview template file ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "previewImageId",
            "in": "query",
            "description": "Preview image file ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Preview image file ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "previewExists",
            "in": "query",
            "description": "Whether a preview exists for the template",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a preview exists for the template",
              "example": true
            }
          },
          {
            "name": "moduleAvailabilityType",
            "in": "query",
            "description": "Template scope filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Template scope filter",
              "enum": [
                "ORGANIZATION",
                "GLOBAL"
              ],
              "example": "ORGANIZATION"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Template description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Template description filter",
              "example": "Standard English invoice layout"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PdfTemplateView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/pdf-template/{id}": {
      "get": {
        "tags": [
          "pdf-template-controller"
        ],
        "summary": "Get PDF template by ID",
        "description": "Returns PDF template details by ID. Returns 404 if not found.",
        "operationId": "getPdfTemplate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "PDF template ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PdfTemplate"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "pdf-template-controller"
        ],
        "summary": "Delete PDF template by ID",
        "description": "Deletes a PDF template by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "deletePdfTemplate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "PDF template ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payslip": {
      "get": {
        "tags": [
          "payslip-controller"
        ],
        "summary": "Get salary configs",
        "description": "Returns a list of salary configurations based on the specified filters.",
        "operationId": "getTableView_13",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Salary configuration ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Salary configuration ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "End date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": "<=31/12/2026"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "countryId",
            "in": "query",
            "description": "Country ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Country ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "regionName",
            "in": "query",
            "description": "Region name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Region name filter",
              "example": "Geneva"
            }
          },
          {
            "name": "cla",
            "in": "query",
            "description": "CLA identifier filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "CLA identifier filter",
              "example": "CLA-001"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Salary configuration type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Salary configuration type filter",
              "enum": [
                "COUNTRY",
                "REGION",
                "CLA"
              ],
              "example": "COUNTRY"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayslipView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payslip/{id}": {
      "get": {
        "tags": [
          "payslip-controller"
        ],
        "summary": "Get salary config by ID",
        "description": "Returns salary configuration details by ID. Returns 404 if not found.",
        "operationId": "findPayslipById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Salary config ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payslip"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "payslip-controller"
        ],
        "summary": "Delete salary config by ID",
        "description": "Deletes a salary configuration by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_11",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Salary config ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payslip/{id}/lines": {
      "get": {
        "tags": [
          "payslip-controller"
        ],
        "summary": "Get salary config lines by salary config ID",
        "description": "Returns a list of salary configuration lines for the specified salary config.",
        "operationId": "getPayslipLines",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Line number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Line number filter",
              "example": 100
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Line name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Line name filter",
              "example": "Base salary"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Line type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Line type filter",
              "enum": [
                "EMPLOYEE_LINE",
                "COMPANY_LINE",
                "BOTH",
                "CALCULATION",
                "SYSTEM"
              ],
              "example": "COMPANY_LINE"
            }
          },
          {
            "name": "sign",
            "in": "query",
            "description": "Line sign filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Line sign filter",
              "enum": [
                "INCOME",
                "CHARGES"
              ],
              "example": "INCOME"
            }
          },
          {
            "name": "isAutomaticallyAdded",
            "in": "query",
            "description": "Whether the line was automatically added from the template",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the line was automatically added from the template",
              "example": false
            }
          },
          {
            "name": "usedInRegionConfigWithinCalendarYear",
            "in": "query",
            "description": "Whether the line is used in a region configuration within the calendar year",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the line is used in a region configuration within the calendar year",
              "example": false
            }
          },
          {
            "name": "usedInClaConfigWithinCalendarYear",
            "in": "query",
            "description": "Whether the line is used in a CLA configuration within the calendar year",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the line is used in a CLA configuration within the calendar year",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayslipLineView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payslip/source-tax-lines/{calendarYear}": {
      "get": {
        "tags": [
          "payslip-controller"
        ],
        "summary": "Get source tax lines by calendar year",
        "description": "Returns a list of source tax lines for the specified calendar year.",
        "operationId": "findSourceTaxLines",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "description": "Calendar year",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SourceTaxLine"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payslip/region": {
      "get": {
        "tags": [
          "payslip-controller"
        ],
        "summary": "Get region salary configs",
        "description": "Returns salary configurations grouped by year for the specified country and region.",
        "operationId": "findRegionPayslips",
        "parameters": [
          {
            "name": "countryCode",
            "in": "query",
            "description": "Country code",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "regionCode",
            "in": "query",
            "description": "Region code",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Payslip"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payslip/line/{id}": {
      "get": {
        "tags": [
          "payslip-controller"
        ],
        "summary": "Get salary config line by ID",
        "description": "Returns salary configuration line details by ID. Returns 404 if not found.",
        "operationId": "getPayslipLineDetails",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Salary config line ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayslipLine"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payslip/cla": {
      "get": {
        "tags": [
          "payslip-controller"
        ],
        "summary": "Get CLA salary configs",
        "description": "Returns a list of CLA salary configurations for the specified calendar year and country.",
        "operationId": "findClaPayslips",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "countryId",
            "in": "query",
            "description": "Country ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Payslip"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payslip/cla-lines": {
      "get": {
        "tags": [
          "payslip-controller"
        ],
        "summary": "Get CLA salary config lines",
        "description": "Returns CLA salary configuration lines for the specified country.",
        "operationId": "findClaTableLines",
        "parameters": [
          {
            "name": "countryId",
            "in": "query",
            "description": "Country ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayslipLineNumberContainer"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll": {
      "get": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Get payrolls",
        "description": "Returns a list of payrolls based on the specified filters.",
        "operationId": "getTableView_14",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayrollView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/{id}": {
      "get": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Get payroll by ID",
        "description": "Returns payroll details by ID. Returns 404 if not found.",
        "operationId": "findPayslipById_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payroll"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Delete payroll by ID",
        "description": "Deletes a payroll by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_12",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/total": {
      "get": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Get payrolls totals",
        "description": "Returns aggregated total values for payrolls based on the specified filters.",
        "operationId": "calculateTotal_8",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayrollView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/salary-genre-report/export": {
      "get": {
        "tags": [
          "salary-genre-report-controller"
        ],
        "summary": "Export salary genre configuration report",
        "description": "Exports, for the current organization, the salary-genre configuration audit report as a PDF.",
        "operationId": "exportReport",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/payroll-table/line-names/{calendarYear}/{organizationId}": {
      "get": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Get salary lines for payroll",
        "description": "Returns a list of salary lines for the specified calendar year and organization.",
        "operationId": "getSalaryLinesForPayroll",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayslipLine"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/overall": {
      "get": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Get payrolls total count",
        "description": "Returns the total number of payrolls based on the specified filters.",
        "operationId": "calculateResultCount_14",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/licence-capacity/{organizationId}/{calendarYear}/{monthType}": {
      "get": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Monthly payslip licence capacity",
        "description": "How many distinct employees may still be paid this month across the licence pool. capacity is the PERSON + EMPLOYEE billing units the pool is invoiced for, used is the distinct staff already holding a live payslip for the month in ANY organisation sharing the pool, and unlimited=true means no licence owner could be resolved and no cap applies. Call this before the Generate Salaries popup so the user sees the remaining count instead of building a selection and having it rejected.",
        "operationId": "getPayslipLicenceCapacity",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "monthType",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayslipLicenceUsage"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/insurance/export": {
      "get": {
        "tags": [
          "payroll-report-controller"
        ],
        "summary": "Export insurance declaration report",
        "description": "Exports the insurance declaration report as an Excel file based on the specified filters.",
        "operationId": "getInsuranceReport",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/gross-salary/export": {
      "get": {
        "tags": [
          "payroll-report-controller"
        ],
        "summary": "Export gross salary report",
        "description": "Exports the gross salary report as an Excel file based on the specified filters.",
        "operationId": "getPayrollReportExport",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/end-of-year/export": {
      "get": {
        "tags": [
          "payroll-report-controller"
        ],
        "summary": "Export end of year report",
        "description": "Exports the end of year report as an XML file for the specified contact based on the specified filters.",
        "operationId": "getEndOfYearReport",
        "parameters": [
          {
            "name": "contactId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/employees": {
      "get": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Get employees for payroll generation",
        "description": "Returns a list of employees available for payroll generation based on the specified filters.",
        "operationId": "getAvailableEmployees",
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "description": "Organization ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Month type",
            "schema": {
              "type": "string",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ]
            }
          },
          {
            "name": "monthStartDate",
            "in": "query",
            "description": "Month start date",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "monthEndDate",
            "in": "query",
            "description": "Month end date",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmployeePayrollView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/employee": {
      "get": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Get payroll employees",
        "description": "Returns a set of employee IDs for payrolls based on the specified filters.",
        "operationId": "getPayrollEmployees",
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "description": "Organization ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Month type",
            "schema": {
              "type": "string",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ]
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "uniqueItems": true
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/employee-taxes/export": {
      "get": {
        "tags": [
          "payroll-report-controller"
        ],
        "summary": "Export employee taxes report",
        "description": "Exports the employee taxes report as an Excel file based on the specified filters.",
        "operationId": "getEmployeeTaxesReport",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/declared/{calendarYear}/{monthType}": {
      "get": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Swissdec declaration status of a month",
        "description": "blocked=true means the month's payrolls are frozen: no insert, update or delete. pending=true means a declaration was dispatched but Swissdec has not confirmed it yet, so the month is still editable. Used by the Generate Salaries popup; PayrollService enforces the blocking rule on every mutating call.",
        "operationId": "monthSwissdecDeclarationStatus",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "monthType",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalaryDeclarationLockStatus"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/calendar-years/{organizationId}": {
      "get": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Get available salary config calendar years",
        "description": "Returns a list of available salary configuration calendar years for the specified organization.",
        "operationId": "getAvailableCalendarYears",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/avs/export": {
      "get": {
        "tags": [
          "payroll-report-controller"
        ],
        "summary": "Export AVS report",
        "description": "Exports the AVS declaration report as an Excel file based on the specified filters.",
        "operationId": "getAvsDeclarationReport",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/annual-account/export": {
      "get": {
        "tags": [
          "annual-account-report-controller"
        ],
        "summary": "Export the annual payroll account (Jahreslohnkonto) as PDF",
        "description": "Per employee the payslip lines \u00d7 months + total of the calendar year, then the company total. staffId restricts the report to one employee; companyTotal=false drops the company block.",
        "operationId": "exportReport_1",
        "parameters": [
          {
            "name": "calendarYear",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "staffId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "companyTotal",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/advanced": {
      "get": {
        "tags": [
          "payroll-advanced-controller"
        ],
        "summary": "Get payrolls with advanced filters",
        "description": "Returns a list of payrolls based on advanced filters.",
        "operationId": "getTableViewAdvanced",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "addressEmployeeName",
            "in": "query",
            "description": "Employee address name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Employee address street filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address street filter",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Employee address P.O. box / street line 2 filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address P.O. box / street line 2 filter",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressPostCode",
            "in": "query",
            "description": "Employee address postal code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address postal code filter",
              "example": "1200"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Employee address city filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address city filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressCountry",
            "in": "query",
            "description": "Employee address country filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address country filter",
              "example": "Switzerland"
            }
          },
          {
            "name": "addressRegion",
            "in": "query",
            "description": "Employee address region filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address region filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Employee address 'to the attention of' filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address 'to the attention of' filter",
              "example": "John Doe"
            }
          },
          {
            "name": "addressHouseNumber",
            "in": "query",
            "description": "Employee address house number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address house number filter",
              "example": "42"
            }
          },
          {
            "name": "payslipEmployerRate",
            "in": "query",
            "description": "Payslip line employer contribution rate filter",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Payslip line employer contribution rate filter",
              "example": 8
            }
          },
          {
            "name": "payslipLineNumber",
            "in": "query",
            "description": "Payslip line number filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line number filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "1000;2000"
            }
          },
          {
            "name": "payslipEmployeeAmount",
            "in": "query",
            "description": "Payslip line employee amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line employee amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payslipBaseAmount",
            "in": "query",
            "description": "Payslip line base amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line base amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payslipDescription",
            "in": "query",
            "description": "Payslip line description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line description filter",
              "example": "Base salary"
            }
          },
          {
            "name": "payslipEmployeeRate",
            "in": "query",
            "description": "Payslip line employee contribution rate filter",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Payslip line employee contribution rate filter",
              "example": 5.25
            }
          },
          {
            "name": "payslipEmployerAmount",
            "in": "query",
            "description": "Payslip line employer amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line employer amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paidAmount",
            "in": "query",
            "description": "Payment paid amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment paid amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "bankCharges",
            "in": "query",
            "description": "Payment bank charges filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment bank charges filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payableByCurrencyCode",
            "in": "query",
            "description": "Payable-by currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable-by currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "salarySlipCurrencyCode",
            "in": "query",
            "description": "Salary slip currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Salary slip currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "requestedAmount",
            "in": "query",
            "description": "Payment requested amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment requested amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Payment requested date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment requested date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Payment planned date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment planned date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Payment sent date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment sent date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "valueDate",
            "in": "query",
            "description": "Payment value date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment value date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "orgEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Organization employee group ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayrollView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/advanced/total": {
      "get": {
        "tags": [
          "payroll-advanced-controller"
        ],
        "summary": "Get payrolls totals with advanced filters",
        "description": "Returns aggregated total values for payrolls based on advanced filters.",
        "operationId": "calculateTotal_9",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "addressEmployeeName",
            "in": "query",
            "description": "Employee address name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Employee address street filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address street filter",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Employee address P.O. box / street line 2 filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address P.O. box / street line 2 filter",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressPostCode",
            "in": "query",
            "description": "Employee address postal code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address postal code filter",
              "example": "1200"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Employee address city filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address city filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressCountry",
            "in": "query",
            "description": "Employee address country filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address country filter",
              "example": "Switzerland"
            }
          },
          {
            "name": "addressRegion",
            "in": "query",
            "description": "Employee address region filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address region filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Employee address 'to the attention of' filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address 'to the attention of' filter",
              "example": "John Doe"
            }
          },
          {
            "name": "addressHouseNumber",
            "in": "query",
            "description": "Employee address house number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address house number filter",
              "example": "42"
            }
          },
          {
            "name": "payslipEmployerRate",
            "in": "query",
            "description": "Payslip line employer contribution rate filter",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Payslip line employer contribution rate filter",
              "example": 8
            }
          },
          {
            "name": "payslipLineNumber",
            "in": "query",
            "description": "Payslip line number filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line number filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "1000;2000"
            }
          },
          {
            "name": "payslipEmployeeAmount",
            "in": "query",
            "description": "Payslip line employee amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line employee amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payslipBaseAmount",
            "in": "query",
            "description": "Payslip line base amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line base amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payslipDescription",
            "in": "query",
            "description": "Payslip line description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line description filter",
              "example": "Base salary"
            }
          },
          {
            "name": "payslipEmployeeRate",
            "in": "query",
            "description": "Payslip line employee contribution rate filter",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Payslip line employee contribution rate filter",
              "example": 5.25
            }
          },
          {
            "name": "payslipEmployerAmount",
            "in": "query",
            "description": "Payslip line employer amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line employer amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paidAmount",
            "in": "query",
            "description": "Payment paid amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment paid amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "bankCharges",
            "in": "query",
            "description": "Payment bank charges filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment bank charges filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payableByCurrencyCode",
            "in": "query",
            "description": "Payable-by currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable-by currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "salarySlipCurrencyCode",
            "in": "query",
            "description": "Salary slip currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Salary slip currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "requestedAmount",
            "in": "query",
            "description": "Payment requested amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment requested amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Payment requested date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment requested date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Payment planned date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment planned date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Payment sent date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment sent date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "valueDate",
            "in": "query",
            "description": "Payment value date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment value date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "orgEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Organization employee group ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayrollBaseView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/advanced/overall": {
      "get": {
        "tags": [
          "payroll-advanced-controller"
        ],
        "summary": "Get payrolls total count with advanced filters",
        "description": "Returns the total number of payrolls based on advanced filters.",
        "operationId": "calculateResultCount_15",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "isDocSent",
            "in": "query",
            "description": "Whether the payroll document has been sent to the employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payroll document has been sent to the employee",
              "example": true
            }
          },
          {
            "name": "addressEmployeeName",
            "in": "query",
            "description": "Employee address name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Employee address street filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address street filter",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Employee address P.O. box / street line 2 filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address P.O. box / street line 2 filter",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressPostCode",
            "in": "query",
            "description": "Employee address postal code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address postal code filter",
              "example": "1200"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Employee address city filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address city filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressCountry",
            "in": "query",
            "description": "Employee address country filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address country filter",
              "example": "Switzerland"
            }
          },
          {
            "name": "addressRegion",
            "in": "query",
            "description": "Employee address region filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address region filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Employee address 'to the attention of' filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address 'to the attention of' filter",
              "example": "John Doe"
            }
          },
          {
            "name": "addressHouseNumber",
            "in": "query",
            "description": "Employee address house number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee address house number filter",
              "example": "42"
            }
          },
          {
            "name": "payslipEmployerRate",
            "in": "query",
            "description": "Payslip line employer contribution rate filter",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Payslip line employer contribution rate filter",
              "example": 8
            }
          },
          {
            "name": "payslipLineNumber",
            "in": "query",
            "description": "Payslip line number filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line number filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "1000;2000"
            }
          },
          {
            "name": "payslipEmployeeAmount",
            "in": "query",
            "description": "Payslip line employee amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line employee amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payslipBaseAmount",
            "in": "query",
            "description": "Payslip line base amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line base amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payslipDescription",
            "in": "query",
            "description": "Payslip line description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line description filter",
              "example": "Base salary"
            }
          },
          {
            "name": "payslipEmployeeRate",
            "in": "query",
            "description": "Payslip line employee contribution rate filter",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Payslip line employee contribution rate filter",
              "example": 5.25
            }
          },
          {
            "name": "payslipEmployerAmount",
            "in": "query",
            "description": "Payslip line employer amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payslip line employer amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "paidAmount",
            "in": "query",
            "description": "Payment paid amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment paid amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "bankCharges",
            "in": "query",
            "description": "Payment bank charges filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment bank charges filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payableByCurrencyCode",
            "in": "query",
            "description": "Payable-by currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable-by currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "salarySlipCurrencyCode",
            "in": "query",
            "description": "Salary slip currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Salary slip currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "requestedAmount",
            "in": "query",
            "description": "Payment requested amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment requested amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Payment requested date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment requested date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Payment planned date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment planned date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Payment sent date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment sent date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "valueDate",
            "in": "query",
            "description": "Payment value date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment value date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "orgEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Organization employee group ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payroll/accounting/{id}": {
      "get": {
        "tags": [
          "payroll-controller"
        ],
        "summary": "Get payroll accounting entries by ID",
        "description": "Returns accounting entries for the specified payroll.",
        "operationId": "getAccounting_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceAccounting"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payable": {
      "get": {
        "tags": [
          "payable-controller"
        ],
        "summary": "Get list of payables",
        "description": "Returns a list of payables based on the specified filters.",
        "operationId": "getTableView_15",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "module",
            "in": "query",
            "description": "Supported type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supported type filter",
              "enum": [
                "PURCHASE_INVOICES",
                "SALES_INVOICES",
                "PAYROLL"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceId",
            "in": "query",
            "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceDate",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Planned date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Planned date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Sent date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sent date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "invoiceReference",
            "in": "query",
            "description": "Invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "payableAmount",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter (supplier or client, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter (supplier or client, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the payable has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payable has warnings",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayableView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payable/total": {
      "get": {
        "tags": [
          "payable-controller"
        ],
        "summary": "Get total values for list of payables",
        "description": "Returns aggregated payables totals based on the specified filters.",
        "operationId": "calculateTotal_10",
        "parameters": [
          {
            "name": "module",
            "in": "query",
            "description": "Supported type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supported type filter",
              "enum": [
                "PURCHASE_INVOICES",
                "SALES_INVOICES",
                "PAYROLL"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceId",
            "in": "query",
            "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceDate",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Planned date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Planned date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Sent date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sent date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "invoiceReference",
            "in": "query",
            "description": "Invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "payableAmount",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter (supplier or client, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter (supplier or client, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the payable has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payable has warnings",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayableView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payable/overall": {
      "get": {
        "tags": [
          "payable-controller"
        ],
        "summary": "Get total results count for list of payables",
        "description": "Returns the total number of payables matching the specified filters.",
        "operationId": "calculateResultCount_16",
        "parameters": [
          {
            "name": "module",
            "in": "query",
            "description": "Supported type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supported type filter",
              "enum": [
                "PURCHASE_INVOICES",
                "SALES_INVOICES",
                "PAYROLL"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceId",
            "in": "query",
            "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceDate",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Planned date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Planned date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Sent date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sent date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "invoiceReference",
            "in": "query",
            "description": "Invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "payableAmount",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter (supplier or client, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter (supplier or client, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the payable has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payable has warnings",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payable/future": {
      "get": {
        "tags": [
          "payable-controller"
        ],
        "summary": "Get list of future payables",
        "description": "Returns a list of future payables for the current organization based on the specified number of days.",
        "operationId": "getFuturePayables",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "description": "Number of days to look ahead for future payables.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 30
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceContactInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payable/filters": {
      "get": {
        "tags": [
          "payable-controller"
        ],
        "summary": "Prepare filters for get list of payables",
        "description": "Returns prepared filter values for the payables list based on the specified parameters.",
        "operationId": "prepareFilters_1",
        "parameters": [
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter."
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter."
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payable/contact": {
      "get": {
        "tags": [
          "payable-controller"
        ],
        "summary": "Get list of contacts used in payables",
        "description": "Returns a list of contacts associated with payables.",
        "operationId": "getContacts_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactBrief"
                  },
                  "uniqueItems": true
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payable/advanced": {
      "get": {
        "tags": [
          "payable-advanced-controller"
        ],
        "summary": "Get list of payables using advanced filters",
        "description": "Returns a list of payables based on the specified advanced filters.",
        "operationId": "getTableView_16",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "module",
            "in": "query",
            "description": "Supported type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supported type filter",
              "enum": [
                "PURCHASE_INVOICES",
                "SALES_INVOICES",
                "PAYROLL"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceId",
            "in": "query",
            "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceDate",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Planned date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Planned date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Sent date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sent date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "invoiceReference",
            "in": "query",
            "description": "Invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "payableAmount",
            "in": "query",
            "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter (supplier or client, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter (supplier or client, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the payable has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payable has warnings",
              "example": false
            }
          },
          {
            "name": "payableByAccountId",
            "in": "query",
            "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeIds",
            "in": "query",
            "description": "Office IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "attributionAccountIds",
            "in": "query",
            "description": "Attribution account IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Attribution account IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayableView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payable/advanced/total": {
      "get": {
        "tags": [
          "payable-advanced-controller"
        ],
        "summary": "Get total values for list of payables",
        "description": "Returns aggregated payables totals based on the specified advanced filters.",
        "operationId": "calculateTotal_11",
        "parameters": [
          {
            "name": "module",
            "in": "query",
            "description": "Supported type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supported type filter",
              "enum": [
                "PURCHASE_INVOICES",
                "SALES_INVOICES",
                "PAYROLL"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceId",
            "in": "query",
            "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceDate",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Planned date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Planned date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Sent date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sent date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "invoiceReference",
            "in": "query",
            "description": "Invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "payableAmount",
            "in": "query",
            "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter (supplier or client, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter (supplier or client, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the payable has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payable has warnings",
              "example": false
            }
          },
          {
            "name": "payableByAccountId",
            "in": "query",
            "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeIds",
            "in": "query",
            "description": "Office IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "attributionAccountIds",
            "in": "query",
            "description": "Attribution account IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Attribution account IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayableView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/payable/advanced/overall": {
      "get": {
        "tags": [
          "payable-advanced-controller"
        ],
        "summary": "Get total results count for list of payables",
        "description": "Returns the total number of payables matching the specified advanced filters.",
        "operationId": "calculateResultCount_17",
        "parameters": [
          {
            "name": "module",
            "in": "query",
            "description": "Supported type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supported type filter",
              "enum": [
                "PURCHASE_INVOICES",
                "SALES_INVOICES",
                "PAYROLL"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "paymentId",
            "in": "query",
            "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceId",
            "in": "query",
            "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "invoiceDate",
            "in": "query",
            "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "requestedDate",
            "in": "query",
            "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Requested date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "plannedDate",
            "in": "query",
            "description": "Planned date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Planned date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "sentDate",
            "in": "query",
            "description": "Sent date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sent date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "invoiceReference",
            "in": "query",
            "description": "Invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "payableAmount",
            "in": "query",
            "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter (supplier or client, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter (supplier or client, depending on module).<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the payable has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the payable has warnings",
              "example": false
            }
          },
          {
            "name": "payableByAccountId",
            "in": "query",
            "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable-by chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeIds",
            "in": "query",
            "description": "Office IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "attributionAccountIds",
            "in": "query",
            "description": "Attribution account IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Attribution account IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/{id}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get organization by ID",
        "description": "Returns organization details by ID. Returns 404 if not found.",
        "operationId": "find_7",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "activeOnly",
            "in": "query",
            "description": "Whether to include only active (non-archived, non-deleted) managing child organizations",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "populateSalaryCodes",
            "in": "query",
            "description": "Whether to auto-populate the latest calendar year's salary code lines. This does an extra org re-fetch plus several payroll-specific queries, so it's opt-in -- only pass true from screens that actually display/edit salary codes (e.g. the organization payroll tab).",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Delete organization by ID",
        "description": "Deletes an organization by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_13",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/{id}/invoicing-context": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get organization invoicing context by ID",
        "description": "Returns only what's needed to initialize a new sales invoice, purchase invoice, or order for this organization: bank accounts and invoice settings. Use this instead of the full GET /organization/{id} when that's all the caller needs -- it skips the rest of the organization graph (departments, offices, templates, salary codes, payslips, etc.).",
        "operationId": "findInvoicingContext",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/tree/{id}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get organizations tree by contact ID",
        "description": "Returns the organizations tree for the specified contact.",
        "operationId": "getTreeByContactId",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactOrganizationAccess"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/templates/{organizationId}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get organization templates",
        "description": "Returns all templates available for the specified organization.",
        "operationId": "getOrganizationTemplates",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationTemplateShortInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/tax-attachment-types": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get the tax attachment types",
        "description": "The published list of section G document types - 500 complete declaration, 513 audit report, 516 wage statement, 999 other. Global and seeded, already translated to the caller's language.",
        "operationId": "getTaxAttachmentTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaxAttachmentType"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/tax-adjustment-reasons": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get the tax adjustment reasons",
        "description": "The published list of section D corrections - D1000 to D1014 on the increase side, D1200 to D1208 on the decrease side, plus a free-text row for each. Global and seeded, already translated to the caller's language.",
        "operationId": "getTaxAdjustmentReasons",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaxAdjustmentReason"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/salary-table/line-names/{countryId}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get salary table line names by country",
        "description": "Returns a map of possible salary table line names grouped by calendar year for the specified country.",
        "operationId": "getSalaryTableLineNames",
        "parameters": [
          {
            "name": "countryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/PayslipLineNameNumber"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/salary-codes/{organizationId}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get organization salary codes",
        "description": "Returns salary codes, CLA and region salary codes grouped by calendar year for the specified organization.",
        "operationId": "getAccountingInformation",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalaryCodesContainer"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/payslip-years/{countryId}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get payslip years by country",
        "description": "Returns available payslip configuration years for the specified country.",
        "operationId": "getPayslipYearsByCountryId",
        "parameters": [
          {
            "name": "countryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "uniqueItems": true
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/other-languages/{id}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get other languages by contact ID",
        "description": "Returns a list of other languages for the specified contact.",
        "operationId": "getOtherLanguagesByContactId",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Language"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/offices/{organizationId}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get organization offices",
        "description": "Returns all offices belonging to the specified organization.",
        "operationId": "getOfficesForOrganization",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationAddress"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/languages": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get organization languages",
        "description": "Returns a list of languages for the authenticated user's current organization.",
        "operationId": "getLanguagesForCurrentOrganization",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Language"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/hpb/{ebicsId}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Initiate ebics key for organization ebics record",
        "operationId": "ini",
        "parameters": [
          {
            "name": "ebicsId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ebics"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/generate-ebics-key/{ebicsId}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Generate EBICS key",
        "description": "Generates a new EBICS key for the specified EBICS configuration and returns the updated record.",
        "operationId": "generate_1",
        "parameters": [
          {
            "name": "ebicsId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "force",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ebics"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/employee-group": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get employee groups for current organization",
        "description": "Returns all employee groups belonging to the current organization.",
        "operationId": "getEmployeeGroupsForCurrentOrganization",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationEmployeeGroup"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/ebics-servers/{organizationId}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get available EBICS servers",
        "description": "Returns the list of available EBICS servers for the specified organization.",
        "operationId": "getEbicsServers",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EbicsServer"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/currency-exchange": {
      "get": {
        "tags": [
          "organization-currency-exchange-controller"
        ],
        "summary": "Get organization currency exchange rates",
        "description": "Returns a list of currency exchange rates based on the specified filters.",
        "operationId": "getTableView_17",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Exchange rate entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Exchange rate entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Rate date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Rate date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "currencyFrom",
            "in": "query",
            "description": "Source currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Source currency code filter",
              "example": "USD"
            }
          },
          {
            "name": "currencyTo",
            "in": "query",
            "description": "Target currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Target currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "rate",
            "in": "query",
            "description": "Exchange rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Exchange rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "0.91"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationCurrencyExchangeView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/currency-exchange/{id}": {
      "get": {
        "tags": [
          "organization-currency-exchange-controller"
        ],
        "summary": "Get organization currency exchange rate by ID",
        "description": "Returns organization currency exchange rate details by ID.",
        "operationId": "find_8",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationCurrencyExchange"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "organization-currency-exchange-controller"
        ],
        "summary": "Delete organization currency exchange rate by ID",
        "description": "Deletes an organization currency exchange rate by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_14",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/contribution-table/lines/{countryId}": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get contribution table lines by country",
        "description": "Returns a map of possible contribution table lines grouped by calendar year for the specified country.",
        "operationId": "getContributionTableLines",
        "parameters": [
          {
            "name": "countryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/PayslipLineNameNumber"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/codes": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get organization default codes",
        "description": "Returns the default codes for the authenticated user's organization.",
        "operationId": "getDefaultCodes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DefaultCodesDetails"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/can-create": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Check whether organization can be created",
        "description": "Returns whether the current billing plan allows creating a new organization.",
        "operationId": "getCanCreate",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/bank-account-id": {
      "get": {
        "tags": [
          "organization-controller"
        ],
        "summary": "Get main bank chart of accounts ID",
        "description": "Returns the chart of accounts ID linked to the main bank of the authenticated user's organization.",
        "operationId": "findBankAccountId",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/organization/advanced": {
      "get": {
        "tags": [
          "organization-advanced-controller"
        ],
        "summary": "Get organizations with advanced filters",
        "description": "Returns a list of organizations based on advanced filters.",
        "operationId": "getOrganizationsAdvanced",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Organization ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Organization ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Organization name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Organization name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "country",
            "in": "query",
            "description": "Country filter (display name)",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Country filter (display name)",
              "example": "Switzerland"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "ISO 4217 currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "ISO 4217 currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Whether the organization is archived",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the organization is archived",
              "example": false
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "End date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "managingOrganizationId",
            "in": "query",
            "description": "Managing (fiduciary) organization ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Managing (fiduciary) organization ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "mainLanguage",
            "in": "query",
            "description": "Main language filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Main language filter",
              "example": "EN"
            }
          },
          {
            "name": "otherLanguages",
            "in": "query",
            "description": "Other language filter.<br><br>Multiple values separated by '&' use AND logic.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Other language filter.<br><br>Multiple values separated by '&' use AND logic.",
              "example": "FR&DE"
            }
          },
          {
            "name": "parentOrganizationId",
            "in": "query",
            "description": "Parent organization ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Parent organization ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "nogaCodeId",
            "in": "query",
            "description": "NOGA economic activity code ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "NOGA economic activity code ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "street",
            "in": "query",
            "description": "Street address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Street address filter",
              "example": "123 Main Street"
            }
          },
          {
            "name": "houseNumber",
            "in": "query",
            "description": "House number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "House number filter",
              "example": "42"
            }
          },
          {
            "name": "streetPoBox",
            "in": "query",
            "description": "P.O. box / street line 2 filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "P.O. box / street line 2 filter",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "postCode",
            "in": "query",
            "description": "Postal code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Postal code filter",
              "example": "1200"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "City filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "City filter",
              "example": "Geneva"
            }
          },
          {
            "name": "countryId",
            "in": "query",
            "description": "Country ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Country ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "regionId",
            "in": "query",
            "description": "Region ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Region ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "bankId",
            "in": "query",
            "description": "Bank ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "bankAccountNumber",
            "in": "query",
            "description": "Bank account number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account number filter",
              "example": "CH56 0483 5012 3456 7800 9"
            }
          },
          {
            "name": "bankSwiftBic",
            "in": "query",
            "description": "Bank SWIFT/BIC code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank SWIFT/BIC code filter",
              "example": "UBSWCHZH80A"
            }
          },
          {
            "name": "bankName",
            "in": "query",
            "description": "Bank name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank name filter",
              "example": "UBS AG"
            }
          },
          {
            "name": "bankAddressRemarks",
            "in": "query",
            "description": "Bank address remarks filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank address remarks filter",
              "example": "Primary account"
            }
          },
          {
            "name": "defaultPaymentTerms",
            "in": "query",
            "description": "Default payment terms in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Default payment terms in days filter",
              "example": 30
            }
          },
          {
            "name": "scansTreatedByManagingOrg",
            "in": "query",
            "description": "Whether purchase invoice scans are treated by the managing organization",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether purchase invoice scans are treated by the managing organization",
              "example": false
            }
          },
          {
            "name": "validatePurchaseInvoicesByDefaultType",
            "in": "query",
            "description": "Default validation behavior for purchase invoices filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Default validation behavior for purchase invoices filter",
              "enum": [
                "NONE",
                "SINGLE",
                "DOUBLE"
              ],
              "example": "SINGLE"
            }
          },
          {
            "name": "vatNumber",
            "in": "query",
            "description": "VAT number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT number filter",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "requestedPaymentTerms",
            "in": "query",
            "description": "Requested payment terms in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Requested payment terms in days filter",
              "example": 30
            }
          },
          {
            "name": "timesheets",
            "in": "query",
            "description": "Whether timesheets are enabled at organization level",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether timesheets are enabled at organization level",
              "example": false
            }
          },
          {
            "name": "validateSalesInvoicesByDefaultType",
            "in": "query",
            "description": "Default validation behavior for sales invoices filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Default validation behavior for sales invoices filter",
              "enum": [
                "NONE",
                "SINGLE",
                "DOUBLE"
              ],
              "example": "SINGLE"
            }
          },
          {
            "name": "validateOrdersByDefaultType",
            "in": "query",
            "description": "Default validation behavior for orders filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Default validation behavior for orders filter",
              "enum": [
                "NONE",
                "SINGLE",
                "DOUBLE"
              ],
              "example": "SINGLE"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get orders",
        "description": "Returns a list of orders based on the specified filters.",
        "operationId": "getOrders",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Internal order number / code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal order number / code filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Order date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Order description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order description filter",
              "example": "Full redesign of the company website"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Order status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status filter",
              "enum": [
                "OFFERED",
                "OFFERED_SENT",
                "CONFIRMED",
                "CONFIRMED_SENT",
                "BILLABLE",
                "FINISHED",
                "CANCELLED"
              ],
              "example": "CONFIRMED"
            }
          },
          {
            "name": "isExpensesEnabled",
            "in": "query",
            "description": "Whether expenses are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether expenses are enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderAmount",
            "in": "query",
            "description": "Order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the order has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order has warnings",
              "example": false
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the order is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is validated",
              "example": true
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "isInvoiceGenerated",
            "in": "query",
            "description": "Whether the order is currently generating an invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is currently generating an invoice",
              "example": false
            }
          },
          {
            "name": "isPeriodic",
            "in": "query",
            "description": "Whether the order is periodic (recurring)",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is periodic (recurring)",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the order is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "clientOrderEmail",
            "in": "query",
            "description": "Order email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order email address filter",
              "example": "orders@example.com"
            }
          },
          {
            "name": "hasProformaInvoice",
            "in": "query",
            "description": "Whether the order has a proforma invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order has a proforma invoice",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get order details",
        "description": "Returns details of the specified order.",
        "operationId": "getOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "order-controller"
        ],
        "summary": "Delete order",
        "description": "Deletes the specified order.",
        "operationId": "delete_15",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/partially-paid-order": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get order with partial payments applied",
        "description": "Returns the specified order with all partial payments taken into account.",
        "operationId": "getPartiallyPaidOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/partially-paid-order-elements": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get partially paid order elements",
        "description": "Returns information about partially paid elements of the specified order.",
        "operationId": "getPartiallyPaidOrderElements",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartiallyPaidOrderBrief"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/full": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get order details and list view representation",
        "description": "Returns order details together with its list view representation.",
        "operationId": "getOrderAndViewDetails",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderAndView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/deleted": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get deleted order details",
        "description": "Returns details of the specified deleted order.",
        "operationId": "getDeletedOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeletedOrder"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/total": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get totals for orders",
        "description": "Returns aggregated totals calculated from orders matching the specified filters.",
        "operationId": "calculateTotal_12",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Internal order number / code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal order number / code filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Order date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Order description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order description filter",
              "example": "Full redesign of the company website"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Order status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status filter",
              "enum": [
                "OFFERED",
                "OFFERED_SENT",
                "CONFIRMED",
                "CONFIRMED_SENT",
                "BILLABLE",
                "FINISHED",
                "CANCELLED"
              ],
              "example": "CONFIRMED"
            }
          },
          {
            "name": "isExpensesEnabled",
            "in": "query",
            "description": "Whether expenses are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether expenses are enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderAmount",
            "in": "query",
            "description": "Order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the order has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order has warnings",
              "example": false
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the order is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is validated",
              "example": true
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "isInvoiceGenerated",
            "in": "query",
            "description": "Whether the order is currently generating an invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is currently generating an invoice",
              "example": false
            }
          },
          {
            "name": "isPeriodic",
            "in": "query",
            "description": "Whether the order is periodic (recurring)",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is periodic (recurring)",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the order is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "clientOrderEmail",
            "in": "query",
            "description": "Order email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order email address filter",
              "example": "orders@example.com"
            }
          },
          {
            "name": "hasProformaInvoice",
            "in": "query",
            "description": "Whether the order has a proforma invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order has a proforma invoice",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderAdvancedView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/summary": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get count and totals for orders in one call",
        "description": "Returns the result count and the aggregated totals for orders matching the specified filters, in a single response.",
        "operationId": "calculateSummary",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Internal order number / code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal order number / code filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Order date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Order description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order description filter",
              "example": "Full redesign of the company website"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Order status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status filter",
              "enum": [
                "OFFERED",
                "OFFERED_SENT",
                "CONFIRMED",
                "CONFIRMED_SENT",
                "BILLABLE",
                "FINISHED",
                "CANCELLED"
              ],
              "example": "CONFIRMED"
            }
          },
          {
            "name": "isExpensesEnabled",
            "in": "query",
            "description": "Whether expenses are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether expenses are enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderAmount",
            "in": "query",
            "description": "Order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the order has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order has warnings",
              "example": false
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the order is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is validated",
              "example": true
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "isInvoiceGenerated",
            "in": "query",
            "description": "Whether the order is currently generating an invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is currently generating an invoice",
              "example": false
            }
          },
          {
            "name": "isPeriodic",
            "in": "query",
            "description": "Whether the order is periodic (recurring)",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is periodic (recurring)",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the order is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "clientOrderEmail",
            "in": "query",
            "description": "Order email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order email address filter",
              "example": "orders@example.com"
            }
          },
          {
            "name": "hasProformaInvoice",
            "in": "query",
            "description": "Whether the order has a proforma invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order has a proforma invoice",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderAdvancedSummary"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/possible-parents/{id}/{contactId}": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get possible parent orders",
        "description": "Returns a list of orders that can be assigned as parent orders for the specified order and contact.",
        "operationId": "getPossibleParents",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Order"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/overall": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get total count of orders",
        "description": "Returns the total number of orders matching the specified filters.",
        "operationId": "calculateResultCount_18",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Internal order number / code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal order number / code filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Order date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Order description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order description filter",
              "example": "Full redesign of the company website"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Order status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status filter",
              "enum": [
                "OFFERED",
                "OFFERED_SENT",
                "CONFIRMED",
                "CONFIRMED_SENT",
                "BILLABLE",
                "FINISHED",
                "CANCELLED"
              ],
              "example": "CONFIRMED"
            }
          },
          {
            "name": "isExpensesEnabled",
            "in": "query",
            "description": "Whether expenses are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether expenses are enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderAmount",
            "in": "query",
            "description": "Order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the order has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order has warnings",
              "example": false
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the order is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is validated",
              "example": true
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "isInvoiceGenerated",
            "in": "query",
            "description": "Whether the order is currently generating an invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is currently generating an invoice",
              "example": false
            }
          },
          {
            "name": "isPeriodic",
            "in": "query",
            "description": "Whether the order is periodic (recurring)",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is periodic (recurring)",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the order is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "clientOrderEmail",
            "in": "query",
            "description": "Order email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order email address filter",
              "example": "orders@example.com"
            }
          },
          {
            "name": "hasProformaInvoice",
            "in": "query",
            "description": "Whether the order has a proforma invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order has a proforma invoice",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/invoices": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get order invoices",
        "description": "Returns a list of order invoices based on the specified filters.",
        "operationId": "getOrderInvoices",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Sales Invoice ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales Invoice ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Invoice date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice reference filter",
              "example": "REF-2026-001"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "receivable",
            "in": "query",
            "description": "Receivable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Receivable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "OPEN",
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "OVERDUE",
                "PRO_FORMA"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Invoice type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice type filter",
              "enum": [
                "PREPAYMENT",
                "PARTIAL",
                "FINAL"
              ],
              "example": "FINAL"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderInvoiceView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/invoices/total": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get totals for order invoices",
        "description": "Returns aggregated totals calculated from order invoices matching the specified filters.",
        "operationId": "getOrderInvoicesTotal",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Sales Invoice ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales Invoice ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Invoice date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice reference filter",
              "example": "REF-2026-001"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "receivable",
            "in": "query",
            "description": "Receivable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Receivable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "OPEN",
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "OVERDUE",
                "PRO_FORMA"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Invoice type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice type filter",
              "enum": [
                "PREPAYMENT",
                "PARTIAL",
                "FINAL"
              ],
              "example": "FINAL"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderInvoiceView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/invoices/overall": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get total count of order invoices",
        "description": "Returns the total number of order invoices matching the specified filters.",
        "operationId": "getOrderInvoicesCount",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Sales Invoice ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales Invoice ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Invoice date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice reference filter",
              "example": "REF-2026-001"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "receivable",
            "in": "query",
            "description": "Receivable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Receivable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "OPEN",
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "OVERDUE",
                "PRO_FORMA"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Invoice type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice type filter",
              "enum": [
                "PREPAYMENT",
                "PARTIAL",
                "FINAL"
              ],
              "example": "FINAL"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/expenses": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get order expenses",
        "description": "Returns a list of order expenses based on the specified filters.",
        "operationId": "getOrderExpenses",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "supplier",
            "in": "query",
            "description": "Supplier name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier name filter",
              "example": "Acme Supplies Ltd"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "description": "Expense amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "reBillable",
            "in": "query",
            "description": "Whether the expense is rebillable to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense is rebillable to the client",
              "example": true
            }
          },
          {
            "name": "purchaseInvoiceId",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "salesInvoiceId",
            "in": "query",
            "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reBillDate",
            "in": "query",
            "description": "Rebill date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Rebill date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "invoiceNumber",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderExpenseView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/expenses/total": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get totals for order expenses",
        "description": "Returns aggregated totals calculated from order expenses matching the specified filters.",
        "operationId": "getOrderExpensesTotal",
        "parameters": [
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "supplier",
            "in": "query",
            "description": "Supplier name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier name filter",
              "example": "Acme Supplies Ltd"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "description": "Expense amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "reBillable",
            "in": "query",
            "description": "Whether the expense is rebillable to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense is rebillable to the client",
              "example": true
            }
          },
          {
            "name": "purchaseInvoiceId",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "salesInvoiceId",
            "in": "query",
            "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reBillDate",
            "in": "query",
            "description": "Rebill date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Rebill date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "invoiceNumber",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderExpenseView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/expenses/overall": {
      "get": {
        "tags": [
          "order-controller"
        ],
        "summary": "Get total count of order expenses",
        "description": "Returns the total number of order expenses matching the specified filters.",
        "operationId": "getOrderExpensesCount",
        "parameters": [
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "supplier",
            "in": "query",
            "description": "Supplier name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier name filter",
              "example": "Acme Supplies Ltd"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "description": "Expense amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "reBillable",
            "in": "query",
            "description": "Whether the expense is rebillable to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense is rebillable to the client",
              "example": true
            }
          },
          {
            "name": "purchaseInvoiceId",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "salesInvoiceId",
            "in": "query",
            "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reBillDate",
            "in": "query",
            "description": "Rebill date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Rebill date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "invoiceNumber",
            "in": "query",
            "description": "Invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/advanced": {
      "get": {
        "tags": [
          "order-advanced-controller"
        ],
        "summary": "Get orders using advanced filtering",
        "description": "Returns a list of orders with support for advanced filtering, sorting, and pagination.",
        "operationId": "getOrdersAdvanced",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Internal order number / code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Internal order number / code filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Order date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Order description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order description filter",
              "example": "Full redesign of the company website"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Client contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Order status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status filter",
              "enum": [
                "OFFERED",
                "OFFERED_SENT",
                "CONFIRMED",
                "CONFIRMED_SENT",
                "BILLABLE",
                "FINISHED",
                "CANCELLED"
              ],
              "example": "CONFIRMED"
            }
          },
          {
            "name": "isExpensesEnabled",
            "in": "query",
            "description": "Whether expenses are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether expenses are enabled for the order",
              "example": false
            }
          },
          {
            "name": "orderAmount",
            "in": "query",
            "description": "Order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "creatorContactId",
            "in": "query",
            "description": "Whether the order was created by, or has, the current user's contact ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Whether the order was created by, or has, the current user's contact ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the order has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order has warnings",
              "example": false
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the order is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is validated",
              "example": true
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "isInvoiceGenerated",
            "in": "query",
            "description": "Whether the order is currently generating an invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is currently generating an invoice",
              "example": false
            }
          },
          {
            "name": "isPeriodic",
            "in": "query",
            "description": "Whether the order is periodic (recurring)",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is periodic (recurring)",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the order is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "parentOrderId",
            "in": "query",
            "description": "Parent order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Parent order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "vatRateId",
            "in": "query",
            "description": "VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "requestedPaymentTerms",
            "in": "query",
            "description": "Requested payment terms in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Requested payment terms in days filter",
              "example": 30
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "minimumAmountToInvoice",
            "in": "query",
            "description": "Minimum invoiceable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Minimum invoiceable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "ourContactName",
            "in": "query",
            "description": "Our contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "yourContactName",
            "in": "query",
            "description": "Client's internal contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client's internal contact name filter",
              "example": "Jane Smith"
            }
          },
          {
            "name": "periodicityStartDate",
            "in": "query",
            "description": "Recurring order periodicity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Recurring order periodicity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "isDisbursementFeeEnabled",
            "in": "query",
            "description": "Whether disbursement fee is enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether disbursement fee is enabled for the order",
              "example": false
            }
          },
          {
            "name": "isTimesheetsEnabled",
            "in": "query",
            "description": "Whether timesheets are enabled for the order",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether timesheets are enabled for the order",
              "example": false
            }
          },
          {
            "name": "timesheetsAccountId",
            "in": "query",
            "description": "Timesheets chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timesheets chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "fixedAmount",
            "in": "query",
            "description": "Fixed amount filter (for TIMESHEET_FIXED orders)Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fixed amount filter (for TIMESHEET_FIXED orders)Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "orderArticleId",
            "in": "query",
            "description": "Order article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderArticleUnitPrice",
            "in": "query",
            "description": "Order article unit price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article unit price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "orderArticleAmount",
            "in": "query",
            "description": "Order article quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10.5"
            }
          },
          {
            "name": "orderArticleDiscount",
            "in": "query",
            "description": "Order article discount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article discount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5.0"
            }
          },
          {
            "name": "orderArticleTotalNet",
            "in": "query",
            "description": "Order article net total filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article net total filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "orderArticleStatus",
            "in": "query",
            "description": "Order article status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order article status filter",
              "enum": [
                "SHIPPED",
                "PARTIALLY_SHIPPED",
                "NOT_SHIPPED",
                "SERVICE"
              ],
              "example": "SERVICE"
            }
          },
          {
            "name": "historyStatus",
            "in": "query",
            "description": "Order status history entry status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status history entry status filter",
              "enum": [
                "OFFERED",
                "OFFERED_SENT",
                "CONFIRMED",
                "CONFIRMED_SENT",
                "BILLABLE",
                "FINISHED",
                "CANCELLED"
              ],
              "example": "CONFIRMED"
            }
          },
          {
            "name": "historyDate",
            "in": "query",
            "description": "Order status history entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order status history entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "addressName",
            "in": "query",
            "description": "Delivery address name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address name filter",
              "example": "Main Office"
            }
          },
          {
            "name": "addressClientName",
            "in": "query",
            "description": "Delivery address client name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address client name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Delivery address street filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address street filter",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Delivery address P.O. box / street line 2 filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address P.O. box / street line 2 filter",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressZipCode",
            "in": "query",
            "description": "Delivery address postal code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address postal code filter",
              "example": "1200"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Delivery address city filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address city filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressCountryCode",
            "in": "query",
            "description": "Delivery address ISO 3166-1 alpha-2 country code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address ISO 3166-1 alpha-2 country code filter",
              "example": "CH"
            }
          },
          {
            "name": "addressRegionCode",
            "in": "query",
            "description": "Delivery address region code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address region code filter",
              "example": "GE"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Delivery address 'to the attention of' filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Delivery address 'to the attention of' filter",
              "example": "John Doe"
            }
          },
          {
            "name": "yourReference",
            "in": "query",
            "description": "Client's reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client's reference filter",
              "example": "PO-2026-100"
            }
          },
          {
            "name": "orderValidity",
            "in": "query",
            "description": "Order validity in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Order validity in days filter",
              "example": 30
            }
          },
          {
            "name": "paymentAccountId",
            "in": "query",
            "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "hasProformaInvoice",
            "in": "query",
            "description": "Whether the order has a proforma invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the order has a proforma invoice",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderAdvancedBaseView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/order-reports": {
      "get": {
        "tags": [
          "order-reports-controller"
        ],
        "summary": "Get order reports",
        "description": "Returns a list of order reports with support for filtering, sorting, and pagination.",
        "operationId": "getOrderReports",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Report row ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Report row ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order internal number / code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order internal number / code filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Order report date.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order report date.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": "01/01/2026..31/12/2026"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Order periodicity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order periodicity type filter",
              "enum": [
                "NONE",
                "DAILY",
                "WEEKLY",
                "BI_WEEKLY",
                "EVERY_MONTH",
                "EVERY_2_MONTH",
                "EVERY_3_MONTH",
                "EVERY_4_MONTH",
                "EVERY_6_MONTH",
                "ANNUAL"
              ],
              "example": "EVERY_MONTH"
            }
          },
          {
            "name": "clientName",
            "in": "query",
            "description": "Client name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "ourContactName",
            "in": "query",
            "description": "Our contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "totalRevenue",
            "in": "query",
            "description": "Total revenue filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total revenue filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1000.0"
            }
          },
          {
            "name": "totalCost",
            "in": "query",
            "description": "Total cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "500.0"
            }
          },
          {
            "name": "profitability",
            "in": "query",
            "description": "Profitability percentage filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Profitability percentage filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "50.0"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderReportsView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/order-reports/{id}/lines": {
      "get": {
        "tags": [
          "order-reports-controller"
        ],
        "summary": "Get order report detail lines",
        "description": "Returns detail lines for the specified order report within the specified date range.",
        "operationId": "getReportsDetailsLines",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderReportsDetailsLine"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/order-reports/total": {
      "get": {
        "tags": [
          "order-reports-controller"
        ],
        "summary": "Get totals for order reports",
        "description": "Returns aggregated totals calculated from order reports matching the specified filters.",
        "operationId": "calculateTotal_13",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Report row ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Report row ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order internal number / code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order internal number / code filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Order report date.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order report date.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": "01/01/2026..31/12/2026"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Order periodicity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order periodicity type filter",
              "enum": [
                "NONE",
                "DAILY",
                "WEEKLY",
                "BI_WEEKLY",
                "EVERY_MONTH",
                "EVERY_2_MONTH",
                "EVERY_3_MONTH",
                "EVERY_4_MONTH",
                "EVERY_6_MONTH",
                "ANNUAL"
              ],
              "example": "EVERY_MONTH"
            }
          },
          {
            "name": "clientName",
            "in": "query",
            "description": "Client name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "ourContactName",
            "in": "query",
            "description": "Our contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "totalRevenue",
            "in": "query",
            "description": "Total revenue filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total revenue filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1000.0"
            }
          },
          {
            "name": "totalCost",
            "in": "query",
            "description": "Total cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "500.0"
            }
          },
          {
            "name": "profitability",
            "in": "query",
            "description": "Profitability percentage filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Profitability percentage filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "50.0"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderReportsView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/order-reports/overall": {
      "get": {
        "tags": [
          "order-reports-controller"
        ],
        "summary": "Get total count of order reports",
        "description": "Returns the total number of order reports matching the specified filters.",
        "operationId": "calculateResultCount_19",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Report row ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Report row ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order internal number / code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order internal number / code filter",
              "example": "ORD-2026-001"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Order report date.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order report date.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": "01/01/2026..31/12/2026"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Order periodicity type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order periodicity type filter",
              "enum": [
                "NONE",
                "DAILY",
                "WEEKLY",
                "BI_WEEKLY",
                "EVERY_MONTH",
                "EVERY_2_MONTH",
                "EVERY_3_MONTH",
                "EVERY_4_MONTH",
                "EVERY_6_MONTH",
                "ANNUAL"
              ],
              "example": "EVERY_MONTH"
            }
          },
          {
            "name": "clientName",
            "in": "query",
            "description": "Client name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "ourContactName",
            "in": "query",
            "description": "Our contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Our contact name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "totalRevenue",
            "in": "query",
            "description": "Total revenue filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total revenue filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1000.0"
            }
          },
          {
            "name": "totalCost",
            "in": "query",
            "description": "Total cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "500.0"
            }
          },
          {
            "name": "profitability",
            "in": "query",
            "description": "Profitability percentage filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Profitability percentage filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "50.0"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/myaccount/user-group-ids": {
      "get": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Get user group IDs",
        "description": "Returns a list of user group IDs for the authenticated user.",
        "operationId": "getUserGroupIds",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/myaccount/permission": {
      "get": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Get account permissions",
        "description": "Returns a list of permissions for the authenticated user.",
        "operationId": "getPermissions",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/myaccount/licence": {
      "get": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Get my account licence type",
        "description": "Returns the licence type for the authenticated user in the current organization.",
        "operationId": "getMyAccountLicenceType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "enum": [
                    "FREE",
                    "PREMIUM"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/myaccount/invoice-scans-email": {
      "get": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Get invoice scans email",
        "description": "Returns the invoice scans email address for the authenticated user's organization.",
        "operationId": "getInvoiceScansEmailAddress",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/myaccount/expenses-report": {
      "get": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Get expenses report",
        "description": "Returns a list of expense report entries for the authenticated user contact based on the specified filters.",
        "operationId": "getTableView_18",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "supplierId",
            "in": "query",
            "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Supplier invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "UNPAID",
                "OVERDUE",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED",
                "DRAFT"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupplierExpenseReportView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/myaccount/expenses-report/total": {
      "get": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Get expenses report totals",
        "description": "Returns aggregated total values for expense report entries based on the specified filters.",
        "operationId": "calculateTotal_14",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "supplierId",
            "in": "query",
            "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Supplier invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "UNPAID",
                "OVERDUE",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED",
                "DRAFT"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseInvoiceBaseView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/myaccount/expenses-report/overall": {
      "get": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Get expenses report total count",
        "description": "Returns the total number of expense report entries for the authenticated user based on the specified filters.",
        "operationId": "calculateResultCount_20",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "supplierId",
            "in": "query",
            "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "description": "Supplier invoice reference filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier invoice reference filter",
              "example": "INV-2026-001"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "netAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "totalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Invoice status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Invoice status filter",
              "enum": [
                "UNPAID",
                "OVERDUE",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED",
                "DRAFT"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "validated",
            "in": "query",
            "description": "Whether the invoice is validated",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is validated",
              "example": true
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the invoice has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has warnings",
              "example": false
            }
          },
          {
            "name": "hasComments",
            "in": "query",
            "description": "Whether the invoice has comments",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice has comments",
              "example": false
            }
          },
          {
            "name": "isInWorkflow",
            "in": "query",
            "description": "Whether the invoice is currently part of an active workflow",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the invoice is currently part of an active workflow",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/myaccount/current-organization-details": {
      "get": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Get current organization details",
        "description": "Returns details of the authenticated user's current organization.",
        "operationId": "getCurrentOrganizationDetails",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentOrganizationDetails"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/myaccount/allowed-modules": {
      "get": {
        "tags": [
          "my-account-controller"
        ],
        "summary": "Get workflow allowed modules",
        "description": "Returns a list of modules the authenticated user has access to through workflow permissions.",
        "operationId": "getAllowedModules",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-workflow-notification": {
      "get": {
        "tags": [
          "my-workflow-notification-controller"
        ],
        "summary": "Get my workflow notifications",
        "description": "Returns a list of workflow notifications for the authenticated user.",
        "operationId": "getTableView_19",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Notification ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Notification ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "workflowId",
            "in": "query",
            "description": "Workflow ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Workflow ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Notification date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Notification date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "moduleType",
            "in": "query",
            "description": "Module the notification relates to",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Module the notification relates to",
              "enum": [
                "SALES_INVOICES",
                "PURCHASE_INVOICES",
                "ORDERS",
                "TIME_DETAILS"
              ],
              "example": "SALES_INVOICES"
            }
          },
          {
            "name": "realModuleType",
            "in": "query",
            "description": "Underlying module the notified entity actually belongs to",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Underlying module the notified entity actually belongs to",
              "enum": [
                "SALES_INVOICES",
                "PURCHASE_INVOICES",
                "ORDERS",
                "TIME_DETAILS"
              ],
              "example": "SALES_INVOICES"
            }
          },
          {
            "name": "actionType",
            "in": "query",
            "description": "Workflow action type that triggered the notification",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Workflow action type that triggered the notification",
              "enum": [
                "APPROVE",
                "STATUS_CONFIRMED",
                "ADVANCED_INVOICING",
                "GENERATE_PAYMENT",
                "GENERATE_PDF_SEND",
                "SEND_CONFIRMATION",
                "SEND_OFFER",
                "STATUS_BILLABLE",
                "VALIDATE"
              ],
              "example": "GENERATE_PDF_SEND"
            }
          },
          {
            "name": "entitiesAmount",
            "in": "query",
            "description": "Number of entities included in the notification",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Number of entities included in the notification",
              "example": 3
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkflowNotificationView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-workflow-notification/send-email": {
      "get": {
        "tags": [
          "my-workflow-notification-controller"
        ],
        "summary": "Send workflow notifications by email",
        "description": "Triggers sending of pending workflow notifications by email.",
        "operationId": "sendEmail",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-workflow-notification/overall": {
      "get": {
        "tags": [
          "my-workflow-notification-controller"
        ],
        "summary": "Get my workflow notifications total count",
        "description": "Returns the total number of workflow notifications for the authenticated user.",
        "operationId": "getResultsCount",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Notification ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Notification ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "workflowId",
            "in": "query",
            "description": "Workflow ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Workflow ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Notification date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Notification date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "moduleType",
            "in": "query",
            "description": "Module the notification relates to",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Module the notification relates to",
              "enum": [
                "SALES_INVOICES",
                "PURCHASE_INVOICES",
                "ORDERS",
                "TIME_DETAILS"
              ],
              "example": "SALES_INVOICES"
            }
          },
          {
            "name": "realModuleType",
            "in": "query",
            "description": "Underlying module the notified entity actually belongs to",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Underlying module the notified entity actually belongs to",
              "enum": [
                "SALES_INVOICES",
                "PURCHASE_INVOICES",
                "ORDERS",
                "TIME_DETAILS"
              ],
              "example": "SALES_INVOICES"
            }
          },
          {
            "name": "actionType",
            "in": "query",
            "description": "Workflow action type that triggered the notification",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Workflow action type that triggered the notification",
              "enum": [
                "APPROVE",
                "STATUS_CONFIRMED",
                "ADVANCED_INVOICING",
                "GENERATE_PAYMENT",
                "GENERATE_PDF_SEND",
                "SEND_CONFIRMATION",
                "SEND_OFFER",
                "STATUS_BILLABLE",
                "VALIDATE"
              ],
              "example": "GENERATE_PDF_SEND"
            }
          },
          {
            "name": "entitiesAmount",
            "in": "query",
            "description": "Number of entities included in the notification",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Number of entities included in the notification",
              "example": 3
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-timesheet/{date}": {
      "get": {
        "tags": [
          "my-timesheet-controller"
        ],
        "summary": "Get weekly timesheet by date",
        "description": "Returns the weekly timesheet for the authenticated user for the week containing the specified date.",
        "operationId": "getWeekTimesheet",
        "parameters": [
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WeekTimesheet"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-timesheet/task": {
      "get": {
        "tags": [
          "my-timesheet-controller"
        ],
        "summary": "Get organization tasks",
        "description": "Returns a map of task IDs to task names for the organization.",
        "operationId": "getOrganizationTasks_1",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "user"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-timesheet/order": {
      "get": {
        "tags": [
          "my-timesheet-controller"
        ],
        "summary": "Get available timesheet orders",
        "description": "Returns a list of available timesheet orders, optionally filtered by client.",
        "operationId": "getTimesheetOrders_1",
        "parameters": [
          {
            "name": "clientId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "user"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderForTimesheet"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-timesheet/employee/task": {
      "get": {
        "tags": [
          "my-timesheet-controller"
        ],
        "summary": "Get current employee tasks",
        "description": "Returns a map of task IDs to task names for the authenticated employee.",
        "operationId": "getCurrentEmployeeTasks",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-timesheet/client": {
      "get": {
        "tags": [
          "my-timesheet-controller"
        ],
        "summary": "Get available timesheet clients",
        "description": "Returns a map of contact IDs to contact names for available timesheet clients.",
        "operationId": "getTimesheetClients",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "user"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-timesheet/all-orders": {
      "get": {
        "tags": [
          "my-timesheet-controller"
        ],
        "summary": "Get all timesheet orders",
        "description": "Returns a list of all timesheet orders for the authenticated user's organization.",
        "operationId": "getAllTimesheetOrders",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderBrief"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-payroll": {
      "get": {
        "tags": [
          "my-payroll-controller"
        ],
        "summary": "Get list of payrolls for the current user",
        "description": "Returns a list of payrolls for the authenticated user based on the specified filters.",
        "operationId": "getTableView_20",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayrollView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-payroll/overall": {
      "get": {
        "tags": [
          "my-payroll-controller"
        ],
        "summary": "Get total results count for list of payrolls for the current user",
        "description": "Returns the total number of payrolls for the authenticated user based on the specified filters.",
        "operationId": "calculateResultCount_21",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "calendarYear",
            "in": "query",
            "description": "Calendar year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Calendar year filter",
              "example": 2026
            }
          },
          {
            "name": "monthType",
            "in": "query",
            "description": "Payroll month filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll month filter",
              "enum": [
                "JANUARY",
                "FEBRUARY",
                "MARCH",
                "APRIL",
                "MAY",
                "JUNE",
                "JULY",
                "AUGUST",
                "SEPTEMBER",
                "OCTOBER",
                "NOVEMBER",
                "DECEMBER"
              ],
              "example": "JUNE"
            }
          },
          {
            "name": "paymentDate",
            "in": "query",
            "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payment date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "grossSalary",
            "in": "query",
            "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gross salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "5000.0"
            }
          },
          {
            "name": "netSalary",
            "in": "query",
            "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net salary filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "payable",
            "in": "query",
            "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "3500.0"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Payroll status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Payroll status filter",
              "enum": [
                "UNPAID",
                "PAID",
                "PARTIALLY_PAID",
                "WIRED"
              ],
              "example": "UNPAID"
            }
          },
          {
            "name": "employeeEmail",
            "in": "query",
            "description": "Employee email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee email filter",
              "example": "employee@example.com"
            }
          },
          {
            "name": "employeeECorrespondence",
            "in": "query",
            "description": "Whether the employee uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the employee uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "organizationEmployeeGroupId",
            "in": "query",
            "description": "Organization employee group ID filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Organization employee group ID filter",
              "example": 12345678
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses": {
      "get": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Get my expenses",
        "description": "Returns a list of my expenses based on the specified filters.",
        "operationId": "getTableView_21",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpenseBaseView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/{id}": {
      "get": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Get expense by ID",
        "description": "Returns expense details by ID. Returns 404 if not found.",
        "operationId": "getExpense",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Expense"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Delete expense by ID",
        "description": "Deletes an expense by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_16",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/total": {
      "get": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Get my expense totals",
        "description": "Returns aggregated total values for my expenses based on the specified filters.",
        "operationId": "getTotal",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseBaseView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/overall": {
      "get": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Get my expenses total count",
        "description": "Returns the total number of my expenses based on the specified filters.",
        "operationId": "calculateResultCount_22",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/orders": {
      "get": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Get available orders",
        "description": "Returns a list of orders available for expense assignment based on the specified filters.",
        "operationId": "getOrders_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderForMyExpense"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/offices": {
      "get": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Get offices",
        "description": "Returns a map where the key is the office identifier and the value is the office address name.",
        "operationId": "getOffices",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/merchants": {
      "get": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Get merchants",
        "description": "Returns a list of available merchants.",
        "operationId": "getMerchants",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Merchant"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/expense-category": {
      "get": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Get expense categories",
        "description": "Returns a list of available expense categories.",
        "operationId": "findExpenseCategory",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserLanguageChartOfAccountsView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/department-tree": {
      "get": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Get department tree",
        "description": "Returns the department hierarchy available to the current user.",
        "operationId": "getDepartmentTree_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Department"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/clients": {
      "get": {
        "tags": [
          "my-expenses-controller"
        ],
        "summary": "Get available clients",
        "description": "Returns a map where the key is the client identifier and the value is the client name.",
        "operationId": "getClients",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/advanced": {
      "get": {
        "tags": [
          "my-expenses-advanced-controller"
        ],
        "summary": "Get my expenses with advanced filters",
        "description": "Returns a list of my expenses based on advanced filters.",
        "operationId": "getExpenseAdvanced",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "orderClientId",
            "in": "query",
            "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MyExpenseView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/advanced/total": {
      "get": {
        "tags": [
          "my-expenses-advanced-controller"
        ],
        "summary": "Get total values for my expenses using advanced filters",
        "description": "Returns aggregated totals calculated from my expenses matching the specified filters.",
        "operationId": "getTotal_1",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "orderClientId",
            "in": "query",
            "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseBaseView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-expenses/advanced/overall": {
      "get": {
        "tags": [
          "my-expenses-advanced-controller"
        ],
        "summary": "Get total results count for my expenses using advanced filters",
        "description": "Returns the total number of my expenses matching the specified filters.",
        "operationId": "calculateResultCount_23",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "orderClientId",
            "in": "query",
            "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/logo": {
      "get": {
        "tags": [
          "entry-controller"
        ],
        "summary": "Get organisation left hand menu logo",
        "operationId": "getMenuLogo",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/working-time": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get working time types",
        "description": "Returns a map {type: translation}",
        "operationId": "getWorkingTimeTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/workflow-notification-action-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get workflow notification action types",
        "description": "Returns a map {type: translation}",
        "operationId": "getWorkflowNotificationActionTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/workflow-action-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get workflow action types by module",
        "operationId": "getWorkflowActionTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/TranslatedWorkflowActionTypeDetails"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/work-permits": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get work permits",
        "operationId": "getWorkPermits",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkPermit"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/wage-agreement": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get wage agreement types",
        "description": "Returns a map {type: translation}",
        "operationId": "getWageAgreementTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/vat/type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get VAT types",
        "description": "Returns a map {type: translation}",
        "operationId": "getVatRule",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/vat/rate": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get VAT rates for date",
        "operationId": "getVatRate",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          },
          {
            "name": "date",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VatRate"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/vat/code": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get VAT codes for date",
        "operationId": "getVatCode",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          },
          {
            "name": "date",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VatCode"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/validated-by-default-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get validated by default types",
        "description": "Returns a map {type: translation}",
        "operationId": "getValidatedByDefaultTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/user-group-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get user group types",
        "description": "Returns a map {type: translation}",
        "operationId": "getUserGroupTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/training-level": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get staff training levels",
        "description": "Returns a map {type: translation}",
        "operationId": "getTrainingLevels",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/timesheet/status": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get timesheet statuses",
        "description": "Returns a map {status: translation}",
        "operationId": "getTimesheetType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/tax-at-source-mutation-reason": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get tax-at-source mutation reason types",
        "description": "Returns a map {type: translation}",
        "operationId": "getTaxAtSourceMutationReasonTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/tax-at-source-entry-reason": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get tax-at-source entry reason types",
        "description": "Returns a map {type: translation}",
        "operationId": "getTaxAtSourceEntryReasonTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/sub-order-status-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get sub-order status types",
        "description": "Returns a map {type: translation}",
        "operationId": "getSubOrderStatusType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/stock/type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get stock movement types",
        "description": "Returns a map {type: translation}",
        "operationId": "getStockMovementType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/stock/movement-direction": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get stock movement directions",
        "description": "Returns a map {type: translation}",
        "operationId": "getStockMovementDirectionType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/stock-strategy-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get stock strategy types",
        "description": "Returns a map {type: translation}",
        "operationId": "getStockStrategyType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/single-parent": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get staff single parent types",
        "description": "Returns a map {type: translation}",
        "operationId": "getSingleParentType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/secure-connection-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get secure connection types",
        "description": "Returns a map {type: translation}",
        "operationId": "getSecureConnectionTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/sales-invoice-statuses": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get sales invoice statuses",
        "description": "Returns a map {status: translation}",
        "operationId": "getSalesInvoiceStatuses",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/salary-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get salary types",
        "description": "Returns a map {type: translation}",
        "operationId": "getSalaryTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/salary-base-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get salary base types",
        "description": "Returns a map {type: translation}",
        "operationId": "getSalaryBaseTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/report/ratio-line-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get ratios report template line types",
        "description": "Returns a map {type: translation}",
        "operationId": "getRatioLineTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Translation"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/report/line-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get report template line types",
        "description": "Returns a map {type: translation}",
        "operationId": "getReportLineTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/report/line-signs": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get report template line signs",
        "description": "Returns a map {sign: translation}",
        "operationId": "getReportLineSigns",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "BALANCE_SHEET",
                "PL",
                "CASH_FLOW",
                "RATIOS",
                "END_OF_YEAR_ASSET",
                "END_OF_YEAR_LIABILITY",
                "END_OF_YEAR_INCOME_STATEMENT"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/report/cash-flow-line-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get cash flow report template line types",
        "description": "Returns a map {type: translation}",
        "operationId": "getCashFlowLineTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Translation"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/registry-mutations": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get registry mutation list",
        "operationId": "getRegistryMutations",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RegistryMutation"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/regions": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get regions by country",
        "operationId": "getRegions",
        "parameters": [
          {
            "name": "countryCode2",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Region"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/reconciliation/payment-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get reconciliation payment types",
        "operationId": "getReconciliationPaymentTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/reconciliation/document-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get reconciliation document types",
        "description": "Returns a map {type: translation}",
        "operationId": "getReconciliationDocumentTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/reconciliation/directions": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get reconciliation directions",
        "description": "Returns a map {direction: translation}",
        "operationId": "getReconciliationDirections",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/receivable-payment-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get receivable payment types",
        "description": "Returns a map {type: translation}",
        "operationId": "getReceivablesPaymentTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/purpose-codes": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get payment purpose codes by country",
        "operationId": "getPaymentPurposeCodes",
        "parameters": [
          {
            "name": "countryCode2",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentPurposeCode"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/purchase-invoice-statuses": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get purchase invoice statuses",
        "description": "Returns a map {status: translation}",
        "operationId": "getPurchaseInvoiceStatuses",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/purchase-invoice-journal-entry-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get purchase invoice journal entry types",
        "description": "Returns a map {type: translation}",
        "operationId": "getPurchaseInvoiceJournalEntryTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/position": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get staff positions",
        "description": "Returns a map {type: translation}",
        "operationId": "getPositions",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/permission-can-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get permission can types",
        "description": "Returns a map {time: translation}",
        "operationId": "getPermissionCanTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/pdf-template-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get PDF template types",
        "description": "Returns a map {type: translation}",
        "operationId": "getPdfTemplateTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/payslip-value-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get salary config value types",
        "description": "Returns a map {type: translation}",
        "operationId": "getPayslipValueTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/payslip-value-split-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get salary config value split types",
        "description": "Returns a map {type: translation}",
        "operationId": "getPayslipValueSplitTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/payslip-status": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get payslip statuses",
        "description": "Returns a map {status: translation}",
        "operationId": "getPayslipStatuses",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/payslip-special-attribution-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get salary config special attribution types",
        "description": "Returns a map {type: translation}",
        "operationId": "getPayslipSpecialAttributionTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/payslip-line-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get payment line types",
        "description": "Returns a map {type: translation}",
        "operationId": "getPayslipLineTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/payslip-line-sign-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get salary config line signs",
        "description": "Returns a map {sign: translation}",
        "operationId": "getPayslipLineSignTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/payslip-limit-calculation-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get salary config calculation types",
        "description": "Returns a map {type: translation}",
        "operationId": "getLimitCalculationTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/payroll-statuses": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get payroll statuses",
        "description": "Returns a map {status: translation}",
        "operationId": "getPayrollStatuses",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/payable-payment-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get payable payment types",
        "description": "Returns a map {type: translation}",
        "operationId": "getPayablePaymentTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/order-status-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get order statuses",
        "description": "Returns a map {status: translation}",
        "operationId": "getOrderStatusType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/order-periodicity-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get order periodicity values",
        "description": "Returns a map {value: translation}",
        "operationId": "getOrderPeriodicityType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/order-invoicing-time": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get order invoicing times",
        "description": "Returns a map {time: translation}",
        "operationId": "getOrderInvoicingTime",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/order-invoice-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get order invoice types",
        "description": "Returns a map {type: translation}",
        "operationId": "getOrderInvoiceTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/order-article-status": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get order article statuses",
        "description": "Returns a map {status: translation}",
        "operationId": "getOrderArticleStatuses",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/noga-codes": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get NOGA codes",
        "operationId": "getNogaCodes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NogaCode"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/nationalities": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get nationalities",
        "description": "Returns the same list as /countries, plus two additional entries -- Unknown (code2 'XU') and Stateless (code2 'XS') -- for use in the Contact's Nationality field only.",
        "operationId": "getNationalities",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Country"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/month-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get month types",
        "description": "Returns a map {type: translation}",
        "operationId": "getMonthTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/measurements": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get article measurements",
        "description": "Returns a map {measurement: translation}",
        "operationId": "getMeasurements",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/marital-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get martial types",
        "description": "Returns a map {type: translation}",
        "operationId": "getMaritalTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/localities/{postalCode}": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get localities list by postal code",
        "operationId": "getLocalities",
        "parameters": [
          {
            "name": "postalCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Canton"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/languages": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get languages",
        "operationId": "getLanguageList",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LanguageEntity"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/invoice-scan/status": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get invoice scan statuses",
        "description": "Returns a map {status: translation}",
        "operationId": "getInvoiceScanStatus",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/invoice-scan/payment-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get invoice scan payment types",
        "description": "Returns a map {type: translation}",
        "operationId": "getInvoiceScanPaymentType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/immobilization-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get immobilization types",
        "description": "Returns a map {type: translation}",
        "operationId": "getImmobilizationTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/group-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get group types",
        "description": "Returns a map {type: translation}",
        "operationId": "getGroupTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/gender-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get gender types",
        "description": "Returns a map {type: translation}",
        "operationId": "getGenderTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/family-member-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get family member types",
        "description": "Returns a map {type: translation}",
        "operationId": "getFamilyMemberTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/expense-statuses": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get expense statuses",
        "description": "Returns a map {status: translation}",
        "operationId": "getExpenseStatuses",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/expense-payment-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get expense payment types",
        "description": "Returns a map {type: translation}",
        "operationId": "getExpensePaymentTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/employee-document-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get employee document types",
        "description": "Returns a map {type: translation}",
        "operationId": "getEmployeeDocumentTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/ebics-statuses": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get ebics key generation statuses",
        "description": "Returns a map {status: translation}",
        "operationId": "getEbicsKeyGenerationStatus",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/document-extension": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get document extensions",
        "description": "Returns a list of extensions",
        "operationId": "getDocumentExtensions",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/denomination": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get staff denomination types",
        "description": "Returns a map {type: translation}",
        "operationId": "getDenomination",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/days-of-week": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get days of week",
        "description": "Returns a map {dayOfWeek: translation}",
        "operationId": "getDaysOfWeek",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/currencies": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get currencies",
        "operationId": "getCurrencies",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyEntity"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/csa-exit-reason": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get CSA exit reason types",
        "description": "Returns a map {type: translation}",
        "operationId": "getCsaExitReasonTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/csa-entry-reason": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get CSA entry reason types",
        "description": "Returns a map {type: translation}",
        "operationId": "getCsaEntryReasonTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/countries": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get countries",
        "operationId": "getCountries",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Country"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/cost-calculation-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get cost calculation types",
        "description": "Returns a map {type: translation}",
        "operationId": "getCostCalculationType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/contract-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get contact types",
        "description": "Returns a map {type: translation}",
        "operationId": "getContractTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/communication-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get communication types",
        "operationId": "getCommunicationTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/certificate-comments": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get certificate comments",
        "description": "Returns the catalog of selectable Salary Certificate comments, for the Staff tab's certificate notes. commentType is a bitmask on each entry: bit 0 (1) = needs a region, bit 1 (2) = needs a date, bit 2 (4) = needs an amount.",
        "operationId": "getCertificateComments",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CertificateComment"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/budget/type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get budget types",
        "description": "Returns a map {type: translation}",
        "operationId": "getReportType",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/budget/status": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get budget statuses",
        "description": "Returns a map {status: translation}",
        "operationId": "getBudgetStatus",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/article-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get article types",
        "description": "Returns a map {type: translation}",
        "operationId": "getArticleTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/app/permissions": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get list of permissions",
        "operationId": "getDefaultPermissionList",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/app/modules": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get application modules",
        "description": "Returns a map {module: translation}",
        "operationId": "getAppModules",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/app/modules/workflowable": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get application workflowable modules",
        "description": "Returns a map {module: translation}",
        "operationId": "getAppWorkflowableModules",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/app/modules/restorable": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get application restorable modules",
        "description": "Returns a map {module: translation}",
        "operationId": "getAppRestorableModules",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/app/licence-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get licence types",
        "description": "Returns a map {module: translation}",
        "operationId": "getLicenceTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/app/journal-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get journal entry types",
        "description": "Returns a map {type: translation}",
        "operationId": "getJournalTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/app/feesplit-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get fee split types",
        "description": "Returns a map {type: translation}",
        "operationId": "getFeeSplitTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/app/actions": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get activity log actions",
        "description": "Returns a map {action: translation}",
        "operationId": "getAppActions",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/app/action-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get activity log action types",
        "description": "Returns a map {type: translation}",
        "operationId": "getAppActionTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/app/account-types": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get chart of account types",
        "description": "Returns a map {type: translation}",
        "operationId": "getAccountTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/amounts/vat/rate": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get VAT rates for amounts for purchase invoices",
        "operationId": "getAmountsVatRates",
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VatRate"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/accounting-period-statuses": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get accounting period statuses",
        "description": "Returns a map {status: translation}",
        "operationId": "getAccountingPeriodStatuses",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/list/absence-type": {
      "get": {
        "tags": [
          "list-controller"
        ],
        "summary": "Get absence types",
        "description": "Returns a map {type: translation}",
        "operationId": "getAbsenceTypes",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/licenses": {
      "get": {
        "tags": [
          "licenses-controller"
        ],
        "summary": "Get license text",
        "description": "Returns the license text for all dependencies.",
        "operationId": "getLicensesText",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ledger": {
      "get": {
        "tags": [
          "general-ledger-controller"
        ],
        "summary": "Get general ledger",
        "description": "Returns a list of general ledger entries based on the specified filters.",
        "operationId": "getTableViews",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "entryId",
            "in": "query",
            "description": "Journal entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Journal entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "entryDate",
            "in": "query",
            "description": "Entry date filter.<br><br>Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\nAlso used to derive the underlying start/end date range in advanced ledger mode.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Entry date filter.<br><br>Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\nAlso used to derive the underlying start/end date range in advanced ledger mode."
            }
          },
          {
            "name": "entryType",
            "in": "query",
            "description": "Journal entry type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Journal entry type filter",
              "enum": [
                "OPENING",
                "MANUAL",
                "PURCHASE_INVOICE",
                "SALES_INVOICE",
                "SALARY_SLIP",
                "STOCK",
                "CLOSING",
                "SYSTEM",
                "SYSTEM_FX",
                "SYSTEM_PFUV",
                "FIXED_ASSET"
              ],
              "example": "MANUAL"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "account",
            "in": "query",
            "description": "Account name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter",
              "example": "Office rent"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Entry description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry description filter",
              "example": "Office rent payment"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the entry has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry has warnings",
              "example": false
            }
          },
          {
            "name": "foreignCurrencyCode",
            "in": "query",
            "description": "Foreign currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign currency code filter",
              "example": "USD"
            }
          },
          {
            "name": "foreignDebit",
            "in": "query",
            "description": "Foreign debit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign debit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "foreignCredit",
            "in": "query",
            "description": "Foreign credit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign credit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "foreignTotal",
            "in": "query",
            "description": "Foreign total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "companyDebit",
            "in": "query",
            "description": "Company currency debit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company currency debit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "companyCredit",
            "in": "query",
            "description": "Company currency credit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company currency credit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "companyTotal",
            "in": "query",
            "description": "Company currency total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company currency total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter. Required to enable advanced ledger mode.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter. Required to enable advanced ledger mode.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "departmentName",
            "in": "query",
            "description": "Department name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department name filter. Advanced ledger only",
              "example": "Finance"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Contact name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter. Advanced ledger only",
              "example": "Acme Corp"
            }
          },
          {
            "name": "articleName",
            "in": "query",
            "description": "Article name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article name filter. Advanced ledger only",
              "example": "Office supplies"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter. Advanced ledger only",
              "example": "Website Redesign"
            }
          },
          {
            "name": "vatCodeNames",
            "in": "query",
            "description": "VAT code name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT code name filter. Advanced ledger only",
              "example": "Standard rate"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GeneralLedgerBaseView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ledger/total": {
      "get": {
        "tags": [
          "general-ledger-controller"
        ],
        "summary": "Get general ledger totals",
        "description": "Returns aggregated total values for general ledger entries based on the specified filters.",
        "operationId": "getTotal_2",
        "parameters": [
          {
            "name": "entryId",
            "in": "query",
            "description": "Journal entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Journal entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "entryDate",
            "in": "query",
            "description": "Entry date filter.<br><br>Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\nAlso used to derive the underlying start/end date range in advanced ledger mode.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Entry date filter.<br><br>Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\nAlso used to derive the underlying start/end date range in advanced ledger mode."
            }
          },
          {
            "name": "entryType",
            "in": "query",
            "description": "Journal entry type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Journal entry type filter",
              "enum": [
                "OPENING",
                "MANUAL",
                "PURCHASE_INVOICE",
                "SALES_INVOICE",
                "SALARY_SLIP",
                "STOCK",
                "CLOSING",
                "SYSTEM",
                "SYSTEM_FX",
                "SYSTEM_PFUV",
                "FIXED_ASSET"
              ],
              "example": "MANUAL"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "account",
            "in": "query",
            "description": "Account name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter",
              "example": "Office rent"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Entry description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry description filter",
              "example": "Office rent payment"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the entry has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry has warnings",
              "example": false
            }
          },
          {
            "name": "foreignCurrencyCode",
            "in": "query",
            "description": "Foreign currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign currency code filter",
              "example": "USD"
            }
          },
          {
            "name": "foreignDebit",
            "in": "query",
            "description": "Foreign debit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign debit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "foreignCredit",
            "in": "query",
            "description": "Foreign credit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign credit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "foreignTotal",
            "in": "query",
            "description": "Foreign total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "companyDebit",
            "in": "query",
            "description": "Company currency debit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company currency debit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "companyCredit",
            "in": "query",
            "description": "Company currency credit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company currency credit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "companyTotal",
            "in": "query",
            "description": "Company currency total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company currency total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter. Required to enable advanced ledger mode.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter. Required to enable advanced ledger mode.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "departmentName",
            "in": "query",
            "description": "Department name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department name filter. Advanced ledger only",
              "example": "Finance"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Contact name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter. Advanced ledger only",
              "example": "Acme Corp"
            }
          },
          {
            "name": "articleName",
            "in": "query",
            "description": "Article name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article name filter. Advanced ledger only",
              "example": "Office supplies"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter. Advanced ledger only",
              "example": "Website Redesign"
            }
          },
          {
            "name": "vatCodeNames",
            "in": "query",
            "description": "VAT code name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT code name filter. Advanced ledger only",
              "example": "Standard rate"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeneralLedgerView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ledger/overall": {
      "get": {
        "tags": [
          "general-ledger-controller"
        ],
        "summary": "Get general ledger total count",
        "description": "Returns the total number of general ledger entries based on the specified filters.",
        "operationId": "calculateResultCount_24",
        "parameters": [
          {
            "name": "entryId",
            "in": "query",
            "description": "Journal entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Journal entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "entryDate",
            "in": "query",
            "description": "Entry date filter.<br><br>Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\nAlso used to derive the underlying start/end date range in advanced ledger mode.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Entry date filter.<br><br>Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\nAlso used to derive the underlying start/end date range in advanced ledger mode."
            }
          },
          {
            "name": "entryType",
            "in": "query",
            "description": "Journal entry type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Journal entry type filter",
              "enum": [
                "OPENING",
                "MANUAL",
                "PURCHASE_INVOICE",
                "SALES_INVOICE",
                "SALARY_SLIP",
                "STOCK",
                "CLOSING",
                "SYSTEM",
                "SYSTEM_FX",
                "SYSTEM_PFUV",
                "FIXED_ASSET"
              ],
              "example": "MANUAL"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "account",
            "in": "query",
            "description": "Account name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter",
              "example": "Office rent"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Entry description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry description filter",
              "example": "Office rent payment"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the entry has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry has warnings",
              "example": false
            }
          },
          {
            "name": "foreignCurrencyCode",
            "in": "query",
            "description": "Foreign currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign currency code filter",
              "example": "USD"
            }
          },
          {
            "name": "foreignDebit",
            "in": "query",
            "description": "Foreign debit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign debit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "foreignCredit",
            "in": "query",
            "description": "Foreign credit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign credit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "foreignTotal",
            "in": "query",
            "description": "Foreign total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "companyDebit",
            "in": "query",
            "description": "Company currency debit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company currency debit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "companyCredit",
            "in": "query",
            "description": "Company currency credit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company currency credit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "companyTotal",
            "in": "query",
            "description": "Company currency total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company currency total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter. Required to enable advanced ledger mode.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter. Required to enable advanced ledger mode.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "departmentName",
            "in": "query",
            "description": "Department name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department name filter. Advanced ledger only",
              "example": "Finance"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Contact name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter. Advanced ledger only",
              "example": "Acme Corp"
            }
          },
          {
            "name": "articleName",
            "in": "query",
            "description": "Article name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article name filter. Advanced ledger only",
              "example": "Office supplies"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter. Advanced ledger only",
              "example": "Website Redesign"
            }
          },
          {
            "name": "vatCodeNames",
            "in": "query",
            "description": "VAT code name filter. Advanced ledger only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT code name filter. Advanced ledger only",
              "example": "Standard rate"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ledger/open/module/{id}/{type}": {
      "get": {
        "tags": [
          "general-ledger-controller"
        ],
        "summary": "Get entity ID by type in general ledger",
        "description": "Returns the entity ID for the specified general ledger entry and type. Returns 404 if not found.",
        "operationId": "getIdWhenOpenInModule",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "General ledger entry ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "type",
            "in": "path",
            "description": "Journal entry type",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "OPENING",
                "MANUAL",
                "PURCHASE_INVOICE",
                "SALES_INVOICE",
                "SALARY_SLIP",
                "STOCK",
                "CLOSING",
                "SYSTEM",
                "SYSTEM_FX",
                "SYSTEM_PFUV",
                "FIXED_ASSET"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ledger/open/journal/{id}": {
      "get": {
        "tags": [
          "general-ledger-controller"
        ],
        "summary": "Get journal entry ID by line ID",
        "description": "Returns the journal entry ID associated with the specified line ID. Returns 404 if not found.",
        "operationId": "getIdWhenOpenInJournal",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Journal line ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ledger/advanced": {
      "get": {
        "tags": [
          "advanced-general-ledger-controller"
        ],
        "summary": "Get advanced general ledger",
        "description": "Returns a list of advanced general ledger entries based on the specified filters.",
        "operationId": "getTableView_22",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "entryDate",
            "in": "query",
            "description": "Entry date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\nInternally split into a start/end date range and pushed down to the underlying report function.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Entry date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\nInternally split into a start/end date range and pushed down to the underlying report function."
            }
          },
          {
            "name": "account",
            "in": "query",
            "description": "Account name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter",
              "example": "Office rent"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Entry description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry description filter",
              "example": "Office rent payment"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the entry has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry has warnings",
              "example": false
            }
          },
          {
            "name": "foreignCurrencyCode",
            "in": "query",
            "description": "Foreign currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign currency code filter",
              "example": "USD"
            }
          },
          {
            "name": "foreignTotal",
            "in": "query",
            "description": "Foreign total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "companyTotal",
            "in": "query",
            "description": "Company currency total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company currency total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "departmentName",
            "in": "query",
            "description": "Department name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department name filter",
              "example": "Finance"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "articleName",
            "in": "query",
            "description": "Article name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article name filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "vatCodeNames",
            "in": "query",
            "description": "VAT code name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT code name filter",
              "example": "Standard rate"
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "articleCategoryIds",
            "in": "query",
            "description": "Article category ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article category ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "articleIds",
            "in": "query",
            "description": "Article ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "contactIds",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "orderIds",
            "in": "query",
            "description": "Order ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeIds",
            "in": "query",
            "description": "Office ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "purchaseInvoiceNumber",
            "in": "query",
            "description": "Purchase invoice number filter.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Purchase invoice number filter.",
              "example": 12345678
            }
          },
          {
            "name": "purchaseInvoiceJournalEntryType",
            "in": "query",
            "description": "Purchase invoice journal entry type filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice journal entry type filter.",
              "enum": [
                "EMISSION",
                "PAYMENT",
                "ACCRUAL"
              ],
              "example": "PURCHASE_INVOICE"
            }
          },
          {
            "name": "salesInvoiceNumber",
            "in": "query",
            "description": "Sales invoice number filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice number filter.",
              "example": "2026-0001"
            }
          },
          {
            "name": "salesInvoiceJournalEntryType",
            "in": "query",
            "description": "Sales invoice journal entry type filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice journal entry type filter.",
              "enum": [
                "EMISSION",
                "PAYMENT",
                "ACCRUAL"
              ],
              "example": "SALES_INVOICE"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AdvancedGeneralLedgerView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ledger/advanced/total": {
      "get": {
        "tags": [
          "advanced-general-ledger-controller"
        ],
        "summary": "Get advanced general ledger totals",
        "description": "Returns aggregated total values for advanced general ledger entries based on the specified filters.",
        "operationId": "getTotal_3",
        "parameters": [
          {
            "name": "entryDate",
            "in": "query",
            "description": "Entry date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\nInternally split into a start/end date range and pushed down to the underlying report function.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Entry date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\nInternally split into a start/end date range and pushed down to the underlying report function."
            }
          },
          {
            "name": "account",
            "in": "query",
            "description": "Account name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter",
              "example": "Office rent"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Entry description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry description filter",
              "example": "Office rent payment"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the entry has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry has warnings",
              "example": false
            }
          },
          {
            "name": "foreignCurrencyCode",
            "in": "query",
            "description": "Foreign currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign currency code filter",
              "example": "USD"
            }
          },
          {
            "name": "foreignTotal",
            "in": "query",
            "description": "Foreign total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "companyTotal",
            "in": "query",
            "description": "Company currency total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company currency total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "departmentName",
            "in": "query",
            "description": "Department name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department name filter",
              "example": "Finance"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "articleName",
            "in": "query",
            "description": "Article name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article name filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "vatCodeNames",
            "in": "query",
            "description": "VAT code name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT code name filter",
              "example": "Standard rate"
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "articleCategoryIds",
            "in": "query",
            "description": "Article category ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article category ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "articleIds",
            "in": "query",
            "description": "Article ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "contactIds",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "orderIds",
            "in": "query",
            "description": "Order ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeIds",
            "in": "query",
            "description": "Office ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "purchaseInvoiceNumber",
            "in": "query",
            "description": "Purchase invoice number filter.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Purchase invoice number filter.",
              "example": 12345678
            }
          },
          {
            "name": "purchaseInvoiceJournalEntryType",
            "in": "query",
            "description": "Purchase invoice journal entry type filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice journal entry type filter.",
              "enum": [
                "EMISSION",
                "PAYMENT",
                "ACCRUAL"
              ],
              "example": "PURCHASE_INVOICE"
            }
          },
          {
            "name": "salesInvoiceNumber",
            "in": "query",
            "description": "Sales invoice number filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice number filter.",
              "example": "2026-0001"
            }
          },
          {
            "name": "salesInvoiceJournalEntryType",
            "in": "query",
            "description": "Sales invoice journal entry type filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice journal entry type filter.",
              "enum": [
                "EMISSION",
                "PAYMENT",
                "ACCRUAL"
              ],
              "example": "SALES_INVOICE"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeneralLedgerView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/ledger/advanced/overall": {
      "get": {
        "tags": [
          "advanced-general-ledger-controller"
        ],
        "summary": "Get advanced general ledger total count",
        "description": "Returns the total number of advanced general ledger entries based on the specified filters.",
        "operationId": "calculateResultCount_25",
        "parameters": [
          {
            "name": "entryDate",
            "in": "query",
            "description": "Entry date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\nInternally split into a start/end date range and pushed down to the underlying report function.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Entry date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\nInternally split into a start/end date range and pushed down to the underlying report function."
            }
          },
          {
            "name": "account",
            "in": "query",
            "description": "Account name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter",
              "example": "Office rent"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Entry description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry description filter",
              "example": "Office rent payment"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the entry has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry has warnings",
              "example": false
            }
          },
          {
            "name": "foreignCurrencyCode",
            "in": "query",
            "description": "Foreign currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign currency code filter",
              "example": "USD"
            }
          },
          {
            "name": "foreignTotal",
            "in": "query",
            "description": "Foreign total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Foreign total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "companyTotal",
            "in": "query",
            "description": "Company currency total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Company currency total (debit + credit) filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "departmentName",
            "in": "query",
            "description": "Department name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department name filter",
              "example": "Finance"
            }
          },
          {
            "name": "contactName",
            "in": "query",
            "description": "Contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "articleName",
            "in": "query",
            "description": "Article name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article name filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "orderName",
            "in": "query",
            "description": "Order name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order name filter",
              "example": "Website Redesign"
            }
          },
          {
            "name": "vatCodeNames",
            "in": "query",
            "description": "VAT code name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT code name filter",
              "example": "Standard rate"
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "articleCategoryIds",
            "in": "query",
            "description": "Article category ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article category ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "articleIds",
            "in": "query",
            "description": "Article ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "contactIds",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "orderIds",
            "in": "query",
            "description": "Order ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeIds",
            "in": "query",
            "description": "Office ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "purchaseInvoiceNumber",
            "in": "query",
            "description": "Purchase invoice number filter.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Purchase invoice number filter.",
              "example": 12345678
            }
          },
          {
            "name": "purchaseInvoiceJournalEntryType",
            "in": "query",
            "description": "Purchase invoice journal entry type filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Purchase invoice journal entry type filter.",
              "enum": [
                "EMISSION",
                "PAYMENT",
                "ACCRUAL"
              ],
              "example": "PURCHASE_INVOICE"
            }
          },
          {
            "name": "salesInvoiceNumber",
            "in": "query",
            "description": "Sales invoice number filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice number filter.",
              "example": "2026-0001"
            }
          },
          {
            "name": "salesInvoiceJournalEntryType",
            "in": "query",
            "description": "Sales invoice journal entry type filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice journal entry type filter.",
              "enum": [
                "EMISSION",
                "PAYMENT",
                "ACCRUAL"
              ],
              "example": "SALES_INVOICE"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/late-notice": {
      "get": {
        "tags": [
          "late-notice-controller"
        ],
        "summary": "Get list of late notices",
        "description": "Returns a list of late notices based on the specified filters.",
        "operationId": "getTableView_23",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "description": "Client IDs filter.<br><br> Supported values: <ul> <li>ID</li> <li>Multiple values separated by <code>;</code></li> </ul> Examples: <ul> <li>10</li> <li>10;15;20</li> </ul>",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "overdueAmount",
            "in": "query",
            "description": "Overdue amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n"
          },
          {
            "name": "openAmount",
            "in": "query",
            "description": "Open amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LateNoticeLine"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/late-notice/total": {
      "get": {
        "tags": [
          "late-notice-controller"
        ],
        "summary": "Get total values for late notices",
        "operationId": "getLateNoticesTotal",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LateNoticeLine"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/late-notice/summary": {
      "get": {
        "tags": [
          "late-notice-controller"
        ],
        "summary": "Get list + count + totals for late notices in a single call",
        "operationId": "getLateNoticesSummary",
        "parameters": [
          {
            "name": "clientId",
            "in": "query",
            "description": "Client IDs filter.<br><br> Supported values: <ul> <li>ID</li> <li>Multiple values separated by <code>;</code></li> </ul> Examples: <ul> <li>10</li> <li>10;15;20</li> </ul>",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "overdueAmount",
            "in": "query",
            "description": "Overdue amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n"
          },
          {
            "name": "openAmount",
            "in": "query",
            "description": "Open amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LateNoticeSummary"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/late-notice/overall": {
      "get": {
        "tags": [
          "late-notice-controller"
        ],
        "summary": "Get total results count for list of late notices",
        "description": "Returns the total number of late notices matching the specified filters.",
        "operationId": "calculateResultCount_26",
        "parameters": [
          {
            "name": "clientId",
            "in": "query",
            "description": "Client IDs filter.<br><br> Supported values: <ul> <li>ID</li> <li>Multiple values separated by <code>;</code></li> </ul> Examples: <ul> <li>10</li> <li>10;15;20</li> </ul>",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "overdueAmount",
            "in": "query",
            "description": "Overdue amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n"
          },
          {
            "name": "openAmount",
            "in": "query",
            "description": "Open amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/late-notice/client": {
      "get": {
        "tags": [
          "late-notice-controller"
        ],
        "summary": "Get list of client late notices",
        "description": "Returns a list of client late notices based on the specified filters.",
        "operationId": "getClientLateNotices",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Late notice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Late notice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "salesInvoiceNumber",
            "in": "query",
            "description": "Sales invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "overdueAmount",
            "in": "query",
            "description": "Overdue amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Overdue amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": ">0"
            }
          },
          {
            "name": "noticeGeneratedQuantity",
            "in": "query",
            "description": "Number of late notices already generated for this invoice",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Number of late notices already generated for this invoice",
              "example": 2
            }
          },
          {
            "name": "lastNoticeGeneratedDate",
            "in": "query",
            "description": "Last late notice generation date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Last late notice generation date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "clientContactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "overdueDate",
            "in": "query",
            "description": "Overdue date filter.<br><br>Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Overdue date filter.<br><br>Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "daysOverdue",
            "in": "query",
            "description": "Number of days overdue filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Number of days overdue filter",
              "example": 15
            }
          },
          {
            "name": "bvrGenerationAvailability",
            "in": "query",
            "description": "Whether QR-bill generation is available for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether QR-bill generation is available for the invoice",
              "example": true
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "clientECorrespondence",
            "in": "query",
            "description": "Whether the client uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the client uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "clientLateNoticeEmail",
            "in": "query",
            "description": "Client's late notice email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client's late notice email address filter",
              "example": "latenotice@example.com"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LateNoticeView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/late-notice/client/total": {
      "get": {
        "tags": [
          "late-notice-controller"
        ],
        "summary": "Get total values for list of client late notices",
        "description": "Returns aggregated client late notice totals based on the specified filters.",
        "operationId": "getClientLateNoticesTotal",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Late notice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Late notice ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "salesInvoiceNumber",
            "in": "query",
            "description": "Sales invoice number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sales invoice number filter",
              "example": "2026-0001"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "overdueAmount",
            "in": "query",
            "description": "Overdue amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Overdue amount filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": ">0"
            }
          },
          {
            "name": "noticeGeneratedQuantity",
            "in": "query",
            "description": "Number of late notices already generated for this invoice",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Number of late notices already generated for this invoice",
              "example": 2
            }
          },
          {
            "name": "lastNoticeGeneratedDate",
            "in": "query",
            "description": "Last late notice generation date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Last late notice generation date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "clientContactId",
            "in": "query",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "overdueDate",
            "in": "query",
            "description": "Overdue date filter.<br><br>Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Overdue date filter.<br><br>Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "daysOverdue",
            "in": "query",
            "description": "Number of days overdue filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Number of days overdue filter",
              "example": 15
            }
          },
          {
            "name": "bvrGenerationAvailability",
            "in": "query",
            "description": "Whether QR-bill generation is available for the invoice",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether QR-bill generation is available for the invoice",
              "example": true
            }
          },
          {
            "name": "clientEmail",
            "in": "query",
            "description": "Client email filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client email filter",
              "example": "client@example.com"
            }
          },
          {
            "name": "clientECorrespondence",
            "in": "query",
            "description": "Whether the client uses e-correspondence",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the client uses e-correspondence",
              "example": true
            }
          },
          {
            "name": "clientLateNoticeEmail",
            "in": "query",
            "description": "Client's late notice email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client's late notice email address filter",
              "example": "latenotice@example.com"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LateNoticeView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/journal": {
      "get": {
        "tags": [
          "journal-controller"
        ],
        "summary": "Get journal entries",
        "description": "Returns a list of journal entries based on the specified filters.",
        "operationId": "getTableView_24",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Journal entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Journal entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "entryId",
            "in": "query",
            "description": "Entry reference ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry reference ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "entryDate",
            "in": "query",
            "description": "Entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Entry description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry description filter",
              "example": "Office rent payment"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Journal entry type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Journal entry type filter",
              "enum": [
                "OPENING",
                "MANUAL",
                "PURCHASE_INVOICE",
                "SALES_INVOICE",
                "SALARY_SLIP",
                "STOCK",
                "CLOSING",
                "SYSTEM",
                "SYSTEM_FX",
                "SYSTEM_PFUV",
                "FIXED_ASSET"
              ],
              "example": "MANUAL"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "description": "Entry amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1200.0"
            }
          },
          {
            "name": "debitAccounts",
            "in": "query",
            "description": "Debit accounts filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Debit accounts filter",
              "example": "1000"
            }
          },
          {
            "name": "creditAccounts",
            "in": "query",
            "description": "Credit accounts filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Credit accounts filter",
              "example": "3000"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the entry has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry has warnings",
              "example": false
            }
          },
          {
            "name": "creatorContactId",
            "in": "query",
            "description": "Contact ID of the user who created the entry.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID of the user who created the entry.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JournalEntryView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/journal/{id}": {
      "get": {
        "tags": [
          "journal-controller"
        ],
        "summary": "Get journal entry by ID",
        "description": "Returns journal entry details by ID. Returns 404 if not found.",
        "operationId": "getEntryById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Journal entry ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "journal-controller"
        ],
        "summary": "Delete journal entry by ID",
        "description": "Deletes a journal entry by ID.",
        "operationId": "delete_17",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Journal entry ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/journal/{id}/deleted": {
      "get": {
        "tags": [
          "journal-controller"
        ],
        "summary": "Get deleted journal entry by ID",
        "description": "Returns deleted journal entry details by ID. Returns 404 if not found.",
        "operationId": "findOne_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Journal entry ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/journal/overall": {
      "get": {
        "tags": [
          "journal-controller"
        ],
        "summary": "Get journal entries total count",
        "description": "Returns the total number of journal entries based on the specified filters.",
        "operationId": "calculateResultCount_27",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Journal entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Journal entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "entryId",
            "in": "query",
            "description": "Entry reference ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry reference ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "entryDate",
            "in": "query",
            "description": "Entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Entry description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry description filter",
              "example": "Office rent payment"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Journal entry type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Journal entry type filter",
              "enum": [
                "OPENING",
                "MANUAL",
                "PURCHASE_INVOICE",
                "SALES_INVOICE",
                "SALARY_SLIP",
                "STOCK",
                "CLOSING",
                "SYSTEM",
                "SYSTEM_FX",
                "SYSTEM_PFUV",
                "FIXED_ASSET"
              ],
              "example": "MANUAL"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "description": "Entry amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Entry amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1200.0"
            }
          },
          {
            "name": "debitAccounts",
            "in": "query",
            "description": "Debit accounts filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Debit accounts filter",
              "example": "1000"
            }
          },
          {
            "name": "creditAccounts",
            "in": "query",
            "description": "Credit accounts filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Credit accounts filter",
              "example": "3000"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the entry has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the entry has warnings",
              "example": false
            }
          },
          {
            "name": "creatorContactId",
            "in": "query",
            "description": "Contact ID of the user who created the entry.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID of the user who created the entry.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/journal/entry-id/{entryId}": {
      "get": {
        "tags": [
          "journal-controller"
        ],
        "summary": "Get journal entry by entry ID",
        "description": "Returns journal entry details by entry ID. Returns 404 if not found.",
        "operationId": "getAccount_1",
        "parameters": [
          {
            "name": "entryId",
            "in": "path",
            "description": "Journal entry ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/iso-archive/download": {
      "get": {
        "tags": [
          "iso-archive-controller"
        ],
        "summary": "Download archived camt statements",
        "description": "Streams a zip of every camt statement matching the given IBAN and (optional) year/month/day filter.",
        "operationId": "download",
        "parameters": [
          {
            "name": "iban",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "month",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "day",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/iso-archive/count": {
      "get": {
        "tags": [
          "iso-archive-controller"
        ],
        "summary": "Count archived camt statements",
        "description": "Returns how many camt statement files match the given IBAN and (optional) year/month/day filter.",
        "operationId": "count",
        "parameters": [
          {
            "name": "iban",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "month",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "day",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/global/super-role/{id}": {
      "get": {
        "tags": [
          "global-role-controller"
        ],
        "summary": "Get super role by ID",
        "description": "Returns super role details by ID.",
        "operationId": "findSuperRoleById_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Super role ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuperRole"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/global/role": {
      "get": {
        "tags": [
          "global-role-controller"
        ],
        "summary": "Get global roles",
        "description": "Returns a list of global roles based on the specified filters.",
        "operationId": "getTableView_25",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Global role ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Global role ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Role type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Role type filter",
              "enum": [
                "ROLE",
                "SUPER_ROLE"
              ],
              "example": "ROLE"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Role name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Role name filter",
              "example": "Administrator"
            }
          },
          {
            "name": "isDefault",
            "in": "query",
            "description": "Whether this is the default role",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether this is the default role",
              "example": false
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Role description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Role description filter",
              "example": "Full access to all modules"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlobalRoleView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/global/role/{id}": {
      "get": {
        "tags": [
          "global-role-controller"
        ],
        "summary": "Get role by ID",
        "description": "Returns role details with permissions by ID.",
        "operationId": "findRoleById_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Role ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleWithPermissions"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "global-role-controller"
        ],
        "summary": "Delete role or super role by ID",
        "description": "Deletes a role or super role by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_18",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Role ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/global/role/permissions": {
      "get": {
        "tags": [
          "global-role-controller"
        ],
        "summary": "Get permissions by role IDs",
        "description": "Returns a list of permissions for the specified roles.",
        "operationId": "findPermissionsByRoleIds_1",
        "parameters": [
          {
            "name": "roleIds",
            "in": "query",
            "description": "List of role IDs",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Permission"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/generate-pdfs": {
      "get": {
        "tags": [
          "pdf-controller"
        ],
        "summary": "Export PDF files in zip",
        "description": "Except mentioned parameters used other ones which are related to particular type",
        "operationId": "generatePdfs",
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "SALES_INVOICE",
                "LATE_NOTICE",
                "SALARY_SLIP",
                "MY_SALARY_SLIP",
                "SALES_ORDER",
                "VAT_REPORT",
                "DELIVERY_NOTE",
                "GENERAL_LEDGER"
              ]
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "sortingField",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "direction",
            "schema": {
              "type": "string",
              "enum": [
                "ASC,DESC"
              ]
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "departmentId",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "useLetterhead",
            "in": "query",
            "description": "useLetterhead",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/generate-pdf": {
      "get": {
        "tags": [
          "pdf-controller"
        ],
        "summary": "Export PDF report",
        "description": "Except mentioned parameters used other ones which are related to particular type",
        "operationId": "generatePdf",
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "SALES_INVOICE",
                "LATE_NOTICE",
                "SALARY_SLIP",
                "MY_SALARY_SLIP",
                "SALES_ORDER",
                "VAT_REPORT",
                "DELIVERY_NOTE",
                "GENERAL_LEDGER"
              ]
            }
          },
          {
            "name": "preview",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "exportData",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "sortingField",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "direction",
            "schema": {
              "type": "string",
              "enum": [
                "ASC,DESC"
              ]
            }
          },
          {
            "name": "entityId",
            "in": "query",
            "description": "entityId",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "departmentId",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "useLetterhead",
            "in": "query",
            "description": "useLetterhead",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/fixed-assets": {
      "get": {
        "tags": [
          "fixed-assets-controller"
        ],
        "summary": "Get fixed assets report",
        "description": "Returns list of fixed assets report rows based on filter parameters",
        "operationId": "getTableView_26",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Fixed asset ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fixed asset ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Fixed asset name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fixed asset name filter",
              "example": "Company Vehicle"
            }
          },
          {
            "name": "periodFrom",
            "in": "query",
            "description": "Depreciation period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Depreciation period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "periodTo",
            "in": "query",
            "description": "Depreciation period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Depreciation period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "amortizationType",
            "in": "query",
            "description": "Amortization/depreciation type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Amortization/depreciation type filter",
              "enum": [
                "LINEAR_DEPRECIATION_DIRECT",
                "NON_LINEAR_DEPRECIATION_DIRECT",
                "LINEAR_DEPRECIATION_INDIRECT",
                "NON_LINEAR_DEPRECIATION_INDIRECT"
              ],
              "example": "LINEAR_DEPRECIATION_DIRECT"
            }
          },
          {
            "name": "initialValue",
            "in": "query",
            "description": "Initial value filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Initial value filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10000.0"
            }
          },
          {
            "name": "amortization",
            "in": "query",
            "description": "Accumulated amortization filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Accumulated amortization filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "2000.0"
            }
          },
          {
            "name": "actualValue",
            "in": "query",
            "description": "Current net value filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Current net value filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "8000.0"
            }
          },
          {
            "name": "chartOfAccountId",
            "in": "query",
            "description": "Depreciation chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Depreciation chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeIds",
            "in": "query",
            "description": "Office IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report generation date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Report generation date."
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FixedAssetReportView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/fixed-assets/{id}": {
      "get": {
        "tags": [
          "fixed-assets-controller"
        ],
        "summary": "Get fixed asset by ID",
        "description": "Returns the details of a fixed asset by ID.",
        "operationId": "find_9",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Fixed asset ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FixedAsset"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "fixed-assets-controller"
        ],
        "summary": "Delete fixed asset",
        "description": "Deletes a fixed asset by ID. Returns 200 with a result on success, or 400 if the deletion is not valid.",
        "operationId": "delete_19",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Fixed asset ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Deletion date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/fixed-assets/total": {
      "get": {
        "tags": [
          "fixed-assets-controller"
        ],
        "summary": "Get fixed assets totals",
        "description": "Returns aggregated total values for fixed assets based on the specified filters.",
        "operationId": "getTotal_4",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Fixed asset ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fixed asset ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Fixed asset name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fixed asset name filter",
              "example": "Company Vehicle"
            }
          },
          {
            "name": "periodFrom",
            "in": "query",
            "description": "Depreciation period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Depreciation period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "periodTo",
            "in": "query",
            "description": "Depreciation period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Depreciation period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "amortizationType",
            "in": "query",
            "description": "Amortization/depreciation type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Amortization/depreciation type filter",
              "enum": [
                "LINEAR_DEPRECIATION_DIRECT",
                "NON_LINEAR_DEPRECIATION_DIRECT",
                "LINEAR_DEPRECIATION_INDIRECT",
                "NON_LINEAR_DEPRECIATION_INDIRECT"
              ],
              "example": "LINEAR_DEPRECIATION_DIRECT"
            }
          },
          {
            "name": "initialValue",
            "in": "query",
            "description": "Initial value filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Initial value filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10000.0"
            }
          },
          {
            "name": "amortization",
            "in": "query",
            "description": "Accumulated amortization filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Accumulated amortization filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "2000.0"
            }
          },
          {
            "name": "actualValue",
            "in": "query",
            "description": "Current net value filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Current net value filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "8000.0"
            }
          },
          {
            "name": "chartOfAccountId",
            "in": "query",
            "description": "Depreciation chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Depreciation chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeIds",
            "in": "query",
            "description": "Office IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report generation date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Report generation date."
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FixedAssetReportView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/fixed-assets/overall": {
      "get": {
        "tags": [
          "fixed-assets-controller"
        ],
        "summary": "Get fixed assets total count",
        "description": "Returns the total number of fixed assets based on the specified filters.",
        "operationId": "calculateResultCount_28",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Fixed asset ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fixed asset ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Fixed asset name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fixed asset name filter",
              "example": "Company Vehicle"
            }
          },
          {
            "name": "periodFrom",
            "in": "query",
            "description": "Depreciation period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Depreciation period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "periodTo",
            "in": "query",
            "description": "Depreciation period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Depreciation period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "amortizationType",
            "in": "query",
            "description": "Amortization/depreciation type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Amortization/depreciation type filter",
              "enum": [
                "LINEAR_DEPRECIATION_DIRECT",
                "NON_LINEAR_DEPRECIATION_DIRECT",
                "LINEAR_DEPRECIATION_INDIRECT",
                "NON_LINEAR_DEPRECIATION_INDIRECT"
              ],
              "example": "LINEAR_DEPRECIATION_DIRECT"
            }
          },
          {
            "name": "initialValue",
            "in": "query",
            "description": "Initial value filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Initial value filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10000.0"
            }
          },
          {
            "name": "amortization",
            "in": "query",
            "description": "Accumulated amortization filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Accumulated amortization filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "2000.0"
            }
          },
          {
            "name": "actualValue",
            "in": "query",
            "description": "Current net value filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Current net value filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "8000.0"
            }
          },
          {
            "name": "chartOfAccountId",
            "in": "query",
            "description": "Depreciation chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Depreciation chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeIds",
            "in": "query",
            "description": "Office IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report generation date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Report generation date."
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses": {
      "get": {
        "tags": [
          "expenses-controller"
        ],
        "summary": "Get expenses",
        "description": "Returns a list of expenses based on the specified filters.",
        "operationId": "getTableView_27",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "Employee name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpenseView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/{id}": {
      "get": {
        "tags": [
          "expenses-controller"
        ],
        "summary": "Get expense by ID",
        "description": "Returns expense details by ID. Returns 404 if not found.",
        "operationId": "getExpense_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Expense"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "expenses-controller"
        ],
        "summary": "Delete expense by ID",
        "description": "Deletes an expense by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_20",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/total": {
      "get": {
        "tags": [
          "expenses-controller"
        ],
        "summary": "Get expense totals",
        "description": "Returns aggregated total values for expenses based on the specified filters.",
        "operationId": "getTotal_5",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "Employee name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseBaseView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/overall": {
      "get": {
        "tags": [
          "expenses-controller"
        ],
        "summary": "Get expenses total count",
        "description": "Returns the total number of expenses based on the specified filters.",
        "operationId": "calculateResultCount_29",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "Employee name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/merchants": {
      "get": {
        "tags": [
          "expenses-controller"
        ],
        "summary": "Get merchants",
        "description": "Returns a list of available merchants.",
        "operationId": "getMerchants_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Merchant"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft": {
      "get": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Get expenses drafts",
        "description": "Returns a list of expenses drafts based on the specified filters.",
        "operationId": "getTableView_28",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Expense draft ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense draft ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "Employee name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpenseDraftView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft/{id}": {
      "get": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Get expense draft by ID",
        "description": "Returns expense draft details by ID. Returns 404 if not found.",
        "operationId": "getExpenseDraft",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseDraft"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Delete expense draft by ID",
        "description": "Deletes an expense draft by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_21",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft/total": {
      "get": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Get expense drafts totals",
        "description": "Returns aggregated total values for expenses drafts based on the specified filters.",
        "operationId": "getTotal_6",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense draft ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense draft ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "Employee name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseDraftView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft/overall": {
      "get": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Get expenses drafts total count",
        "description": "Returns the total number of expenses drafts based on the specified filters.",
        "operationId": "calculateResultCount_30",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense draft ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense draft ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "Employee name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft/orders": {
      "get": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Get available orders",
        "description": "Returns a list of orders available for expense assignment based on the specified filters.",
        "operationId": "getOrders_2",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderForMyExpense"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft/offices": {
      "get": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Get offices",
        "description": "Returns a map where the key is the office identifier and the value is the office address name.",
        "operationId": "getOffices_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft/merchants": {
      "get": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Get merchants",
        "description": "Returns a list of merchants available to the current user.",
        "operationId": "getMerchants_2",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Merchant"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft/expense-category": {
      "get": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Get expense categories",
        "description": "Returns a list of available expense categories.",
        "operationId": "findExpenseCategory_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserLanguageChartOfAccountsView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft/department-tree": {
      "get": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Get department tree",
        "description": "Returns the department hierarchy available to the current user.",
        "operationId": "getDepartmentTree_2",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Department"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/draft/clients": {
      "get": {
        "tags": [
          "expenses-draft-controller"
        ],
        "summary": "Get available clients",
        "description": "Returns a map where the key is the client identifier and the value is the client name.",
        "operationId": "getClients_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/advanced": {
      "get": {
        "tags": [
          "expenses-advanced-controller"
        ],
        "summary": "Get expenses with advanced filters",
        "description": "Returns a list of expenses based on advanced filters.",
        "operationId": "getExpenseAdvanced_1",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "orderClientId",
            "in": "query",
            "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "Employee name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpenseView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/advanced/total": {
      "get": {
        "tags": [
          "expenses-advanced-controller"
        ],
        "summary": "Get total values for expenses using advanced filters",
        "description": "Returns aggregated totals calculated from expenses matching the specified filters.",
        "operationId": "getTotal_7",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "orderClientId",
            "in": "query",
            "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "Employee name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseBaseView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/expenses/advanced/overall": {
      "get": {
        "tags": [
          "expenses-advanced-controller"
        ],
        "summary": "Get total results count for expenses using advanced filters",
        "description": "Returns the total number of expenses matching the specified filters.",
        "operationId": "calculateResultCount_31",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "merchant",
            "in": "query",
            "description": "Merchant name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Merchant name filter",
              "example": "Starbucks"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Free-text description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text description filter",
              "example": "Client lunch"
            }
          },
          {
            "name": "reBill",
            "in": "query",
            "description": "Whether the expense should be rebilled to the client",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the expense should be rebilled to the client",
              "example": false
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyNetAmount",
            "in": "query",
            "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Net amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "currencyVatAmount",
            "in": "query",
            "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "7.7"
            }
          },
          {
            "name": "currencyTotalAmount",
            "in": "query",
            "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "companyCurrencyTotalAmount",
            "in": "query",
            "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Total amount in the company's currency filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Expense status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Expense status filter",
              "enum": [
                "UNSUBMITTED",
                "SUBMITTED",
                "APPROVED",
                "REFUSED",
                "BILLED"
              ],
              "example": "SUBMITTED"
            }
          },
          {
            "name": "receipt",
            "in": "query",
            "description": "Whether a receipt is attached",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether a receipt is attached",
              "example": true
            }
          },
          {
            "name": "orderClientId",
            "in": "query",
            "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "Employee name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Employee name filter",
              "example": "John Doe"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department IDs filter.<br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
            }
          },
          {
            "name": "officeId",
            "in": "query",
            "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/end-of-year/report/liabilities": {
      "get": {
        "tags": [
          "end-of-year-controller"
        ],
        "summary": "Get end of year liabilities",
        "operationId": "getEndOfYearLiabilities",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HierarchyElementObject"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/end-of-year/report/liabilities/export": {
      "get": {
        "tags": [
          "end-of-year-controller"
        ],
        "summary": "Export end of year profit and loss",
        "operationId": "getEndOfYearLiabilitiesExport",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/end-of-year/report/income-statement": {
      "get": {
        "tags": [
          "end-of-year-controller"
        ],
        "summary": "Get the end of year Income Statement",
        "description": "A profit and loss, so it covers the fiscal YEAR as a period rather than a snapshot at its end. The client sends the same single date as the other end-of-year endpoints; the accounting period it falls in supplies the start and end, so the page keeps one year selector.",
        "operationId": "getEndOfYearIncomeStatement",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HierarchyElementObject"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/end-of-year/report/export/xml": {
      "get": {
        "tags": [
          "end-of-year-controller"
        ],
        "summary": "Export the end of year report as eCH-0276 XML",
        "description": "Takes the fiscal year end date, like the report itself. It used to require a start/end range, left from when the liability side was a P&L over a period - the frontend stopped sending one, so every request failed the mapping condition before reaching the handler.",
        "operationId": "getXmlExport_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/end-of-year/report/export/pdf": {
      "get": {
        "tags": [
          "end-of-year-controller"
        ],
        "summary": "Export the end of year report as a tax declaration PDF",
        "description": "The paper counterpart of the eCH-0276 export: same fiscal year end date, same figures. Two layouts - one for capital companies, one for associations and foundations - chosen from whether the organization has a UID. Covers the header and sections A, B, C and E; the sections the system holds no data for are omitted rather than printed empty.",
        "operationId": "getPdfExport",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/end-of-year/report/e-balance-sheet": {
      "get": {
        "tags": [
          "end-of-year-controller"
        ],
        "summary": "Get the end of year E-Balance Sheet",
        "description": "The whole statement in one list: the asset lines followed by the liability lines. Both sides are a balance sheet as of the fiscal year end, so the page needs no date filter at all.",
        "operationId": "getEBalanceSheet",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HierarchyElementObject"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/end-of-year/report/e-balance-sheet/export": {
      "get": {
        "tags": [
          "end-of-year-controller"
        ],
        "summary": "Export the end of year E-Balance Sheet",
        "description": "One workbook, an Assets sheet followed by a Liabilities sheet, as of the fiscal year end.",
        "operationId": "getEBalanceSheetExport",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/end-of-year/report/assets": {
      "get": {
        "tags": [
          "end-of-year-controller"
        ],
        "summary": "Get end of year balance sheet",
        "operationId": "getEndOfYearAssets",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HierarchyElementObject"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/end-of-year/report/assets/export": {
      "get": {
        "tags": [
          "end-of-year-controller"
        ],
        "summary": "Export end of year balance sheet",
        "operationId": "getEndOfYearAssetsExport",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/e-bilan-report/tree/{reportType}": {
      "get": {
        "tags": [
          "e-bilan-report-controller"
        ],
        "summary": "Get an end-of-year statement",
        "description": "Returns the global line structure with the current organization's account mapping applied. Readable by any user; see the PUT endpoints for what each role may change.",
        "operationId": "getTree",
        "parameters": [
          {
            "name": "reportType",
            "in": "path",
            "description": "END_OF_YEAR_ASSET or END_OF_YEAR_LIABILITY",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "BALANCE_SHEET",
                "PL",
                "CASH_FLOW",
                "RATIOS",
                "END_OF_YEAR_ASSET",
                "END_OF_YEAR_LIABILITY",
                "END_OF_YEAR_INCOME_STATEMENT"
              ]
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EBilanTemplateLine"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document": {
      "get": {
        "tags": [
          "document-controller"
        ],
        "summary": "Get documents",
        "description": "Returns a list of documents based on the specified filters.",
        "operationId": "getTableView_29",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Document identifier(s). When filteredTags and/or filteredContacts are specified, the value of id is generated automatically based on the documents found and any user-provided id value is ignored. If no matching documents are found, id is set to -1. When neither filteredTags nor filteredContacts is specified, the id value provided in the request is used for filtering.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document identifier(s). When filteredTags and/or filteredContacts are specified, the value of id is generated automatically based on the documents found and any user-provided id value is ignored. If no matching documents are found, id is set to -1. When neither filteredTags nor filteredContacts is specified, the id value provided in the request is used for filtering.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date of the documentSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date of the documentSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Name of the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the document",
              "example": "Example Document Name"
            }
          },
          {
            "name": "module",
            "in": "query",
            "description": "Type of module for the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Type of module for the document",
              "enum": [
                "CONTACTS",
                "STOCK_MOVEMENTS",
                "JOURNAL",
                "ORGANIZATIONS",
                "PURCHASE_INVOICES",
                "SALARIES",
                "SALES_INVOICES",
                "ORDERS",
                "UNASSIGNED"
              ],
              "example": "UNASSIGNED"
            }
          },
          {
            "name": "fileId",
            "in": "query",
            "description": "File ID related to the document",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "File ID related to the document",
              "example": 123456
            }
          },
          {
            "name": "fileName",
            "in": "query",
            "description": "Name of the file related to the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the file related to the document",
              "example": "Example File Name"
            }
          },
          {
            "name": "fileExtension",
            "in": "query",
            "description": "Extension of the file related to the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Extension of the file related to the document",
              "example": "pdf"
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "Size of the document file",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Size of the document file",
              "example": 5000
            }
          },
          {
            "name": "createdOn",
            "in": "query",
            "description": "Document creation dateSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document creation dateSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "createdBy",
            "in": "query",
            "description": "User who has created the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "User who has created the document",
              "example": "User"
            }
          },
          {
            "name": "creatorId",
            "in": "query",
            "description": "Creator contact ID of the document<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Creator contact ID of the document<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "1234567"
            }
          },
          {
            "name": "self",
            "in": "query",
            "description": "Boolean flag about whetehr the document was deleted or not",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Boolean flag about whetehr the document was deleted or not",
              "example": false
            }
          },
          {
            "name": "tags",
            "in": "query",
            "description": "Semicolon-separated list of tag IDs. Multi-value supported. Example: value1;value2",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Semicolon-separated list of tag IDs. Multi-value supported. Example: value1;value2",
              "example": "123456;234567;345678"
            }
          },
          {
            "name": "contact",
            "in": "query",
            "description": "Semicolon-separated list of contact IDs. Multi-value supported. Example: value1;value2",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Semicolon-separated list of contact IDs. Multi-value supported. Example: value1;value2",
              "example": "123456;234567;345678"
            }
          },
          {
            "name": "filterStaffDocuments",
            "in": "query",
            "description": "Checks whether documents should be filtered based on parameters and corresponding permissions.",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Checks whether documents should be filtered based on parameters and corresponding permissions.",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/{id}": {
      "get": {
        "tags": [
          "document-controller"
        ],
        "summary": "Get document by ID",
        "description": "Returns document details by ID. Throws an exception if not found.",
        "operationId": "getDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Document"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "document-controller"
        ],
        "summary": "Delete document by ID",
        "description": "Deletes a document by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "removeDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/view/{id}": {
      "get": {
        "tags": [
          "document-controller"
        ],
        "summary": "Get document file by ID",
        "description": "Returns the content of the specified document file.",
        "operationId": "viewFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/tags": {
      "get": {
        "tags": [
          "document-controller"
        ],
        "summary": "Get document tags",
        "description": "Returns a list of document tags, optionally filtered by query.",
        "operationId": "filterTags",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentTagEntity"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/overall": {
      "get": {
        "tags": [
          "document-controller"
        ],
        "summary": "Get documents total count",
        "description": "Returns the total number of documents based on the specified filters.",
        "operationId": "calculateResultCount_32",
        "parameters": [
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "enum": [
                "ASC,DESC"
              ]
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Document identifier(s). When filteredTags and/or filteredContacts are specified, the value of id is generated automatically based on the documents found and any user-provided id value is ignored. If no matching documents are found, id is set to -1. When neither filteredTags nor filteredContacts is specified, the id value provided in the request is used for filtering.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document identifier(s). When filteredTags and/or filteredContacts are specified, the value of id is generated automatically based on the documents found and any user-provided id value is ignored. If no matching documents are found, id is set to -1. When neither filteredTags nor filteredContacts is specified, the id value provided in the request is used for filtering.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date of the documentSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date of the documentSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Name of the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the document",
              "example": "Example Document Name"
            }
          },
          {
            "name": "module",
            "in": "query",
            "description": "Type of module for the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Type of module for the document",
              "enum": [
                "CONTACTS",
                "STOCK_MOVEMENTS",
                "JOURNAL",
                "ORGANIZATIONS",
                "PURCHASE_INVOICES",
                "SALARIES",
                "SALES_INVOICES",
                "ORDERS",
                "UNASSIGNED"
              ],
              "example": "UNASSIGNED"
            }
          },
          {
            "name": "fileId",
            "in": "query",
            "description": "File ID related to the document",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "File ID related to the document",
              "example": 123456
            }
          },
          {
            "name": "fileName",
            "in": "query",
            "description": "Name of the file related to the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the file related to the document",
              "example": "Example File Name"
            }
          },
          {
            "name": "fileExtension",
            "in": "query",
            "description": "Extension of the file related to the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Extension of the file related to the document",
              "example": "pdf"
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "Size of the document file",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Size of the document file",
              "example": 5000
            }
          },
          {
            "name": "createdOn",
            "in": "query",
            "description": "Document creation dateSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document creation dateSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "createdBy",
            "in": "query",
            "description": "User who has created the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "User who has created the document",
              "example": "User"
            }
          },
          {
            "name": "creatorId",
            "in": "query",
            "description": "Creator contact ID of the document<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Creator contact ID of the document<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "1234567"
            }
          },
          {
            "name": "self",
            "in": "query",
            "description": "Boolean flag about whetehr the document was deleted or not",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Boolean flag about whetehr the document was deleted or not",
              "example": false
            }
          },
          {
            "name": "tags",
            "in": "query",
            "description": "Semicolon-separated list of tag IDs. Multi-value supported. Example: value1;value2",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Semicolon-separated list of tag IDs. Multi-value supported. Example: value1;value2",
              "example": "123456;234567;345678"
            }
          },
          {
            "name": "contact",
            "in": "query",
            "description": "Semicolon-separated list of contact IDs. Multi-value supported. Example: value1;value2",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Semicolon-separated list of contact IDs. Multi-value supported. Example: value1;value2",
              "example": "123456;234567;345678"
            }
          },
          {
            "name": "filterStaffDocuments",
            "in": "query",
            "description": "Checks whether documents should be filtered based on parameters and corresponding permissions.",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Checks whether documents should be filtered based on parameters and corresponding permissions.",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/modules": {
      "get": {
        "tags": [
          "document-controller"
        ],
        "summary": "Get document modules",
        "description": "Returns a map of module names to their localized translations for modules that support documents.",
        "operationId": "getDocumentModules",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/large-to-export": {
      "get": {
        "tags": [
          "large-document-export-controller"
        ],
        "summary": "Get large documents",
        "description": "Returns a list of documents based on the specified filters.",
        "operationId": "getTableView_30",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Document ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Document date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Document name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document name filter",
              "example": "invoice_scan.pdf"
            }
          },
          {
            "name": "fileName",
            "in": "query",
            "description": "Original file name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Original file name filter",
              "example": "scan_2026_06_01.pdf"
            }
          },
          {
            "name": "fileExtension",
            "in": "query",
            "description": "File extension filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "File extension filter",
              "example": "pdf"
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "File size in bytes filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "File size in bytes filter",
              "example": 204800
            }
          },
          {
            "name": "createdOn",
            "in": "query",
            "description": "Upload date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Upload date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "createdBy",
            "in": "query",
            "description": "Name of the user who uploaded the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the user who uploaded the document",
              "example": "John Doe"
            }
          },
          {
            "name": "creatorId",
            "in": "query",
            "description": "Contact ID of the user who uploaded the document.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID of the user who uploaded the document.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isDeleted",
            "in": "query",
            "description": "Whether the document is marked as deleted",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the document is marked as deleted",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "large-document-export-controller"
        ],
        "summary": "Delete all documents",
        "description": "Deletes all documents matching the specified filters.",
        "operationId": "deleteAll_1",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/large-to-export/overall": {
      "get": {
        "tags": [
          "large-document-export-controller"
        ],
        "summary": "Get large documents total count",
        "description": "Returns the total number of documents based on the specified filters.",
        "operationId": "calculateResultCount_33",
        "parameters": [
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "enum": [
                "ASC,DESC"
              ]
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Document ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Document date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Document name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document name filter",
              "example": "invoice_scan.pdf"
            }
          },
          {
            "name": "fileName",
            "in": "query",
            "description": "Original file name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Original file name filter",
              "example": "scan_2026_06_01.pdf"
            }
          },
          {
            "name": "fileExtension",
            "in": "query",
            "description": "File extension filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "File extension filter",
              "example": "pdf"
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "File size in bytes filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "File size in bytes filter",
              "example": 204800
            }
          },
          {
            "name": "createdOn",
            "in": "query",
            "description": "Upload date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Upload date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "createdBy",
            "in": "query",
            "description": "Name of the user who uploaded the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the user who uploaded the document",
              "example": "John Doe"
            }
          },
          {
            "name": "creatorId",
            "in": "query",
            "description": "Contact ID of the user who uploaded the document.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID of the user who uploaded the document.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isDeleted",
            "in": "query",
            "description": "Whether the document is marked as deleted",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the document is marked as deleted",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/large-to-export/download/{id}": {
      "get": {
        "tags": [
          "large-document-export-controller"
        ],
        "summary": "Download document file",
        "operationId": "downloadFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/duplicate/{id}": {
      "get": {
        "tags": [
          "document-controller"
        ],
        "summary": "Duplicate document file by ID",
        "description": "Creates a duplicate of the specified document file.",
        "operationId": "duplicate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/download/{id}": {
      "get": {
        "tags": [
          "document-controller"
        ],
        "summary": "Download document file",
        "operationId": "downloadFile_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/download/journal-import": {
      "get": {
        "tags": [
          "document-controller"
        ],
        "summary": "Download journal import template",
        "description": "Returns the journal import template file.",
        "operationId": "downloadJournalImport",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/download-archive/{archiveName}": {
      "get": {
        "tags": [
          "document-controller"
        ],
        "summary": "Download documents as archive",
        "description": "Returns a ZIP archive containing documents matching the specified filters.",
        "operationId": "downloadFiles_1",
        "parameters": [
          {
            "name": "archiveName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Document identifier(s). When filteredTags and/or filteredContacts are specified, the value of id is generated automatically based on the documents found and any user-provided id value is ignored. If no matching documents are found, id is set to -1. When neither filteredTags nor filteredContacts is specified, the id value provided in the request is used for filtering.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document identifier(s). When filteredTags and/or filteredContacts are specified, the value of id is generated automatically based on the documents found and any user-provided id value is ignored. If no matching documents are found, id is set to -1. When neither filteredTags nor filteredContacts is specified, the id value provided in the request is used for filtering.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date of the documentSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Date of the documentSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Name of the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the document",
              "example": "Example Document Name"
            }
          },
          {
            "name": "module",
            "in": "query",
            "description": "Type of module for the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Type of module for the document",
              "enum": [
                "CONTACTS",
                "STOCK_MOVEMENTS",
                "JOURNAL",
                "ORGANIZATIONS",
                "PURCHASE_INVOICES",
                "SALARIES",
                "SALES_INVOICES",
                "ORDERS",
                "UNASSIGNED"
              ],
              "example": "UNASSIGNED"
            }
          },
          {
            "name": "fileId",
            "in": "query",
            "description": "File ID related to the document",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "File ID related to the document",
              "example": 123456
            }
          },
          {
            "name": "fileName",
            "in": "query",
            "description": "Name of the file related to the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the file related to the document",
              "example": "Example File Name"
            }
          },
          {
            "name": "fileExtension",
            "in": "query",
            "description": "Extension of the file related to the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Extension of the file related to the document",
              "example": "pdf"
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "Size of the document file",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Size of the document file",
              "example": 5000
            }
          },
          {
            "name": "createdOn",
            "in": "query",
            "description": "Document creation dateSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document creation dateSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "createdBy",
            "in": "query",
            "description": "User who has created the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "User who has created the document",
              "example": "User"
            }
          },
          {
            "name": "creatorId",
            "in": "query",
            "description": "Creator contact ID of the document<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Creator contact ID of the document<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "1234567"
            }
          },
          {
            "name": "self",
            "in": "query",
            "description": "Boolean flag about whetehr the document was deleted or not",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Boolean flag about whetehr the document was deleted or not",
              "example": false
            }
          },
          {
            "name": "tags",
            "in": "query",
            "description": "Semicolon-separated list of tag IDs. Multi-value supported. Example: value1;value2",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Semicolon-separated list of tag IDs. Multi-value supported. Example: value1;value2",
              "example": "123456;234567;345678"
            }
          },
          {
            "name": "contact",
            "in": "query",
            "description": "Semicolon-separated list of contact IDs. Multi-value supported. Example: value1;value2",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Semicolon-separated list of contact IDs. Multi-value supported. Example: value1;value2",
              "example": "123456;234567;345678"
            }
          },
          {
            "name": "filterStaffDocuments",
            "in": "query",
            "description": "Checks whether documents should be filtered based on parameters and corresponding permissions.",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Checks whether documents should be filtered based on parameters and corresponding permissions.",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/contacts": {
      "get": {
        "tags": [
          "document-controller"
        ],
        "summary": "Get contacts by criteria",
        "description": "Returns a list of contacts, optionally filtered by name and email.",
        "operationId": "filterContacts",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Contact name to filter by",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "description": "Contact email to filter by",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactBrief"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document-scan": {
      "get": {
        "tags": [
          "document-scan-controller"
        ],
        "summary": "Get document scans",
        "description": "Returns a list of document scans based on the specified filters.",
        "operationId": "getTableView_31",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Document ID filter.<br><br>When tags and/or contact are specified, id is generated automatically based on the documents found and any value provided here is ignored. If no matching documents are found, id is set to -1.<br><br>When neither tags nor contact is specified, the provided id value is used for filtering.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document ID filter.<br><br>When tags and/or contact are specified, id is generated automatically based on the documents found and any value provided here is ignored. If no matching documents are found, id is set to -1.<br><br>When neither tags nor contact is specified, the provided id value is used for filtering.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Document date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Document name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document name filter",
              "example": "invoice_scan.pdf"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "description": "Document tag ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document tag ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contact",
            "in": "query",
            "description": "Contact ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "module",
            "in": "query",
            "description": "Module the document belongs to",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Module the document belongs to",
              "enum": [
                "CONTACTS",
                "STOCK_MOVEMENTS",
                "JOURNAL",
                "ORGANIZATIONS",
                "PURCHASE_INVOICES",
                "SALARIES",
                "SALES_INVOICES",
                "ORDERS",
                "UNASSIGNED"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "fileName",
            "in": "query",
            "description": "Original file name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Original file name filter",
              "example": "scan_2026_06_01.pdf"
            }
          },
          {
            "name": "fileExtension",
            "in": "query",
            "description": "File extension filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "File extension filter",
              "example": "pdf"
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "File size in bytes filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "File size in bytes filter",
              "example": 204800
            }
          },
          {
            "name": "createdOn",
            "in": "query",
            "description": "Upload date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Upload date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "createdBy",
            "in": "query",
            "description": "Name of the user who uploaded the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the user who uploaded the document",
              "example": "John Doe"
            }
          },
          {
            "name": "creatorId",
            "in": "query",
            "description": "Contact ID of the user who uploaded the document.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID of the user who uploaded the document.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isDeleted",
            "in": "query",
            "description": "Whether the document is marked as deleted",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the document is marked as deleted",
              "example": false
            }
          },
          {
            "name": "filterNotAssignDocuments",
            "in": "query",
            "description": "Whether to filter for documents in the Document Scan window that are not assigned to any module or contact, based on the current filters and permissions",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to filter for documents in the Document Scan window that are not assigned to any module or contact, based on the current filters and permissions",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentScanView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "document-scan-controller"
        ],
        "summary": "Delete multiple document scans",
        "description": "Deletes multiple document scans by IDs.",
        "operationId": "deleteAll_2",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document-scan/overall": {
      "get": {
        "tags": [
          "document-scan-controller"
        ],
        "summary": "Get document scans total count",
        "description": "Returns the total number of document scans based on the specified filters.",
        "operationId": "calculateResultCount_34",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Document ID filter.<br><br>When tags and/or contact are specified, id is generated automatically based on the documents found and any value provided here is ignored. If no matching documents are found, id is set to -1.<br><br>When neither tags nor contact is specified, the provided id value is used for filtering.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document ID filter.<br><br>When tags and/or contact are specified, id is generated automatically based on the documents found and any value provided here is ignored. If no matching documents are found, id is set to -1.<br><br>When neither tags nor contact is specified, the provided id value is used for filtering.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Document date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Document name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document name filter",
              "example": "invoice_scan.pdf"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "description": "Document tag ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Document tag ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contact",
            "in": "query",
            "description": "Contact ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "module",
            "in": "query",
            "description": "Module the document belongs to",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Module the document belongs to",
              "enum": [
                "CONTACTS",
                "STOCK_MOVEMENTS",
                "JOURNAL",
                "ORGANIZATIONS",
                "PURCHASE_INVOICES",
                "SALARIES",
                "SALES_INVOICES",
                "ORDERS",
                "UNASSIGNED"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "fileName",
            "in": "query",
            "description": "Original file name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Original file name filter",
              "example": "scan_2026_06_01.pdf"
            }
          },
          {
            "name": "fileExtension",
            "in": "query",
            "description": "File extension filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "File extension filter",
              "example": "pdf"
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "File size in bytes filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "File size in bytes filter",
              "example": 204800
            }
          },
          {
            "name": "createdOn",
            "in": "query",
            "description": "Upload date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Upload date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "createdBy",
            "in": "query",
            "description": "Name of the user who uploaded the document",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the user who uploaded the document",
              "example": "John Doe"
            }
          },
          {
            "name": "creatorId",
            "in": "query",
            "description": "Contact ID of the user who uploaded the document.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID of the user who uploaded the document.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isDeleted",
            "in": "query",
            "description": "Whether the document is marked as deleted",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the document is marked as deleted",
              "example": false
            }
          },
          {
            "name": "filterNotAssignDocuments",
            "in": "query",
            "description": "Whether to filter for documents in the Document Scan window that are not assigned to any module or contact, based on the current filters and permissions",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to filter for documents in the Document Scan window that are not assigned to any module or contact, based on the current filters and permissions",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/department": {
      "get": {
        "tags": [
          "department-controller"
        ],
        "summary": "Get departments",
        "description": "Returns a flat list of all departments for the authenticated user's organization.",
        "operationId": "getDepartments",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Department"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/department/tree/{id}": {
      "get": {
        "tags": [
          "department-controller"
        ],
        "summary": "Get departments tree by organization ID",
        "description": "Returns a list of departments organized in a tree structure for the specified organization.",
        "operationId": "getDepartmentTreeForOrganization",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Department"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/currency-exchange": {
      "get": {
        "tags": [
          "currency-exchange-controller"
        ],
        "summary": "Get currency exchange rates",
        "description": "Returns a list of currency exchange rates based on the specified filters.",
        "operationId": "getTableView_32",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Exchange rate entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Exchange rate entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Rate date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Rate date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "currencyFrom",
            "in": "query",
            "description": "Source currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Source currency code filter",
              "example": "USD"
            }
          },
          {
            "name": "currencyTo",
            "in": "query",
            "description": "Target currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Target currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "rate",
            "in": "query",
            "description": "Exchange rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Exchange rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "0.91"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyExchangeView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/currency-exchange/{id}": {
      "get": {
        "tags": [
          "currency-exchange-controller"
        ],
        "summary": "Get currency exchange rate by ID",
        "description": "Returns currency exchange rate details by ID.",
        "operationId": "find_10",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyExchange"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "currency-exchange-controller"
        ],
        "summary": "Delete currency exchange rate by ID",
        "description": "Deletes a currency exchange rate by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_22",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/currency-exchange/import/{currency}": {
      "get": {
        "tags": [
          "currency-exchange-controller"
        ],
        "summary": "Import currency exchange rates",
        "description": "Triggers an import of currency exchange rates for the specified currency code (EUR, CHF, or all). Requires a valid API key. Returns 200 on success, or 400 if the key is invalid or the rates are unavailable.",
        "operationId": "updateCurrencyExchangeRates",
        "parameters": [
          {
            "name": "currency",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get contacts",
        "description": "Returns a list of contacts based on the specified filters.",
        "operationId": "getTableView_33",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactType",
            "in": "query",
            "description": "Contact type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact type filter",
              "enum": [
                "ORGANIZATION",
                "PERSON"
              ],
              "example": "PERSON"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "isCustomer",
            "in": "query",
            "description": "Whether the contact is a customer",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a customer",
              "example": true
            }
          },
          {
            "name": "isVendor",
            "in": "query",
            "description": "Whether the contact is a vendor/supplier",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a vendor/supplier",
              "example": false
            }
          },
          {
            "name": "isStaff",
            "in": "query",
            "description": "Whether the contact is a staff member",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a staff member",
              "example": false
            }
          },
          {
            "name": "isUser",
            "in": "query",
            "description": "Whether the contact has a user account",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has a user account",
              "example": false
            }
          },
          {
            "name": "email",
            "in": "query",
            "description": "Email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Email address filter",
              "example": "contact@example.com"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Whether the contact is archived",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is archived",
              "example": false
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the contact has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has warnings",
              "example": false
            }
          },
          {
            "name": "isEmployee",
            "in": "query",
            "description": "Whether the contact is an employee",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is an employee",
              "example": false
            }
          },
          {
            "name": "filterStaffContacts",
            "in": "query",
            "description": "Whether to filter for staff contacts only",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to filter for staff contacts only",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactListView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{type}/{id}": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get contact details",
        "description": "Returns details of the specified contact.",
        "operationId": "find_11",
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ORGANIZATION",
                "PERSON"
              ]
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Contact"
                    },
                    {
                      "$ref": "#/components/schemas/OrganizationContact"
                    },
                    {
                      "$ref": "#/components/schemas/PersonContact"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{type}/{id}/deleted": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get deleted contact details",
        "description": "Returns details of the specified deleted contact.",
        "operationId": "findDeleted",
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ORGANIZATION",
                "PERSON"
              ]
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Contact"
                    },
                    {
                      "$ref": "#/components/schemas/OrganizationContact"
                    },
                    {
                      "$ref": "#/components/schemas/PersonContact"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{id}/vcard": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Export contact as vCard",
        "description": "Generates and downloads a vCard (.vcf) file for the specified contact.",
        "operationId": "getVCard",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{id}/token": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get API token of user",
        "operationId": "getToken",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{id}/supplier": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get supplier details",
        "description": "Returns supplier information for the specified contact.",
        "operationId": "getContactSupplier",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactSupplier"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{id}/single-supplier": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get supplier details without organization filter",
        "description": "Returns supplier information for the specified contact without applying organization-based filtering.",
        "operationId": "getContactSupplierWithoutOrganization",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactSupplier"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{id}/related": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get related contacts for company",
        "description": "Returns a list of person contacts associated with the specified company.",
        "operationId": "getRelatedTableView",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactListView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{id}/client": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get client details",
        "description": "Returns client information for the specified contact.",
        "operationId": "getContactClient",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactClient"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{id}/balance-of-contact": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get contact balance",
        "description": "Returns all financial transactions related to the specified client contact, such as invoices and payments, including calculated totals.",
        "operationId": "getBalanceOfContact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BalanceOfTheContact"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/suppliers/{organizationId}": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get suppliers for organization",
        "description": "Returns a list of suppliers associated with the specified organization.",
        "operationId": "findSuppliersForOrganization",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "organizationAccessibleCheck",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "withUidOnly",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupplierContactListView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/source-tax-codes/{regionId}": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get source tax codes for region",
        "description": "Returns a map where the key is the calendar year and the value is the list of source tax codes for the specified region.",
        "operationId": "getYearsToSourceTaxCodesByRegionId",
        "parameters": [
          {
            "name": "regionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/payslip-years/{organizationId}": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get salary configuration years for organization",
        "description": "Returns a map where the key is the calendar year and the value is the salary configuration data.",
        "operationId": "getYearsToPayslipLinesByOrganizationId",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/StaffPayslipContainer"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/payslip-table/line-names/{organizationId}": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get salary line names for organization",
        "description": "Returns a map where the key is the calendar year and the value is the list of salary line names.",
        "operationId": "getPayslipTableLineNames",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/PayslipLineNameNumber"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/overall": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get contacts total count",
        "description": "Returns the total number of contacts based on the specified filters.",
        "operationId": "calculateResultCount_35",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactType",
            "in": "query",
            "description": "Contact type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact type filter",
              "enum": [
                "ORGANIZATION",
                "PERSON"
              ],
              "example": "PERSON"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Contact name filter. `Applicable only when contactType = ORGANIZATION`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter. `Applicable only when contactType = ORGANIZATION`",
              "example": "Acme Corp"
            }
          },
          {
            "name": "isCustomer",
            "in": "query",
            "description": "Whether the contact is a customer",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a customer",
              "example": true
            }
          },
          {
            "name": "isVendor",
            "in": "query",
            "description": "Whether the contact is a vendor/supplier",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a vendor/supplier",
              "example": false
            }
          },
          {
            "name": "isStaff",
            "in": "query",
            "description": "Whether the contact is a staff member. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a staff member. `Applicable only when contactType = PERSON`",
              "example": false
            }
          },
          {
            "name": "isUser",
            "in": "query",
            "description": "Whether the contact has a user account. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has a user account. `Applicable only when contactType = PERSON`",
              "example": false
            }
          },
          {
            "name": "email",
            "in": "query",
            "description": "Email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Email address filter",
              "example": "contact@example.com"
            }
          },
          {
            "name": "externalId",
            "in": "query",
            "description": "External identifier filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "External identifier filter",
              "example": "EXT-001"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Whether the contact is archived",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is archived",
              "example": false
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the contact has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has warnings",
              "example": false
            }
          },
          {
            "name": "lastName",
            "in": "query",
            "description": "Last name filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Last name filter. `Applicable only when contactType = PERSON`",
              "example": "Doe"
            }
          },
          {
            "name": "firstName",
            "in": "query",
            "description": "First name filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "First name filter. `Applicable only when contactType = PERSON`",
              "example": "John"
            }
          },
          {
            "name": "middleName",
            "in": "query",
            "description": "Middle name filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Middle name filter. `Applicable only when contactType = PERSON`",
              "example": "Paul"
            }
          },
          {
            "name": "nationality",
            "in": "query",
            "description": "Nationality filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Nationality filter. `Applicable only when contactType = PERSON`",
              "example": "Swiss"
            }
          },
          {
            "name": "gender",
            "in": "query",
            "description": "Gender filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gender filter. `Applicable only when contactType = PERSON`",
              "enum": [
                "MALE",
                "FEMALE",
                "OTHER"
              ],
              "example": "MALE"
            }
          },
          {
            "name": "birthDate",
            "in": "query",
            "description": "Birth date filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Birth date filter. `Applicable only when contactType = PERSON`"
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "Default language filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Default language filter",
              "enum": [
                "EN",
                "FR",
                "DE",
                "IT",
                "UNDEFINED"
              ],
              "example": "EN"
            }
          },
          {
            "name": "nogaCode",
            "in": "query",
            "description": "NOGA economic activity code filter. `Applicable only when contactType = ORGANIZATION`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "NOGA economic activity code filter. `Applicable only when contactType = ORGANIZATION`",
              "example": "62.01"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "description": "Phone number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Phone number filter",
              "example": "+41 22 000 00 00"
            }
          },
          {
            "name": "fax",
            "in": "query",
            "description": "Fax number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fax number filter",
              "example": "+41 22 000 00 01"
            }
          },
          {
            "name": "mobile",
            "in": "query",
            "description": "Mobile number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Mobile number filter",
              "example": "+41 79 000 00 00"
            }
          },
          {
            "name": "webSite",
            "in": "query",
            "description": "Website URL filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Website URL filter",
              "example": "https://example.com"
            }
          },
          {
            "name": "addressId",
            "in": "query",
            "description": "Address ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "addressName",
            "in": "query",
            "description": "Address label / name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address label / name filter",
              "example": "Main Office"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Address street filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address street filter",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressHouseNumber",
            "in": "query",
            "description": "Address house number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address house number filter",
              "example": "42"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Address P.O. box / street line 2 filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address P.O. box / street line 2 filter",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Address city filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address city filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressPostCode",
            "in": "query",
            "description": "Address postal code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address postal code filter",
              "example": "1200"
            }
          },
          {
            "name": "addressCountry",
            "in": "query",
            "description": "Address country filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address country filter",
              "example": "Switzerland"
            }
          },
          {
            "name": "addressRegion",
            "in": "query",
            "description": "Address region filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address region filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Address 'to the attention of' filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address 'to the attention of' filter",
              "example": "John Doe"
            }
          },
          {
            "name": "bankId",
            "in": "query",
            "description": "Bank ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "bankName",
            "in": "query",
            "description": "Bank account label / name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account label / name filter",
              "example": "Main Account"
            }
          },
          {
            "name": "bankAccountNumber",
            "in": "query",
            "description": "Bank account number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account number filter",
              "example": "CH56 0483 5012 3456 7800 9"
            }
          },
          {
            "name": "bankSwiftBic",
            "in": "query",
            "description": "Bank SWIFT/BIC code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank SWIFT/BIC code filter",
              "example": "UBSWCHZH80A"
            }
          },
          {
            "name": "bankRemark",
            "in": "query",
            "description": "Bank account remark filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account remark filter",
              "example": "Primary account"
            }
          },
          {
            "name": "clientDefaultDepartmentId",
            "in": "query",
            "description": "Client default department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client default department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "clientDefaultAccountForPaymentsNumber",
            "in": "query",
            "description": "Client default payment chart of accounts number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default payment chart of accounts number filter",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultPlAccountNumber",
            "in": "query",
            "description": "Client default P&L chart of accounts number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default P&L chart of accounts number filter",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultBalanceSheetAccountNumber",
            "in": "query",
            "description": "Client default balance sheet chart of accounts number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default balance sheet chart of accounts number filter",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultPaymentCurrencyCode",
            "in": "query",
            "description": "Client default payment currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client default payment currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "clientVatNumber",
            "in": "query",
            "description": "Client VAT number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client VAT number filter",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "clientVatType",
            "in": "query",
            "description": "Client VAT type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client VAT type filter",
              "example": "NATIVE"
            }
          },
          {
            "name": "clientRequestedPaymentTerms",
            "in": "query",
            "description": "Client requested payment terms in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client requested payment terms in days filter",
              "example": 30
            }
          },
          {
            "name": "clientLateNoticeMargin",
            "in": "query",
            "description": "Client late notice margin in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client late notice margin in days filter",
              "example": 10
            }
          },
          {
            "name": "clientDiscountRate",
            "in": "query",
            "description": "Client discount rate filter",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Client discount rate filter",
              "example": 5
            }
          },
          {
            "name": "clientCreditLimit",
            "in": "query",
            "description": "Client credit limit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client credit limit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "supplierDefaultDepartmentId",
            "in": "query",
            "description": "Supplier default department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier default department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "supplierDefaultAccountForPaymentsNumber",
            "in": "query",
            "description": "Supplier default payment chart of accounts number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default payment chart of accounts number filter",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultPlAccountNumber",
            "in": "query",
            "description": "Supplier default P&L chart of accounts number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default P&L chart of accounts number filter",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultBalanceSheetAccountNumber",
            "in": "query",
            "description": "Supplier default balance sheet chart of accounts number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default balance sheet chart of accounts number filter",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultPaymentCurrencyCode",
            "in": "query",
            "description": "Supplier default payment currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier default payment currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "supplierVatNumber",
            "in": "query",
            "description": "Supplier VAT number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT number filter",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "supplierVatTypeEnum",
            "in": "query",
            "description": "Supplier VAT type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT type filter",
              "enum": [
                "NO_VAT",
                "NATIVE",
                "IMPORT_OF_SERVICE"
              ],
              "example": "NATIVE"
            }
          },
          {
            "name": "supplierVatTypeCode",
            "in": "query",
            "description": "Supplier VAT type code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT type code filter",
              "example": "VAT-STD"
            }
          },
          {
            "name": "supplierRequestedPaymentTerms",
            "in": "query",
            "description": "Supplier requested payment terms in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier requested payment terms in days filter",
              "example": 30
            }
          },
          {
            "name": "supplierPaymentFeesSplit",
            "in": "query",
            "description": "Supplier payment fees split filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier payment fees split filter",
              "enum": [
                "CHARGED_TO_THE_BENEFICIARY",
                "FIFTY_FIFTY_SPLIT",
                "CHARGED_TO_THE_ORDERER"
              ],
              "example": "FIFTY_FIFTY_SPLIT"
            }
          },
          {
            "name": "staffAvsNumber",
            "in": "query",
            "description": "Staff AVS/social security number filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff AVS/social security number filter. `Applicable only when contactType = PERSON`",
              "example": "756.1234.5678.90"
            }
          },
          {
            "name": "staffPermitExpiryDate",
            "in": "query",
            "description": "Staff work permit expiry date filter. `Applicable only when contactType = PERSON`Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff work permit expiry date filter. `Applicable only when contactType = PERSON`Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "staffContractType",
            "in": "query",
            "description": "Staff contract type filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff contract type filter. `Applicable only when contactType = PERSON`",
              "enum": [
                "OPEN_ENDED",
                "OPEN_ENDED_YEAR",
                "FIXED",
                "APPRENTICESHIP",
                "INTERN",
                "INDEFINITE_SALARY_NO_TIME_CONSTRAINT",
                "FIXED_SALARY_NO_TIME_CONSTRAINT",
                "ADMINISTRATIVE_BOARD"
              ],
              "example": "OPEN_ENDED"
            }
          },
          {
            "name": "staffMaritalType",
            "in": "query",
            "description": "Staff marital status filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff marital status filter. `Applicable only when contactType = PERSON`",
              "enum": [
                "SINGLE",
                "MARRIED",
                "DIVORCED",
                "SEPARATED",
                "WIDOWED",
                "PARTNERED",
                "DISSOLVED_LAW",
                "DISSOLVED_LOST",
                "DISSOLVED_DEATH"
              ],
              "example": "MISS"
            }
          },
          {
            "name": "staffTrainingLevel",
            "in": "query",
            "description": "Staff training level filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff training level filter. `Applicable only when contactType = PERSON`",
              "enum": [
                "PHD",
                "MASTER_ETH",
                "BACHELOR_ETH",
                "MASTER_UAS",
                "BACHELOR_UAS",
                "HES",
                "MASTER",
                "BACHELOR",
                "TC",
                "MATU",
                "CVT",
                "IN_HOUSE",
                "COMP_SCHOOL"
              ],
              "example": "MASTER_ETH"
            }
          },
          {
            "name": "staffPosition",
            "in": "query",
            "description": "Staff position filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff position filter. `Applicable only when contactType = PERSON`",
              "enum": [
                "SENIOR",
                "MIDDLE",
                "LOWER",
                "RESP"
              ],
              "example": "SENIOR"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Contact status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact status filter",
              "enum": [
                "ACTIVE",
                "ARCHIVED"
              ],
              "example": "ACTIVE"
            }
          },
          {
            "name": "filterStaffContacts",
            "in": "query",
            "description": "Whether to filter for staff contacts only",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to filter for staff contacts only",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/main-user-default": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get default main user value",
        "description": "Returns the default value indicating whether a newly created contact should be marked as the main user for the current organization.",
        "operationId": "getMainUserDefault",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/filter": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Filter contacts",
        "description": "Returns contacts filtered by the presence of a phone number.",
        "operationId": "filterContacts_1",
        "parameters": [
          {
            "name": "phoneExists",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactBrief"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/export-as-vCard": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Export contacts as vCards",
        "description": "Generates vCard (.vcf) files for contacts matching the specified filters and returns them as a ZIP archive.",
        "operationId": "exportAsVCard",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/bank-info": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get bank information by IBAN",
        "description": "Returns the bank name and BIC associated with the specified IBAN.",
        "operationId": "getClientBankInfo",
        "parameters": [
          {
            "name": "iban",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BankMasterInfo"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/advanced": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get contacts with advanced filters",
        "description": "Returns a list of contacts based on advanced filters.",
        "operationId": "getAdvancedFilters_2",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactType",
            "in": "query",
            "description": "Contact type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact type filter",
              "enum": [
                "ORGANIZATION",
                "PERSON"
              ],
              "example": "PERSON"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Contact name filter. `Applicable only when contactType = ORGANIZATION`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter. `Applicable only when contactType = ORGANIZATION`",
              "example": "Acme Corp"
            }
          },
          {
            "name": "isCustomer",
            "in": "query",
            "description": "Whether the contact is a customer",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a customer",
              "example": true
            }
          },
          {
            "name": "isVendor",
            "in": "query",
            "description": "Whether the contact is a vendor/supplier",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a vendor/supplier",
              "example": false
            }
          },
          {
            "name": "isStaff",
            "in": "query",
            "description": "Whether the contact is a staff member. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a staff member. `Applicable only when contactType = PERSON`",
              "example": false
            }
          },
          {
            "name": "isUser",
            "in": "query",
            "description": "Whether the contact has a user account. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has a user account. `Applicable only when contactType = PERSON`",
              "example": false
            }
          },
          {
            "name": "email",
            "in": "query",
            "description": "Email address filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Email address filter",
              "example": "contact@example.com"
            }
          },
          {
            "name": "externalId",
            "in": "query",
            "description": "External identifier filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "External identifier filter",
              "example": "EXT-001"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Whether the contact is archived",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is archived",
              "example": false
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the contact has warnings",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has warnings",
              "example": false
            }
          },
          {
            "name": "lastName",
            "in": "query",
            "description": "Last name filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Last name filter. `Applicable only when contactType = PERSON`",
              "example": "Doe"
            }
          },
          {
            "name": "firstName",
            "in": "query",
            "description": "First name filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "First name filter. `Applicable only when contactType = PERSON`",
              "example": "John"
            }
          },
          {
            "name": "middleName",
            "in": "query",
            "description": "Middle name filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Middle name filter. `Applicable only when contactType = PERSON`",
              "example": "Paul"
            }
          },
          {
            "name": "nationality",
            "in": "query",
            "description": "Nationality filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Nationality filter. `Applicable only when contactType = PERSON`",
              "example": "Swiss"
            }
          },
          {
            "name": "gender",
            "in": "query",
            "description": "Gender filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gender filter. `Applicable only when contactType = PERSON`",
              "enum": [
                "MALE",
                "FEMALE",
                "OTHER"
              ],
              "example": "MALE"
            }
          },
          {
            "name": "birthDate",
            "in": "query",
            "description": "Birth date filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Birth date filter. `Applicable only when contactType = PERSON`"
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "Default language filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Default language filter",
              "enum": [
                "EN",
                "FR",
                "DE",
                "IT",
                "UNDEFINED"
              ],
              "example": "EN"
            }
          },
          {
            "name": "nogaCode",
            "in": "query",
            "description": "NOGA economic activity code filter. `Applicable only when contactType = ORGANIZATION`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "NOGA economic activity code filter. `Applicable only when contactType = ORGANIZATION`",
              "example": "62.01"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "description": "Phone number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Phone number filter",
              "example": "+41 22 000 00 00"
            }
          },
          {
            "name": "fax",
            "in": "query",
            "description": "Fax number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fax number filter",
              "example": "+41 22 000 00 01"
            }
          },
          {
            "name": "mobile",
            "in": "query",
            "description": "Mobile number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Mobile number filter",
              "example": "+41 79 000 00 00"
            }
          },
          {
            "name": "webSite",
            "in": "query",
            "description": "Website URL filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Website URL filter",
              "example": "https://example.com"
            }
          },
          {
            "name": "addressId",
            "in": "query",
            "description": "Address ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "addressName",
            "in": "query",
            "description": "Address label / name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address label / name filter",
              "example": "Main Office"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Address street filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address street filter",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressHouseNumber",
            "in": "query",
            "description": "Address house number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address house number filter",
              "example": "42"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Address P.O. box / street line 2 filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address P.O. box / street line 2 filter",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Address city filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address city filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressPostCode",
            "in": "query",
            "description": "Address postal code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address postal code filter",
              "example": "1200"
            }
          },
          {
            "name": "addressCountry",
            "in": "query",
            "description": "Address country filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address country filter",
              "example": "Switzerland"
            }
          },
          {
            "name": "addressRegion",
            "in": "query",
            "description": "Address region filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address region filter",
              "example": "Geneva"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Address 'to the attention of' filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address 'to the attention of' filter",
              "example": "John Doe"
            }
          },
          {
            "name": "bankId",
            "in": "query",
            "description": "Bank ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "bankName",
            "in": "query",
            "description": "Bank account label / name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account label / name filter",
              "example": "Main Account"
            }
          },
          {
            "name": "bankAccountNumber",
            "in": "query",
            "description": "Bank account number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account number filter",
              "example": "CH56 0483 5012 3456 7800 9"
            }
          },
          {
            "name": "bankSwiftBic",
            "in": "query",
            "description": "Bank SWIFT/BIC code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank SWIFT/BIC code filter",
              "example": "UBSWCHZH80A"
            }
          },
          {
            "name": "bankRemark",
            "in": "query",
            "description": "Bank account remark filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account remark filter",
              "example": "Primary account"
            }
          },
          {
            "name": "clientDefaultDepartmentId",
            "in": "query",
            "description": "Client default department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client default department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "clientDefaultAccountForPaymentsNumber",
            "in": "query",
            "description": "Client default payment chart of accounts number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default payment chart of accounts number filter",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultPlAccountNumber",
            "in": "query",
            "description": "Client default P&L chart of accounts number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default P&L chart of accounts number filter",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultBalanceSheetAccountNumber",
            "in": "query",
            "description": "Client default balance sheet chart of accounts number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default balance sheet chart of accounts number filter",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultPaymentCurrencyCode",
            "in": "query",
            "description": "Client default payment currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client default payment currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "clientVatNumber",
            "in": "query",
            "description": "Client VAT number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client VAT number filter",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "clientVatType",
            "in": "query",
            "description": "Client VAT type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client VAT type filter",
              "example": "NATIVE"
            }
          },
          {
            "name": "clientRequestedPaymentTerms",
            "in": "query",
            "description": "Client requested payment terms in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client requested payment terms in days filter",
              "example": 30
            }
          },
          {
            "name": "clientLateNoticeMargin",
            "in": "query",
            "description": "Client late notice margin in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client late notice margin in days filter",
              "example": 10
            }
          },
          {
            "name": "clientDiscountRate",
            "in": "query",
            "description": "Client discount rate filter",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Client discount rate filter",
              "example": 5
            }
          },
          {
            "name": "clientCreditLimit",
            "in": "query",
            "description": "Client credit limit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client credit limit filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "supplierDefaultDepartmentId",
            "in": "query",
            "description": "Supplier default department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier default department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "supplierDefaultAccountForPaymentsNumber",
            "in": "query",
            "description": "Supplier default payment chart of accounts number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default payment chart of accounts number filter",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultPlAccountNumber",
            "in": "query",
            "description": "Supplier default P&L chart of accounts number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default P&L chart of accounts number filter",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultBalanceSheetAccountNumber",
            "in": "query",
            "description": "Supplier default balance sheet chart of accounts number filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default balance sheet chart of accounts number filter",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultPaymentCurrencyCode",
            "in": "query",
            "description": "Supplier default payment currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier default payment currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "supplierVatNumber",
            "in": "query",
            "description": "Supplier VAT number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT number filter",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "supplierVatTypeEnum",
            "in": "query",
            "description": "Supplier VAT type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT type filter",
              "enum": [
                "NO_VAT",
                "NATIVE",
                "IMPORT_OF_SERVICE"
              ],
              "example": "NATIVE"
            }
          },
          {
            "name": "supplierVatTypeCode",
            "in": "query",
            "description": "Supplier VAT type code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT type code filter",
              "example": "VAT-STD"
            }
          },
          {
            "name": "supplierRequestedPaymentTerms",
            "in": "query",
            "description": "Supplier requested payment terms in days filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier requested payment terms in days filter",
              "example": 30
            }
          },
          {
            "name": "supplierPaymentFeesSplit",
            "in": "query",
            "description": "Supplier payment fees split filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier payment fees split filter",
              "enum": [
                "CHARGED_TO_THE_BENEFICIARY",
                "FIFTY_FIFTY_SPLIT",
                "CHARGED_TO_THE_ORDERER"
              ],
              "example": "FIFTY_FIFTY_SPLIT"
            }
          },
          {
            "name": "staffAvsNumber",
            "in": "query",
            "description": "Staff AVS/social security number filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff AVS/social security number filter. `Applicable only when contactType = PERSON`",
              "example": "756.1234.5678.90"
            }
          },
          {
            "name": "staffPermitExpiryDate",
            "in": "query",
            "description": "Staff work permit expiry date filter. `Applicable only when contactType = PERSON`Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff work permit expiry date filter. `Applicable only when contactType = PERSON`Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "staffContractType",
            "in": "query",
            "description": "Staff contract type filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff contract type filter. `Applicable only when contactType = PERSON`",
              "enum": [
                "OPEN_ENDED",
                "OPEN_ENDED_YEAR",
                "FIXED",
                "APPRENTICESHIP",
                "INTERN",
                "INDEFINITE_SALARY_NO_TIME_CONSTRAINT",
                "FIXED_SALARY_NO_TIME_CONSTRAINT",
                "ADMINISTRATIVE_BOARD"
              ],
              "example": "OPEN_ENDED"
            }
          },
          {
            "name": "staffMaritalType",
            "in": "query",
            "description": "Staff marital status filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff marital status filter. `Applicable only when contactType = PERSON`",
              "enum": [
                "SINGLE",
                "MARRIED",
                "DIVORCED",
                "SEPARATED",
                "WIDOWED",
                "PARTNERED",
                "DISSOLVED_LAW",
                "DISSOLVED_LOST",
                "DISSOLVED_DEATH"
              ],
              "example": "MISS"
            }
          },
          {
            "name": "staffTrainingLevel",
            "in": "query",
            "description": "Staff training level filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff training level filter. `Applicable only when contactType = PERSON`",
              "enum": [
                "PHD",
                "MASTER_ETH",
                "BACHELOR_ETH",
                "MASTER_UAS",
                "BACHELOR_UAS",
                "HES",
                "MASTER",
                "BACHELOR",
                "TC",
                "MATU",
                "CVT",
                "IN_HOUSE",
                "COMP_SCHOOL"
              ],
              "example": "MASTER_ETH"
            }
          },
          {
            "name": "staffPosition",
            "in": "query",
            "description": "Staff position filter. `Applicable only when contactType = PERSON`",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff position filter. `Applicable only when contactType = PERSON`",
              "enum": [
                "SENIOR",
                "MIDDLE",
                "LOWER",
                "RESP"
              ],
              "example": "SENIOR"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Contact status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact status filter",
              "enum": [
                "ACTIVE",
                "ARCHIVED"
              ],
              "example": "ACTIVE"
            }
          },
          {
            "name": "filterStaffContacts",
            "in": "query",
            "description": "Whether to filter for staff contacts only",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to filter for staff contacts only",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactListView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/address": {
      "get": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Get address by contact name",
        "description": "Returns the address and UID information for the specified contact name.",
        "operationId": "getAddressByContactName",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact-balance/report/total": {
      "get": {
        "tags": [
          "contact-balance-report-controller"
        ],
        "summary": "Get total values for contacts balance",
        "description": "Returns aggregated contacts balance totals based on the specified filters.",
        "operationId": "calculateResultCount_36",
        "parameters": [
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactRoleType",
            "in": "query",
            "description": "Contact role type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact role type filter",
              "enum": [
                "BOTH",
                "SUPPLIER",
                "CLIENT"
              ],
              "example": "CLIENT"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "balance",
            "in": "query",
            "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report generation date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Report generation date."
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact-balance/report/summary": {
      "get": {
        "tags": [
          "contact-balance-report-controller"
        ],
        "summary": "Get contacts balance report with count and total balance in one call",
        "description": "Returns a contacts balance report based on the specified filters.",
        "operationId": "getSummary",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactRoleType",
            "in": "query",
            "description": "Contact role type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact role type filter",
              "enum": [
                "BOTH",
                "SUPPLIER",
                "CLIENT"
              ],
              "example": "CLIENT"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "balance",
            "in": "query",
            "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report generation date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Report generation date."
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactBalanceReportSummary"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact-balance/report/overall": {
      "get": {
        "tags": [
          "contact-balance-report-controller"
        ],
        "summary": "Get total results count for contacts balance",
        "description": "Returns the total number of contacts balance records based on the specified filters.",
        "operationId": "getTotal_8",
        "parameters": [
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactRoleType",
            "in": "query",
            "description": "Contact role type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact role type filter",
              "enum": [
                "BOTH",
                "SUPPLIER",
                "CLIENT"
              ],
              "example": "CLIENT"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "balance",
            "in": "query",
            "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report generation date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Report generation date."
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactBalanceReportView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact-balance/report/advanced": {
      "get": {
        "tags": [
          "contact-balance-report-controller"
        ],
        "summary": "Get contacts balance with advanced filters",
        "description": "Returns a contacts balance report based on advanced filters.",
        "operationId": "getAdvancedReport",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report generation date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Report generation date."
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactRoleType",
            "in": "query",
            "description": "Contact role type filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact role type filter.",
              "enum": [
                "BOTH",
                "SUPPLIER",
                "CLIENT"
              ],
              "example": "CLIENT"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "balance",
            "in": "query",
            "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactType",
            "in": "query",
            "description": "Contact type filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact type filter. Used to select contacts",
              "enum": [
                "ORGANIZATION",
                "PERSON"
              ],
              "example": "PERSON"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Contact name filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
              "example": "Acme Corp"
            }
          },
          {
            "name": "isCustomer",
            "in": "query",
            "description": "Whether the contact is a customer. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a customer. Used to select contacts",
              "example": true
            }
          },
          {
            "name": "isVendor",
            "in": "query",
            "description": "Whether the contact is a vendor/supplier. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a vendor/supplier. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "isStaff",
            "in": "query",
            "description": "Whether the contact is a staff member. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a staff member. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "isUser",
            "in": "query",
            "description": "Whether the contact has a user account. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has a user account. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "email",
            "in": "query",
            "description": "Email address filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Email address filter. Used to select contacts",
              "example": "contact@example.com"
            }
          },
          {
            "name": "externalId",
            "in": "query",
            "description": "External identifier filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "External identifier filter. Used to select contacts",
              "example": "EXT-001"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the contact has warnings. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has warnings. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "lastName",
            "in": "query",
            "description": "Last name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Last name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "Doe"
            }
          },
          {
            "name": "firstName",
            "in": "query",
            "description": "First name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "First name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "John"
            }
          },
          {
            "name": "middleName",
            "in": "query",
            "description": "Middle name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Middle name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "Paul"
            }
          },
          {
            "name": "nationality",
            "in": "query",
            "description": "Nationality filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Nationality filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "Swiss"
            }
          },
          {
            "name": "gender",
            "in": "query",
            "description": "Gender filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gender filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "MALE",
                "FEMALE",
                "OTHER"
              ],
              "example": "MALE"
            }
          },
          {
            "name": "birthDate",
            "in": "query",
            "description": "Birth date filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Birth date filter. `Applicable only when contactType = PERSON`. Used to select contacts"
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "Default language filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Default language filter. Used to select contacts",
              "enum": [
                "EN",
                "FR",
                "DE",
                "IT",
                "UNDEFINED"
              ],
              "example": "EN"
            }
          },
          {
            "name": "nogaCode",
            "in": "query",
            "description": "NOGA economic activity code filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "NOGA economic activity code filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
              "example": "62.01"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "description": "Phone number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Phone number filter. Used to select contacts",
              "example": "+41 22 000 00 00"
            }
          },
          {
            "name": "fax",
            "in": "query",
            "description": "Fax number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fax number filter. Used to select contacts",
              "example": "+41 22 000 00 01"
            }
          },
          {
            "name": "mobile",
            "in": "query",
            "description": "Mobile number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Mobile number filter. Used to select contacts",
              "example": "+41 79 000 00 00"
            }
          },
          {
            "name": "webSite",
            "in": "query",
            "description": "Website URL filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Website URL filter. Used to select contacts",
              "example": "https://example.com"
            }
          },
          {
            "name": "addressId",
            "in": "query",
            "description": "Address ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "addressName",
            "in": "query",
            "description": "Address label / name filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address label / name filter. Used to select contacts",
              "example": "Main Office"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Address street filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address street filter. Used to select contacts",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressHouseNumber",
            "in": "query",
            "description": "Address house number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address house number filter. Used to select contacts",
              "example": "42"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Address P.O. box / street line 2 filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address P.O. box / street line 2 filter. Used to select contacts",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Address city filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address city filter. Used to select contacts",
              "example": "Geneva"
            }
          },
          {
            "name": "addressPostCode",
            "in": "query",
            "description": "Address postal code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address postal code filter. Used to select contacts",
              "example": "1200"
            }
          },
          {
            "name": "addressCountry",
            "in": "query",
            "description": "Address country filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address country filter. Used to select contacts",
              "example": "Switzerland"
            }
          },
          {
            "name": "addressRegion",
            "in": "query",
            "description": "Address region filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address region filter. Used to select contacts",
              "example": "Geneva"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Address 'to the attention of' filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address 'to the attention of' filter. Used to select contacts",
              "example": "John Doe"
            }
          },
          {
            "name": "bankId",
            "in": "query",
            "description": "Bank ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "bankName",
            "in": "query",
            "description": "Bank account label / name filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account label / name filter. Used to select contacts",
              "example": "Main Account"
            }
          },
          {
            "name": "bankAccountNumber",
            "in": "query",
            "description": "Bank account number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account number filter. Used to select contacts",
              "example": "CH56 0483 5012 3456 7800 9"
            }
          },
          {
            "name": "bankSwiftBic",
            "in": "query",
            "description": "Bank SWIFT/BIC code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank SWIFT/BIC code filter. Used to select contacts",
              "example": "UBSWCHZH80A"
            }
          },
          {
            "name": "bankRemark",
            "in": "query",
            "description": "Bank account remark filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account remark filter. Used to select contacts",
              "example": "Primary account"
            }
          },
          {
            "name": "clientDefaultDepartmentId",
            "in": "query",
            "description": "Client default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "clientDefaultAccountForPaymentsNumber",
            "in": "query",
            "description": "Client default payment chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default payment chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultPlAccountNumber",
            "in": "query",
            "description": "Client default P&L chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default P&L chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultBalanceSheetAccountNumber",
            "in": "query",
            "description": "Client default balance sheet chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default balance sheet chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultPaymentCurrencyCode",
            "in": "query",
            "description": "Client default payment currency code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client default payment currency code filter. Used to select contacts",
              "example": "CHF"
            }
          },
          {
            "name": "clientVatNumber",
            "in": "query",
            "description": "Client VAT number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client VAT number filter. Used to select contacts",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "clientVatType",
            "in": "query",
            "description": "Client VAT type filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client VAT type filter. Used to select contacts",
              "example": "NATIVE"
            }
          },
          {
            "name": "clientRequestedPaymentTerms",
            "in": "query",
            "description": "Client requested payment terms in days filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client requested payment terms in days filter. Used to select contacts",
              "example": 30
            }
          },
          {
            "name": "clientLateNoticeMargin",
            "in": "query",
            "description": "Client late notice margin in days filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client late notice margin in days filter. Used to select contacts",
              "example": 10
            }
          },
          {
            "name": "clientDiscountRate",
            "in": "query",
            "description": "Client discount rate filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Client discount rate filter. Used to select contacts",
              "example": 5
            }
          },
          {
            "name": "clientCreditLimit",
            "in": "query",
            "description": "Client credit limit filter. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client credit limit filter. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "supplierDefaultDepartmentId",
            "in": "query",
            "description": "Supplier default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "supplierDefaultAccountForPaymentsNumber",
            "in": "query",
            "description": "Supplier default payment chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default payment chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultPlAccountNumber",
            "in": "query",
            "description": "Supplier default P&L chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default P&L chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultBalanceSheetAccountNumber",
            "in": "query",
            "description": "Supplier default balance sheet chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default balance sheet chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultPaymentCurrencyCode",
            "in": "query",
            "description": "Supplier default payment currency code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier default payment currency code filter. Used to select contacts",
              "example": "CHF"
            }
          },
          {
            "name": "supplierVatNumber",
            "in": "query",
            "description": "Supplier VAT number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT number filter. Used to select contacts",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "supplierVatTypeEnum",
            "in": "query",
            "description": "Supplier VAT type filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT type filter. Used to select contacts",
              "enum": [
                "NO_VAT",
                "NATIVE",
                "IMPORT_OF_SERVICE"
              ],
              "example": "NATIVE"
            }
          },
          {
            "name": "supplierVatTypeCode",
            "in": "query",
            "description": "Supplier VAT type code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT type code filter. Used to select contacts",
              "example": "VAT-STD"
            }
          },
          {
            "name": "supplierRequestedPaymentTerms",
            "in": "query",
            "description": "Supplier requested payment terms in days filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier requested payment terms in days filter. Used to select contacts",
              "example": 30
            }
          },
          {
            "name": "supplierPaymentFeesSplit",
            "in": "query",
            "description": "Supplier payment fees split filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier payment fees split filter. Used to select contacts",
              "enum": [
                "CHARGED_TO_THE_BENEFICIARY",
                "FIFTY_FIFTY_SPLIT",
                "CHARGED_TO_THE_ORDERER"
              ],
              "example": "FIFTY_FIFTY_SPLIT"
            }
          },
          {
            "name": "staffAvsNumber",
            "in": "query",
            "description": "Staff AVS/social security number filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff AVS/social security number filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "756.1234.5678.90"
            }
          },
          {
            "name": "staffPermitExpiryDate",
            "in": "query",
            "description": "Staff work permit expiry date filter. `Applicable only when contactType = PERSON`. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff work permit expiry date filter. `Applicable only when contactType = PERSON`. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "staffContractType",
            "in": "query",
            "description": "Staff contract type filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff contract type filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "OPEN_ENDED",
                "OPEN_ENDED_YEAR",
                "FIXED",
                "APPRENTICESHIP",
                "INTERN",
                "INDEFINITE_SALARY_NO_TIME_CONSTRAINT",
                "FIXED_SALARY_NO_TIME_CONSTRAINT",
                "ADMINISTRATIVE_BOARD"
              ],
              "example": "OPEN_ENDED"
            }
          },
          {
            "name": "staffMaritalType",
            "in": "query",
            "description": "Staff marital status filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff marital status filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "SINGLE",
                "MARRIED",
                "DIVORCED",
                "SEPARATED",
                "WIDOWED",
                "PARTNERED",
                "DISSOLVED_LAW",
                "DISSOLVED_LOST",
                "DISSOLVED_DEATH"
              ],
              "example": "MISS"
            }
          },
          {
            "name": "staffTrainingLevel",
            "in": "query",
            "description": "Staff training level filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff training level filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "PHD",
                "MASTER_ETH",
                "BACHELOR_ETH",
                "MASTER_UAS",
                "BACHELOR_UAS",
                "HES",
                "MASTER",
                "BACHELOR",
                "TC",
                "MATU",
                "CVT",
                "IN_HOUSE",
                "COMP_SCHOOL"
              ],
              "example": "MASTER_ETH"
            }
          },
          {
            "name": "staffPosition",
            "in": "query",
            "description": "Staff position filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff position filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "SENIOR",
                "MIDDLE",
                "LOWER",
                "RESP"
              ],
              "example": "SENIOR"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Contact status filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact status filter. Used to select contacts",
              "enum": [
                "ACTIVE",
                "ARCHIVED"
              ],
              "example": "ACTIVE"
            }
          },
          {
            "name": "filterStaffContacts",
            "in": "query",
            "description": "Whether to filter for staff contacts only. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to filter for staff contacts only. Used to select contacts",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactBalanceReportView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact-balance/report/advanced/total": {
      "get": {
        "tags": [
          "contact-balance-report-controller"
        ],
        "summary": "Get total values for contacts balance using advanced filters",
        "description": "Returns aggregated totals calculated from contacts balance matching the specified filters.",
        "operationId": "calculateAdvancedResultCount_1",
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "description": "Report generation date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Report generation date."
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactRoleType",
            "in": "query",
            "description": "Contact role type filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact role type filter.",
              "enum": [
                "BOTH",
                "SUPPLIER",
                "CLIENT"
              ],
              "example": "CLIENT"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "balance",
            "in": "query",
            "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactType",
            "in": "query",
            "description": "Contact type filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact type filter. Used to select contacts",
              "enum": [
                "ORGANIZATION",
                "PERSON"
              ],
              "example": "PERSON"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Contact name filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
              "example": "Acme Corp"
            }
          },
          {
            "name": "isCustomer",
            "in": "query",
            "description": "Whether the contact is a customer. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a customer. Used to select contacts",
              "example": true
            }
          },
          {
            "name": "isVendor",
            "in": "query",
            "description": "Whether the contact is a vendor/supplier. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a vendor/supplier. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "isStaff",
            "in": "query",
            "description": "Whether the contact is a staff member. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a staff member. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "isUser",
            "in": "query",
            "description": "Whether the contact has a user account. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has a user account. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "email",
            "in": "query",
            "description": "Email address filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Email address filter. Used to select contacts",
              "example": "contact@example.com"
            }
          },
          {
            "name": "externalId",
            "in": "query",
            "description": "External identifier filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "External identifier filter. Used to select contacts",
              "example": "EXT-001"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the contact has warnings. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has warnings. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "lastName",
            "in": "query",
            "description": "Last name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Last name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "Doe"
            }
          },
          {
            "name": "firstName",
            "in": "query",
            "description": "First name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "First name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "John"
            }
          },
          {
            "name": "middleName",
            "in": "query",
            "description": "Middle name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Middle name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "Paul"
            }
          },
          {
            "name": "nationality",
            "in": "query",
            "description": "Nationality filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Nationality filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "Swiss"
            }
          },
          {
            "name": "gender",
            "in": "query",
            "description": "Gender filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gender filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "MALE",
                "FEMALE",
                "OTHER"
              ],
              "example": "MALE"
            }
          },
          {
            "name": "birthDate",
            "in": "query",
            "description": "Birth date filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Birth date filter. `Applicable only when contactType = PERSON`. Used to select contacts"
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "Default language filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Default language filter. Used to select contacts",
              "enum": [
                "EN",
                "FR",
                "DE",
                "IT",
                "UNDEFINED"
              ],
              "example": "EN"
            }
          },
          {
            "name": "nogaCode",
            "in": "query",
            "description": "NOGA economic activity code filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "NOGA economic activity code filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
              "example": "62.01"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "description": "Phone number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Phone number filter. Used to select contacts",
              "example": "+41 22 000 00 00"
            }
          },
          {
            "name": "fax",
            "in": "query",
            "description": "Fax number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fax number filter. Used to select contacts",
              "example": "+41 22 000 00 01"
            }
          },
          {
            "name": "mobile",
            "in": "query",
            "description": "Mobile number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Mobile number filter. Used to select contacts",
              "example": "+41 79 000 00 00"
            }
          },
          {
            "name": "webSite",
            "in": "query",
            "description": "Website URL filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Website URL filter. Used to select contacts",
              "example": "https://example.com"
            }
          },
          {
            "name": "addressId",
            "in": "query",
            "description": "Address ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "addressName",
            "in": "query",
            "description": "Address label / name filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address label / name filter. Used to select contacts",
              "example": "Main Office"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Address street filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address street filter. Used to select contacts",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressHouseNumber",
            "in": "query",
            "description": "Address house number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address house number filter. Used to select contacts",
              "example": "42"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Address P.O. box / street line 2 filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address P.O. box / street line 2 filter. Used to select contacts",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Address city filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address city filter. Used to select contacts",
              "example": "Geneva"
            }
          },
          {
            "name": "addressPostCode",
            "in": "query",
            "description": "Address postal code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address postal code filter. Used to select contacts",
              "example": "1200"
            }
          },
          {
            "name": "addressCountry",
            "in": "query",
            "description": "Address country filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address country filter. Used to select contacts",
              "example": "Switzerland"
            }
          },
          {
            "name": "addressRegion",
            "in": "query",
            "description": "Address region filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address region filter. Used to select contacts",
              "example": "Geneva"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Address 'to the attention of' filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address 'to the attention of' filter. Used to select contacts",
              "example": "John Doe"
            }
          },
          {
            "name": "bankId",
            "in": "query",
            "description": "Bank ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "bankName",
            "in": "query",
            "description": "Bank account label / name filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account label / name filter. Used to select contacts",
              "example": "Main Account"
            }
          },
          {
            "name": "bankAccountNumber",
            "in": "query",
            "description": "Bank account number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account number filter. Used to select contacts",
              "example": "CH56 0483 5012 3456 7800 9"
            }
          },
          {
            "name": "bankSwiftBic",
            "in": "query",
            "description": "Bank SWIFT/BIC code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank SWIFT/BIC code filter. Used to select contacts",
              "example": "UBSWCHZH80A"
            }
          },
          {
            "name": "bankRemark",
            "in": "query",
            "description": "Bank account remark filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account remark filter. Used to select contacts",
              "example": "Primary account"
            }
          },
          {
            "name": "clientDefaultDepartmentId",
            "in": "query",
            "description": "Client default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "clientDefaultAccountForPaymentsNumber",
            "in": "query",
            "description": "Client default payment chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default payment chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultPlAccountNumber",
            "in": "query",
            "description": "Client default P&L chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default P&L chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultBalanceSheetAccountNumber",
            "in": "query",
            "description": "Client default balance sheet chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default balance sheet chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultPaymentCurrencyCode",
            "in": "query",
            "description": "Client default payment currency code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client default payment currency code filter. Used to select contacts",
              "example": "CHF"
            }
          },
          {
            "name": "clientVatNumber",
            "in": "query",
            "description": "Client VAT number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client VAT number filter. Used to select contacts",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "clientVatType",
            "in": "query",
            "description": "Client VAT type filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client VAT type filter. Used to select contacts",
              "example": "NATIVE"
            }
          },
          {
            "name": "clientRequestedPaymentTerms",
            "in": "query",
            "description": "Client requested payment terms in days filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client requested payment terms in days filter. Used to select contacts",
              "example": 30
            }
          },
          {
            "name": "clientLateNoticeMargin",
            "in": "query",
            "description": "Client late notice margin in days filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client late notice margin in days filter. Used to select contacts",
              "example": 10
            }
          },
          {
            "name": "clientDiscountRate",
            "in": "query",
            "description": "Client discount rate filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Client discount rate filter. Used to select contacts",
              "example": 5
            }
          },
          {
            "name": "clientCreditLimit",
            "in": "query",
            "description": "Client credit limit filter. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client credit limit filter. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "supplierDefaultDepartmentId",
            "in": "query",
            "description": "Supplier default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "supplierDefaultAccountForPaymentsNumber",
            "in": "query",
            "description": "Supplier default payment chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default payment chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultPlAccountNumber",
            "in": "query",
            "description": "Supplier default P&L chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default P&L chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultBalanceSheetAccountNumber",
            "in": "query",
            "description": "Supplier default balance sheet chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default balance sheet chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultPaymentCurrencyCode",
            "in": "query",
            "description": "Supplier default payment currency code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier default payment currency code filter. Used to select contacts",
              "example": "CHF"
            }
          },
          {
            "name": "supplierVatNumber",
            "in": "query",
            "description": "Supplier VAT number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT number filter. Used to select contacts",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "supplierVatTypeEnum",
            "in": "query",
            "description": "Supplier VAT type filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT type filter. Used to select contacts",
              "enum": [
                "NO_VAT",
                "NATIVE",
                "IMPORT_OF_SERVICE"
              ],
              "example": "NATIVE"
            }
          },
          {
            "name": "supplierVatTypeCode",
            "in": "query",
            "description": "Supplier VAT type code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT type code filter. Used to select contacts",
              "example": "VAT-STD"
            }
          },
          {
            "name": "supplierRequestedPaymentTerms",
            "in": "query",
            "description": "Supplier requested payment terms in days filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier requested payment terms in days filter. Used to select contacts",
              "example": 30
            }
          },
          {
            "name": "supplierPaymentFeesSplit",
            "in": "query",
            "description": "Supplier payment fees split filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier payment fees split filter. Used to select contacts",
              "enum": [
                "CHARGED_TO_THE_BENEFICIARY",
                "FIFTY_FIFTY_SPLIT",
                "CHARGED_TO_THE_ORDERER"
              ],
              "example": "FIFTY_FIFTY_SPLIT"
            }
          },
          {
            "name": "staffAvsNumber",
            "in": "query",
            "description": "Staff AVS/social security number filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff AVS/social security number filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "756.1234.5678.90"
            }
          },
          {
            "name": "staffPermitExpiryDate",
            "in": "query",
            "description": "Staff work permit expiry date filter. `Applicable only when contactType = PERSON`. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff work permit expiry date filter. `Applicable only when contactType = PERSON`. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "staffContractType",
            "in": "query",
            "description": "Staff contract type filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff contract type filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "OPEN_ENDED",
                "OPEN_ENDED_YEAR",
                "FIXED",
                "APPRENTICESHIP",
                "INTERN",
                "INDEFINITE_SALARY_NO_TIME_CONSTRAINT",
                "FIXED_SALARY_NO_TIME_CONSTRAINT",
                "ADMINISTRATIVE_BOARD"
              ],
              "example": "OPEN_ENDED"
            }
          },
          {
            "name": "staffMaritalType",
            "in": "query",
            "description": "Staff marital status filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff marital status filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "SINGLE",
                "MARRIED",
                "DIVORCED",
                "SEPARATED",
                "WIDOWED",
                "PARTNERED",
                "DISSOLVED_LAW",
                "DISSOLVED_LOST",
                "DISSOLVED_DEATH"
              ],
              "example": "MISS"
            }
          },
          {
            "name": "staffTrainingLevel",
            "in": "query",
            "description": "Staff training level filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff training level filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "PHD",
                "MASTER_ETH",
                "BACHELOR_ETH",
                "MASTER_UAS",
                "BACHELOR_UAS",
                "HES",
                "MASTER",
                "BACHELOR",
                "TC",
                "MATU",
                "CVT",
                "IN_HOUSE",
                "COMP_SCHOOL"
              ],
              "example": "MASTER_ETH"
            }
          },
          {
            "name": "staffPosition",
            "in": "query",
            "description": "Staff position filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff position filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "SENIOR",
                "MIDDLE",
                "LOWER",
                "RESP"
              ],
              "example": "SENIOR"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Contact status filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact status filter. Used to select contacts",
              "enum": [
                "ACTIVE",
                "ARCHIVED"
              ],
              "example": "ACTIVE"
            }
          },
          {
            "name": "filterStaffContacts",
            "in": "query",
            "description": "Whether to filter for staff contacts only. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to filter for staff contacts only. Used to select contacts",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact-balance/report/advanced/summary": {
      "get": {
        "tags": [
          "contact-balance-report-controller"
        ],
        "summary": "Get contacts balance report summary with advanced filter",
        "operationId": "getSummaryAdvanced",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report generation date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Report generation date."
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactRoleType",
            "in": "query",
            "description": "Contact role type filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact role type filter.",
              "enum": [
                "BOTH",
                "SUPPLIER",
                "CLIENT"
              ],
              "example": "CLIENT"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "balance",
            "in": "query",
            "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactType",
            "in": "query",
            "description": "Contact type filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact type filter. Used to select contacts",
              "enum": [
                "ORGANIZATION",
                "PERSON"
              ],
              "example": "PERSON"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Contact name filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
              "example": "Acme Corp"
            }
          },
          {
            "name": "isCustomer",
            "in": "query",
            "description": "Whether the contact is a customer. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a customer. Used to select contacts",
              "example": true
            }
          },
          {
            "name": "isVendor",
            "in": "query",
            "description": "Whether the contact is a vendor/supplier. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a vendor/supplier. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "isStaff",
            "in": "query",
            "description": "Whether the contact is a staff member. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a staff member. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "isUser",
            "in": "query",
            "description": "Whether the contact has a user account. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has a user account. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "email",
            "in": "query",
            "description": "Email address filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Email address filter. Used to select contacts",
              "example": "contact@example.com"
            }
          },
          {
            "name": "externalId",
            "in": "query",
            "description": "External identifier filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "External identifier filter. Used to select contacts",
              "example": "EXT-001"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the contact has warnings. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has warnings. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "lastName",
            "in": "query",
            "description": "Last name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Last name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "Doe"
            }
          },
          {
            "name": "firstName",
            "in": "query",
            "description": "First name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "First name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "John"
            }
          },
          {
            "name": "middleName",
            "in": "query",
            "description": "Middle name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Middle name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "Paul"
            }
          },
          {
            "name": "nationality",
            "in": "query",
            "description": "Nationality filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Nationality filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "Swiss"
            }
          },
          {
            "name": "gender",
            "in": "query",
            "description": "Gender filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gender filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "MALE",
                "FEMALE",
                "OTHER"
              ],
              "example": "MALE"
            }
          },
          {
            "name": "birthDate",
            "in": "query",
            "description": "Birth date filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Birth date filter. `Applicable only when contactType = PERSON`. Used to select contacts"
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "Default language filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Default language filter. Used to select contacts",
              "enum": [
                "EN",
                "FR",
                "DE",
                "IT",
                "UNDEFINED"
              ],
              "example": "EN"
            }
          },
          {
            "name": "nogaCode",
            "in": "query",
            "description": "NOGA economic activity code filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "NOGA economic activity code filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
              "example": "62.01"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "description": "Phone number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Phone number filter. Used to select contacts",
              "example": "+41 22 000 00 00"
            }
          },
          {
            "name": "fax",
            "in": "query",
            "description": "Fax number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fax number filter. Used to select contacts",
              "example": "+41 22 000 00 01"
            }
          },
          {
            "name": "mobile",
            "in": "query",
            "description": "Mobile number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Mobile number filter. Used to select contacts",
              "example": "+41 79 000 00 00"
            }
          },
          {
            "name": "webSite",
            "in": "query",
            "description": "Website URL filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Website URL filter. Used to select contacts",
              "example": "https://example.com"
            }
          },
          {
            "name": "addressId",
            "in": "query",
            "description": "Address ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "addressName",
            "in": "query",
            "description": "Address label / name filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address label / name filter. Used to select contacts",
              "example": "Main Office"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Address street filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address street filter. Used to select contacts",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressHouseNumber",
            "in": "query",
            "description": "Address house number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address house number filter. Used to select contacts",
              "example": "42"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Address P.O. box / street line 2 filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address P.O. box / street line 2 filter. Used to select contacts",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Address city filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address city filter. Used to select contacts",
              "example": "Geneva"
            }
          },
          {
            "name": "addressPostCode",
            "in": "query",
            "description": "Address postal code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address postal code filter. Used to select contacts",
              "example": "1200"
            }
          },
          {
            "name": "addressCountry",
            "in": "query",
            "description": "Address country filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address country filter. Used to select contacts",
              "example": "Switzerland"
            }
          },
          {
            "name": "addressRegion",
            "in": "query",
            "description": "Address region filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address region filter. Used to select contacts",
              "example": "Geneva"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Address 'to the attention of' filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address 'to the attention of' filter. Used to select contacts",
              "example": "John Doe"
            }
          },
          {
            "name": "bankId",
            "in": "query",
            "description": "Bank ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "bankName",
            "in": "query",
            "description": "Bank account label / name filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account label / name filter. Used to select contacts",
              "example": "Main Account"
            }
          },
          {
            "name": "bankAccountNumber",
            "in": "query",
            "description": "Bank account number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account number filter. Used to select contacts",
              "example": "CH56 0483 5012 3456 7800 9"
            }
          },
          {
            "name": "bankSwiftBic",
            "in": "query",
            "description": "Bank SWIFT/BIC code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank SWIFT/BIC code filter. Used to select contacts",
              "example": "UBSWCHZH80A"
            }
          },
          {
            "name": "bankRemark",
            "in": "query",
            "description": "Bank account remark filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account remark filter. Used to select contacts",
              "example": "Primary account"
            }
          },
          {
            "name": "clientDefaultDepartmentId",
            "in": "query",
            "description": "Client default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "clientDefaultAccountForPaymentsNumber",
            "in": "query",
            "description": "Client default payment chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default payment chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultPlAccountNumber",
            "in": "query",
            "description": "Client default P&L chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default P&L chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultBalanceSheetAccountNumber",
            "in": "query",
            "description": "Client default balance sheet chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default balance sheet chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultPaymentCurrencyCode",
            "in": "query",
            "description": "Client default payment currency code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client default payment currency code filter. Used to select contacts",
              "example": "CHF"
            }
          },
          {
            "name": "clientVatNumber",
            "in": "query",
            "description": "Client VAT number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client VAT number filter. Used to select contacts",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "clientVatType",
            "in": "query",
            "description": "Client VAT type filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client VAT type filter. Used to select contacts",
              "example": "NATIVE"
            }
          },
          {
            "name": "clientRequestedPaymentTerms",
            "in": "query",
            "description": "Client requested payment terms in days filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client requested payment terms in days filter. Used to select contacts",
              "example": 30
            }
          },
          {
            "name": "clientLateNoticeMargin",
            "in": "query",
            "description": "Client late notice margin in days filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client late notice margin in days filter. Used to select contacts",
              "example": 10
            }
          },
          {
            "name": "clientDiscountRate",
            "in": "query",
            "description": "Client discount rate filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Client discount rate filter. Used to select contacts",
              "example": 5
            }
          },
          {
            "name": "clientCreditLimit",
            "in": "query",
            "description": "Client credit limit filter. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client credit limit filter. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "supplierDefaultDepartmentId",
            "in": "query",
            "description": "Supplier default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "supplierDefaultAccountForPaymentsNumber",
            "in": "query",
            "description": "Supplier default payment chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default payment chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultPlAccountNumber",
            "in": "query",
            "description": "Supplier default P&L chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default P&L chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultBalanceSheetAccountNumber",
            "in": "query",
            "description": "Supplier default balance sheet chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default balance sheet chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultPaymentCurrencyCode",
            "in": "query",
            "description": "Supplier default payment currency code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier default payment currency code filter. Used to select contacts",
              "example": "CHF"
            }
          },
          {
            "name": "supplierVatNumber",
            "in": "query",
            "description": "Supplier VAT number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT number filter. Used to select contacts",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "supplierVatTypeEnum",
            "in": "query",
            "description": "Supplier VAT type filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT type filter. Used to select contacts",
              "enum": [
                "NO_VAT",
                "NATIVE",
                "IMPORT_OF_SERVICE"
              ],
              "example": "NATIVE"
            }
          },
          {
            "name": "supplierVatTypeCode",
            "in": "query",
            "description": "Supplier VAT type code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT type code filter. Used to select contacts",
              "example": "VAT-STD"
            }
          },
          {
            "name": "supplierRequestedPaymentTerms",
            "in": "query",
            "description": "Supplier requested payment terms in days filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier requested payment terms in days filter. Used to select contacts",
              "example": 30
            }
          },
          {
            "name": "supplierPaymentFeesSplit",
            "in": "query",
            "description": "Supplier payment fees split filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier payment fees split filter. Used to select contacts",
              "enum": [
                "CHARGED_TO_THE_BENEFICIARY",
                "FIFTY_FIFTY_SPLIT",
                "CHARGED_TO_THE_ORDERER"
              ],
              "example": "FIFTY_FIFTY_SPLIT"
            }
          },
          {
            "name": "staffAvsNumber",
            "in": "query",
            "description": "Staff AVS/social security number filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff AVS/social security number filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "756.1234.5678.90"
            }
          },
          {
            "name": "staffPermitExpiryDate",
            "in": "query",
            "description": "Staff work permit expiry date filter. `Applicable only when contactType = PERSON`. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff work permit expiry date filter. `Applicable only when contactType = PERSON`. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "staffContractType",
            "in": "query",
            "description": "Staff contract type filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff contract type filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "OPEN_ENDED",
                "OPEN_ENDED_YEAR",
                "FIXED",
                "APPRENTICESHIP",
                "INTERN",
                "INDEFINITE_SALARY_NO_TIME_CONSTRAINT",
                "FIXED_SALARY_NO_TIME_CONSTRAINT",
                "ADMINISTRATIVE_BOARD"
              ],
              "example": "OPEN_ENDED"
            }
          },
          {
            "name": "staffMaritalType",
            "in": "query",
            "description": "Staff marital status filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff marital status filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "SINGLE",
                "MARRIED",
                "DIVORCED",
                "SEPARATED",
                "WIDOWED",
                "PARTNERED",
                "DISSOLVED_LAW",
                "DISSOLVED_LOST",
                "DISSOLVED_DEATH"
              ],
              "example": "MISS"
            }
          },
          {
            "name": "staffTrainingLevel",
            "in": "query",
            "description": "Staff training level filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff training level filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "PHD",
                "MASTER_ETH",
                "BACHELOR_ETH",
                "MASTER_UAS",
                "BACHELOR_UAS",
                "HES",
                "MASTER",
                "BACHELOR",
                "TC",
                "MATU",
                "CVT",
                "IN_HOUSE",
                "COMP_SCHOOL"
              ],
              "example": "MASTER_ETH"
            }
          },
          {
            "name": "staffPosition",
            "in": "query",
            "description": "Staff position filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff position filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "SENIOR",
                "MIDDLE",
                "LOWER",
                "RESP"
              ],
              "example": "SENIOR"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Contact status filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact status filter. Used to select contacts",
              "enum": [
                "ACTIVE",
                "ARCHIVED"
              ],
              "example": "ACTIVE"
            }
          },
          {
            "name": "filterStaffContacts",
            "in": "query",
            "description": "Whether to filter for staff contacts only. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to filter for staff contacts only. Used to select contacts",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactBalanceReportSummary"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact-balance/report/advanced/overall": {
      "get": {
        "tags": [
          "contact-balance-report-controller"
        ],
        "summary": "Get total results count for contacts balance using advanced filters",
        "description": "Returns the total number of contacts balance matching the specified filters.",
        "operationId": "getTotalForAdvanced",
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "description": "Report generation date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Report generation date."
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactRoleType",
            "in": "query",
            "description": "Contact role type filter.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact role type filter.",
              "enum": [
                "BOTH",
                "SUPPLIER",
                "CLIENT"
              ],
              "example": "CLIENT"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "balance",
            "in": "query",
            "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "contactType",
            "in": "query",
            "description": "Contact type filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact type filter. Used to select contacts",
              "enum": [
                "ORGANIZATION",
                "PERSON"
              ],
              "example": "PERSON"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Contact name filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
              "example": "Acme Corp"
            }
          },
          {
            "name": "isCustomer",
            "in": "query",
            "description": "Whether the contact is a customer. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a customer. Used to select contacts",
              "example": true
            }
          },
          {
            "name": "isVendor",
            "in": "query",
            "description": "Whether the contact is a vendor/supplier. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a vendor/supplier. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "isStaff",
            "in": "query",
            "description": "Whether the contact is a staff member. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact is a staff member. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "isUser",
            "in": "query",
            "description": "Whether the contact has a user account. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has a user account. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "email",
            "in": "query",
            "description": "Email address filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Email address filter. Used to select contacts",
              "example": "contact@example.com"
            }
          },
          {
            "name": "externalId",
            "in": "query",
            "description": "External identifier filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "External identifier filter. Used to select contacts",
              "example": "EXT-001"
            }
          },
          {
            "name": "hasWarnings",
            "in": "query",
            "description": "Whether the contact has warnings. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the contact has warnings. Used to select contacts",
              "example": false
            }
          },
          {
            "name": "lastName",
            "in": "query",
            "description": "Last name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Last name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "Doe"
            }
          },
          {
            "name": "firstName",
            "in": "query",
            "description": "First name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "First name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "John"
            }
          },
          {
            "name": "middleName",
            "in": "query",
            "description": "Middle name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Middle name filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "Paul"
            }
          },
          {
            "name": "nationality",
            "in": "query",
            "description": "Nationality filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Nationality filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "Swiss"
            }
          },
          {
            "name": "gender",
            "in": "query",
            "description": "Gender filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Gender filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "MALE",
                "FEMALE",
                "OTHER"
              ],
              "example": "MALE"
            }
          },
          {
            "name": "birthDate",
            "in": "query",
            "description": "Birth date filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Birth date filter. `Applicable only when contactType = PERSON`. Used to select contacts"
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "Default language filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Default language filter. Used to select contacts",
              "enum": [
                "EN",
                "FR",
                "DE",
                "IT",
                "UNDEFINED"
              ],
              "example": "EN"
            }
          },
          {
            "name": "nogaCode",
            "in": "query",
            "description": "NOGA economic activity code filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "NOGA economic activity code filter. Applicable only when contactType = ORGANIZATION. Used to select contacts",
              "example": "62.01"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "description": "Phone number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Phone number filter. Used to select contacts",
              "example": "+41 22 000 00 00"
            }
          },
          {
            "name": "fax",
            "in": "query",
            "description": "Fax number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Fax number filter. Used to select contacts",
              "example": "+41 22 000 00 01"
            }
          },
          {
            "name": "mobile",
            "in": "query",
            "description": "Mobile number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Mobile number filter. Used to select contacts",
              "example": "+41 79 000 00 00"
            }
          },
          {
            "name": "webSite",
            "in": "query",
            "description": "Website URL filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Website URL filter. Used to select contacts",
              "example": "https://example.com"
            }
          },
          {
            "name": "addressId",
            "in": "query",
            "description": "Address ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "addressName",
            "in": "query",
            "description": "Address label / name filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address label / name filter. Used to select contacts",
              "example": "Main Office"
            }
          },
          {
            "name": "addressStreet",
            "in": "query",
            "description": "Address street filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address street filter. Used to select contacts",
              "example": "123 Main Street"
            }
          },
          {
            "name": "addressHouseNumber",
            "in": "query",
            "description": "Address house number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address house number filter. Used to select contacts",
              "example": "42"
            }
          },
          {
            "name": "addressStreetPoBox",
            "in": "query",
            "description": "Address P.O. box / street line 2 filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address P.O. box / street line 2 filter. Used to select contacts",
              "example": "P.O. Box 42"
            }
          },
          {
            "name": "addressCity",
            "in": "query",
            "description": "Address city filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address city filter. Used to select contacts",
              "example": "Geneva"
            }
          },
          {
            "name": "addressPostCode",
            "in": "query",
            "description": "Address postal code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address postal code filter. Used to select contacts",
              "example": "1200"
            }
          },
          {
            "name": "addressCountry",
            "in": "query",
            "description": "Address country filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address country filter. Used to select contacts",
              "example": "Switzerland"
            }
          },
          {
            "name": "addressRegion",
            "in": "query",
            "description": "Address region filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address region filter. Used to select contacts",
              "example": "Geneva"
            }
          },
          {
            "name": "addressToTheAttentionOf",
            "in": "query",
            "description": "Address 'to the attention of' filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Address 'to the attention of' filter. Used to select contacts",
              "example": "John Doe"
            }
          },
          {
            "name": "bankId",
            "in": "query",
            "description": "Bank ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "bankName",
            "in": "query",
            "description": "Bank account label / name filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account label / name filter. Used to select contacts",
              "example": "Main Account"
            }
          },
          {
            "name": "bankAccountNumber",
            "in": "query",
            "description": "Bank account number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account number filter. Used to select contacts",
              "example": "CH56 0483 5012 3456 7800 9"
            }
          },
          {
            "name": "bankSwiftBic",
            "in": "query",
            "description": "Bank SWIFT/BIC code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank SWIFT/BIC code filter. Used to select contacts",
              "example": "UBSWCHZH80A"
            }
          },
          {
            "name": "bankRemark",
            "in": "query",
            "description": "Bank account remark filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bank account remark filter. Used to select contacts",
              "example": "Primary account"
            }
          },
          {
            "name": "clientDefaultDepartmentId",
            "in": "query",
            "description": "Client default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "clientDefaultAccountForPaymentsNumber",
            "in": "query",
            "description": "Client default payment chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default payment chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultPlAccountNumber",
            "in": "query",
            "description": "Client default P&L chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default P&L chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultBalanceSheetAccountNumber",
            "in": "query",
            "description": "Client default balance sheet chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client default balance sheet chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "clientDefaultPaymentCurrencyCode",
            "in": "query",
            "description": "Client default payment currency code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client default payment currency code filter. Used to select contacts",
              "example": "CHF"
            }
          },
          {
            "name": "clientVatNumber",
            "in": "query",
            "description": "Client VAT number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client VAT number filter. Used to select contacts",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "clientVatType",
            "in": "query",
            "description": "Client VAT type filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client VAT type filter. Used to select contacts",
              "example": "NATIVE"
            }
          },
          {
            "name": "clientRequestedPaymentTerms",
            "in": "query",
            "description": "Client requested payment terms in days filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client requested payment terms in days filter. Used to select contacts",
              "example": 30
            }
          },
          {
            "name": "clientLateNoticeMargin",
            "in": "query",
            "description": "Client late notice margin in days filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Client late notice margin in days filter. Used to select contacts",
              "example": 10
            }
          },
          {
            "name": "clientDiscountRate",
            "in": "query",
            "description": "Client discount rate filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Client discount rate filter. Used to select contacts",
              "example": 5
            }
          },
          {
            "name": "clientCreditLimit",
            "in": "query",
            "description": "Client credit limit filter. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Client credit limit filter. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "supplierDefaultDepartmentId",
            "in": "query",
            "description": "Supplier default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier default department ID filter. Used to select contacts.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "supplierDefaultAccountForPaymentsNumber",
            "in": "query",
            "description": "Supplier default payment chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default payment chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultPlAccountNumber",
            "in": "query",
            "description": "Supplier default P&L chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default P&L chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultBalanceSheetAccountNumber",
            "in": "query",
            "description": "Supplier default balance sheet chart of accounts number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier default balance sheet chart of accounts number filter. Used to select contacts",
              "example": 12345678
            }
          },
          {
            "name": "supplierDefaultPaymentCurrencyCode",
            "in": "query",
            "description": "Supplier default payment currency code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier default payment currency code filter. Used to select contacts",
              "example": "CHF"
            }
          },
          {
            "name": "supplierVatNumber",
            "in": "query",
            "description": "Supplier VAT number filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT number filter. Used to select contacts",
              "example": "CHE-123.456.789 MWST"
            }
          },
          {
            "name": "supplierVatTypeEnum",
            "in": "query",
            "description": "Supplier VAT type filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT type filter. Used to select contacts",
              "enum": [
                "NO_VAT",
                "NATIVE",
                "IMPORT_OF_SERVICE"
              ],
              "example": "NATIVE"
            }
          },
          {
            "name": "supplierVatTypeCode",
            "in": "query",
            "description": "Supplier VAT type code filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier VAT type code filter. Used to select contacts",
              "example": "VAT-STD"
            }
          },
          {
            "name": "supplierRequestedPaymentTerms",
            "in": "query",
            "description": "Supplier requested payment terms in days filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Supplier requested payment terms in days filter. Used to select contacts",
              "example": 30
            }
          },
          {
            "name": "supplierPaymentFeesSplit",
            "in": "query",
            "description": "Supplier payment fees split filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supplier payment fees split filter. Used to select contacts",
              "enum": [
                "CHARGED_TO_THE_BENEFICIARY",
                "FIFTY_FIFTY_SPLIT",
                "CHARGED_TO_THE_ORDERER"
              ],
              "example": "FIFTY_FIFTY_SPLIT"
            }
          },
          {
            "name": "staffAvsNumber",
            "in": "query",
            "description": "Staff AVS/social security number filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff AVS/social security number filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "example": "756.1234.5678.90"
            }
          },
          {
            "name": "staffPermitExpiryDate",
            "in": "query",
            "description": "Staff work permit expiry date filter. `Applicable only when contactType = PERSON`. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff work permit expiry date filter. `Applicable only when contactType = PERSON`. Used to select contactsSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "staffContractType",
            "in": "query",
            "description": "Staff contract type filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff contract type filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "OPEN_ENDED",
                "OPEN_ENDED_YEAR",
                "FIXED",
                "APPRENTICESHIP",
                "INTERN",
                "INDEFINITE_SALARY_NO_TIME_CONSTRAINT",
                "FIXED_SALARY_NO_TIME_CONSTRAINT",
                "ADMINISTRATIVE_BOARD"
              ],
              "example": "OPEN_ENDED"
            }
          },
          {
            "name": "staffMaritalType",
            "in": "query",
            "description": "Staff marital status filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff marital status filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "SINGLE",
                "MARRIED",
                "DIVORCED",
                "SEPARATED",
                "WIDOWED",
                "PARTNERED",
                "DISSOLVED_LAW",
                "DISSOLVED_LOST",
                "DISSOLVED_DEATH"
              ],
              "example": "MISS"
            }
          },
          {
            "name": "staffTrainingLevel",
            "in": "query",
            "description": "Staff training level filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff training level filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "PHD",
                "MASTER_ETH",
                "BACHELOR_ETH",
                "MASTER_UAS",
                "BACHELOR_UAS",
                "HES",
                "MASTER",
                "BACHELOR",
                "TC",
                "MATU",
                "CVT",
                "IN_HOUSE",
                "COMP_SCHOOL"
              ],
              "example": "MASTER_ETH"
            }
          },
          {
            "name": "staffPosition",
            "in": "query",
            "description": "Staff position filter. `Applicable only when contactType = PERSON`. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Staff position filter. `Applicable only when contactType = PERSON`. Used to select contacts",
              "enum": [
                "SENIOR",
                "MIDDLE",
                "LOWER",
                "RESP"
              ],
              "example": "SENIOR"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Contact status filter. Used to select contacts",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact status filter. Used to select contacts",
              "enum": [
                "ACTIVE",
                "ARCHIVED"
              ],
              "example": "ACTIVE"
            }
          },
          {
            "name": "filterStaffContacts",
            "in": "query",
            "description": "Whether to filter for staff contacts only. Used to select contacts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to filter for staff contacts only. Used to select contacts",
              "example": true
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactBalanceReportView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/consolidated-organization/available": {
      "get": {
        "tags": [
          "consolidated-organization-controller"
        ],
        "summary": "Get available organizations for consolidation",
        "description": "Returns a list of organizations available for consolidation for the authenticated user.",
        "operationId": "getAvailableOrganizationForConsolidation",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/chart-accounts": {
      "get": {
        "tags": [
          "chart-of-accounts-controller"
        ],
        "summary": "Get chart of accounts",
        "description": "Returns a list of chart of accounts entries based on the specified filters.",
        "operationId": "getChartOfAccounts",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "accountNumber",
            "in": "query",
            "description": "Account number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account number filter",
              "example": "123456"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Account name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "End date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Account type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account type filter",
              "enum": [
                "BALANCE_SHEET",
                "PL",
                "SYSTEM"
              ],
              "example": "BALANCE_SHEET"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Business unit (department) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Business unit (department) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isCashAccountEnabled",
            "in": "query",
            "description": "Whether this account is a cash account",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether this account is a cash account",
              "example": false
            }
          },
          {
            "name": "hasDepreciation",
            "in": "query",
            "description": "Whether the account has depreciation configured",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the account has depreciation configured",
              "example": false
            }
          },
          {
            "name": "isPurchaseInvoicesEnabled",
            "in": "query",
            "description": "Whether purchase invoices are enabled for this account",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether purchase invoices are enabled for this account",
              "example": false
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChartOfAccountsView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/chart-accounts/{id}": {
      "get": {
        "tags": [
          "chart-of-accounts-controller"
        ],
        "summary": "Get chart of accounts by ID",
        "description": "Returns chart of accounts details by ID.",
        "operationId": "getChartOfAccounts_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Chart of accounts ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChartOfAccounts"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "chart-of-accounts-controller"
        ],
        "summary": "Delete chart of accounts by ID",
        "description": "Deletes a chart of accounts entry by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "deleteChart",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Chart of accounts ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/chart-accounts/{id}/account-movement": {
      "get": {
        "tags": [
          "chart-of-accounts-controller"
        ],
        "summary": "Get account movements",
        "description": "Returns a list of all movements for the specified account, contact, and date.",
        "operationId": "accountMovement",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Account ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Movement date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "yyyy-MM-dd"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountMovement"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/chart-accounts/lines": {
      "get": {
        "tags": [
          "chart-of-accounts-controller"
        ],
        "summary": "Get journal lines by chart of accounts",
        "description": "Returns a list of journal lines associated with the chart of accounts.",
        "operationId": "findJournalLines",
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "description": "Organization ID. If not specified, the authenticated user's organization is used.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JournalChartOfAccountLine"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/chart-accounts/coa-param": {
      "get": {
        "tags": [
          "chart-of-accounts-controller"
        ],
        "summary": "Get chart of accounts by parameters",
        "description": "Returns a list of chart of accounts entries based on the specified filters.<br><br><b>Only one filter parameter may be specified. If a filter parameter is provided, its value must be true.",
        "operationId": "findCOAByParam",
        "parameters": [
          {
            "name": "isBalanceSheet",
            "in": "query",
            "description": "Whether to include balance sheet accounts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to include balance sheet accounts"
            }
          },
          {
            "name": "isPL",
            "in": "query",
            "description": "Whether to include P&L accounts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to include P&L accounts"
            }
          },
          {
            "name": "isSystem",
            "in": "query",
            "description": "Whether to include system accounts",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to include system accounts"
            }
          },
          {
            "name": "isPaymentMethod",
            "in": "query",
            "description": "Whether to include accounts usable as a payment method",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to include accounts usable as a payment method"
            }
          },
          {
            "name": "isPurchaseInvoices",
            "in": "query",
            "description": "Whether to include accounts usable for purchase invoices",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to include accounts usable for purchase invoices"
            }
          },
          {
            "name": "isSalesInvoices",
            "in": "query",
            "description": "Whether to include accounts usable for sales invoices",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to include accounts usable for sales invoices"
            }
          },
          {
            "name": "isExpenseReport",
            "in": "query",
            "description": "Whether to include accounts usable for expense reports",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether to include accounts usable for expense reports"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserLanguageChartOfAccountsView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/chart-accounts/advanced": {
      "get": {
        "tags": [
          "chart-of-accounts-advanced-controller"
        ],
        "summary": "Get chart of accounts with advanced filters",
        "description": "Returns a list of chart of accounts entries based on advanced filters.",
        "operationId": "getChartOfAccountsAdvanced",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "accountNumber",
            "in": "query",
            "description": "Account number filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account number filter",
              "example": "123456"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Account name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter",
              "example": "Office supplies"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "End date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency code filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency code filter",
              "example": "CHF"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Account type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account type filter",
              "enum": [
                "BALANCE_SHEET",
                "PL",
                "SYSTEM"
              ],
              "example": "BALANCE_SHEET"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Business unit (department) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Business unit (department) ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "isCashAccountEnabled",
            "in": "query",
            "description": "Whether this account is a cash account",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether this account is a cash account",
              "example": false
            }
          },
          {
            "name": "departmentName",
            "in": "query",
            "description": "Business unit (department) name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Business unit (department) name filter",
              "example": "Sales"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "description": "Whether the account is active",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the account is active",
              "example": true
            }
          },
          {
            "name": "isPurchaseInvoicesEnabled",
            "in": "query",
            "description": "Whether purchase invoices are enabled for this account",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether purchase invoices are enabled for this account",
              "example": false
            }
          },
          {
            "name": "isSalesInvoicesEnabled",
            "in": "query",
            "description": "Whether sales invoices are enabled for this account",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether sales invoices are enabled for this account",
              "example": false
            }
          },
          {
            "name": "isExpenseReportEnabled",
            "in": "query",
            "description": "Whether expense reports are enabled for this account",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether expense reports are enabled for this account",
              "example": false
            }
          },
          {
            "name": "isPaymentMethodEnabled",
            "in": "query",
            "description": "Whether this account is usable as a payment method",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether this account is usable as a payment method",
              "example": false
            }
          },
          {
            "name": "isFXAutoAdjustmentEnabled",
            "in": "query",
            "description": "Whether FX auto-adjustment is enabled for this account",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether FX auto-adjustment is enabled for this account",
              "example": false
            }
          },
          {
            "name": "isBusinessUnitSplitEnabled",
            "in": "query",
            "description": "Whether business unit split is enabled for this account",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether business unit split is enabled for this account",
              "example": false
            }
          },
          {
            "name": "enLangName",
            "in": "query",
            "description": "Account name filter in English",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter in English",
              "example": "Office supplies"
            }
          },
          {
            "name": "frLangName",
            "in": "query",
            "description": "Account name filter in French",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter in French",
              "example": "Fournitures de bureau"
            }
          },
          {
            "name": "deLangName",
            "in": "query",
            "description": "Account name filter in German",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter in German",
              "example": "B\u00fcromaterial"
            }
          },
          {
            "name": "itLangName",
            "in": "query",
            "description": "Account name filter in Italian",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter in Italian",
              "example": "Forniture per ufficio"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChartOfAccountsView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/chart-accounts/accounts-linked-to-banks": {
      "get": {
        "tags": [
          "chart-of-accounts-controller"
        ],
        "summary": "Get chart of accounts linked to banks",
        "description": "Returns a list of chart of accounts entries linked to the organization's banks.",
        "operationId": "findAccountsLinkedToBanks",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserLanguageChartOfAccountsView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/cash-flow/report/export": {
      "get": {
        "tags": [
          "cash-flow-report-controller"
        ],
        "summary": "Export cash flow report",
        "description": "Exports the cash flow report for the specified filters as an Excel file.",
        "operationId": "getCashFlowReportExport",
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "description": "Currency ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lastYear",
            "in": "query",
            "description": "Include information for last year",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/cash-flow/extrapolated": {
      "get": {
        "tags": [
          "cashflow-controller"
        ],
        "summary": "Get extrapolated cash flow",
        "description": "Returns extrapolated cash flow data for the specified number of weeks.",
        "operationId": "getExtrapolatedCashFlow",
        "parameters": [
          {
            "name": "weeks",
            "in": "query",
            "description": "Number of weeks to extrapolate cash flow data for",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrapolatedCashFlow"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/budget": {
      "get": {
        "tags": [
          "budget-controller"
        ],
        "summary": "Get budgets",
        "description": "Returns a list of budgets based on the specified filters.",
        "operationId": "getTableView_34",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Budget ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Budget ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "fiscalYear",
            "in": "query",
            "description": "Fiscal year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Fiscal year filter",
              "example": 2026
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Budget name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Budget name filter",
              "example": "Marketing Budget 2026"
            }
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "Report type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Report type filter",
              "enum": [
                "PL",
                "CASH_FLOW"
              ],
              "example": "PL"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Budget status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Budget status filter",
              "enum": [
                "ACTIVE",
                "INACTIVE"
              ],
              "example": "ACTIVE"
            }
          },
          {
            "name": "parent",
            "in": "query",
            "description": "Parent budget ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Parent budget ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "departmentId",
            "in": "query",
            "description": "Department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/budget/{id}": {
      "get": {
        "tags": [
          "budget-controller"
        ],
        "summary": "Get budget by ID",
        "description": "Returns budget details by ID. Returns 404 if not found.",
        "operationId": "getBudget",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiModelBudget"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "budget-controller"
        ],
        "summary": "Delete budget by ID",
        "description": "Deletes a budget by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "delete_23",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/budget/report/{id}": {
      "get": {
        "tags": [
          "budget-controller"
        ],
        "summary": "Export budget report by ID",
        "description": "Exports the report for the specified budget as an Excel file.",
        "operationId": "getReport",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/budget/active-exists": {
      "get": {
        "tags": [
          "budget-controller"
        ],
        "summary": "Check active budget exists",
        "description": "Returns whether an active budget exists for the specified date range.",
        "operationId": "existsActiveBudget",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/breakdown/income": {
      "get": {
        "tags": [
          "breakdown-controller"
        ],
        "summary": "Get income breakdown diagram data",
        "description": "Returns breakdown data for the income diagram based on the specified filters.",
        "operationId": "getIncomeBreakdownData",
        "parameters": [
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department IDs filter.<br><br> Supported values: <ul> <li>ID</li> <li>Multiple values separated by <code>;</code></li> </ul> Examples: <ul> <li>10</li> <li>10;15;20</li> </ul>",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BreakdownData"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/breakdown/expense": {
      "get": {
        "tags": [
          "breakdown-controller"
        ],
        "summary": "Get expense breakdown diagram data",
        "description": "Returns breakdown data for the expense diagram based on the specified filters.",
        "operationId": "getExpenseBreakdownData",
        "parameters": [
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department IDs filter.<br><br> Supported values: <ul> <li>ID</li> <li>Multiple values separated by <code>;</code></li> </ul> Examples: <ul> <li>10</li> <li>10;15;20</li> </ul>",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BreakdownData"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/billing": {
      "get": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Get billing units",
        "description": "Returns a list of billing units based on the specified filters.",
        "operationId": "getTableView_35",
        "parameters": [
          {
            "name": "targetContactId",
            "in": "query",
            "description": "Target contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Target contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "unitId",
            "in": "query",
            "description": "Billing unit ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billing unit ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "unitName",
            "in": "query",
            "description": "Billing unit name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billing unit name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "unitOrganizationId",
            "in": "query",
            "description": "Organization ID the billing unit belongs to.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Organization ID the billing unit belongs to.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "unitType",
            "in": "query",
            "description": "Billing unit type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billing unit type filter",
              "enum": [
                "ORGANIZATION",
                "EMPLOYEE",
                "PERSON"
              ],
              "example": "ORGANIZATION"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BillingUnitView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/billing/overdue-amount": {
      "get": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Get overdue amount",
        "description": "Returns the overdue payment amount for the authenticated user.",
        "operationId": "getOverdueAmount",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/billing/overall": {
      "get": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Get billing units total count",
        "description": "Returns the total number of billing units based on the specified filters.",
        "operationId": "calculateResultCount_37",
        "parameters": [
          {
            "name": "targetContactId",
            "in": "query",
            "description": "Target contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Target contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "unitId",
            "in": "query",
            "description": "Billing unit ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billing unit ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "unitName",
            "in": "query",
            "description": "Billing unit name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billing unit name filter",
              "example": "Acme Corp"
            }
          },
          {
            "name": "unitOrganizationId",
            "in": "query",
            "description": "Organization ID the billing unit belongs to.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Organization ID the billing unit belongs to.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "unitType",
            "in": "query",
            "description": "Billing unit type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Billing unit type filter",
              "enum": [
                "ORGANIZATION",
                "EMPLOYEE",
                "PERSON"
              ],
              "example": "ORGANIZATION"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/billing/calculate-price": {
      "get": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Calculate price for billing units",
        "description": "Calculates the total price based on the specified billing unit amounts. Returns 400 if amounts are missing, invalid, or contain negative numbers.",
        "operationId": "getPricingPlan",
        "parameters": [
          {
            "name": "billingUnitAmounts",
            "in": "query",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/billing/billing-plan-with-price": {
      "get": {
        "tags": [
          "billing-controller"
        ],
        "summary": "Get billing plan with price",
        "description": "Returns the billing plan with pricing details for the authenticated user.",
        "operationId": "getBillingPlanWithPrice",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingPlanWithPrice"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/balance": {
      "get": {
        "tags": [
          "balance-controller"
        ],
        "summary": "Get balance",
        "description": "Returns a balance report based on the specified filters.",
        "operationId": "getTableView_36",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "lastYearStartDate",
            "in": "query",
            "description": "Last Year start date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastYearEndDate",
            "in": "query",
            "description": "Last Year end date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastYear",
            "in": "query",
            "description": "Include information for last year",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "accountNumber",
            "in": "query",
            "description": "Account number filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account number filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "1000"
            }
          },
          {
            "name": "accountType",
            "in": "query",
            "description": "Account type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account type filter",
              "enum": [
                "BALANCE_SHEET",
                "PL",
                "SYSTEM"
              ],
              "example": "BALANCE_SHEET"
            }
          },
          {
            "name": "account",
            "in": "query",
            "description": "Account name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter",
              "example": "Office rent"
            }
          },
          {
            "name": "debit",
            "in": "query",
            "description": "Debit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Debit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "credit",
            "in": "query",
            "description": "Credit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Credit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "endingBalance",
            "in": "query",
            "description": "Ending balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Ending balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "lastYearDebit",
            "in": "query",
            "description": "Prior year debit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Prior year debit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "lastYearCredit",
            "in": "query",
            "description": "Prior year credit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Prior year credit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "lastYearEndingBalance",
            "in": "query",
            "description": "Prior year ending balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Prior year ending balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BalanceView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/balance/total": {
      "get": {
        "tags": [
          "balance-controller"
        ],
        "summary": "Get total values for balance",
        "description": "Returns aggregated balance totals based on the specified filters.",
        "operationId": "getTotal_9",
        "parameters": [
          {
            "name": "lastYearStartDate",
            "in": "query",
            "description": "Last Year start date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastYearEndDate",
            "in": "query",
            "description": "Last Year end date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastYear",
            "in": "query",
            "description": "Include information for last year",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "accountNumber",
            "in": "query",
            "description": "Account number filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account number filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "1000"
            }
          },
          {
            "name": "accountType",
            "in": "query",
            "description": "Account type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account type filter",
              "enum": [
                "BALANCE_SHEET",
                "PL",
                "SYSTEM"
              ],
              "example": "BALANCE_SHEET"
            }
          },
          {
            "name": "account",
            "in": "query",
            "description": "Account name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter",
              "example": "Office rent"
            }
          },
          {
            "name": "debit",
            "in": "query",
            "description": "Debit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Debit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "credit",
            "in": "query",
            "description": "Credit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Credit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "endingBalance",
            "in": "query",
            "description": "Ending balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Ending balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "lastYearDebit",
            "in": "query",
            "description": "Prior year debit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Prior year debit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "lastYearCredit",
            "in": "query",
            "description": "Prior year credit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Prior year credit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "lastYearEndingBalance",
            "in": "query",
            "description": "Prior year ending balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Prior year ending balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BalanceView"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/balance/overall": {
      "get": {
        "tags": [
          "balance-controller"
        ],
        "summary": "Get total results count for balance",
        "description": "Returns the total number of balance records based on the specified filters.",
        "operationId": "calculateResultCount_38",
        "parameters": [
          {
            "name": "lastYearStartDate",
            "in": "query",
            "description": "Last Year start date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastYearEndDate",
            "in": "query",
            "description": "Last Year end date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastYear",
            "in": "query",
            "description": "Include information for last year",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-01-01T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-12-31T00:00:00.000Z"
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "accountNumber",
            "in": "query",
            "description": "Account number filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account number filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "1000"
            }
          },
          {
            "name": "accountType",
            "in": "query",
            "description": "Account type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account type filter",
              "enum": [
                "BALANCE_SHEET",
                "PL",
                "SYSTEM"
              ],
              "example": "BALANCE_SHEET"
            }
          },
          {
            "name": "account",
            "in": "query",
            "description": "Account name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Account name filter",
              "example": "Office rent"
            }
          },
          {
            "name": "debit",
            "in": "query",
            "description": "Debit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Debit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "credit",
            "in": "query",
            "description": "Credit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Credit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "endingBalance",
            "in": "query",
            "description": "Ending balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Ending balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "lastYearDebit",
            "in": "query",
            "description": "Prior year debit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Prior year debit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "lastYearCredit",
            "in": "query",
            "description": "Prior year credit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Prior year credit amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "lastYearEndingBalance",
            "in": "query",
            "description": "Prior year ending balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Prior year ending balance filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.0"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/balance-sheet": {
      "get": {
        "tags": [
          "balance-sheet-controller"
        ],
        "summary": "Get balance sheet",
        "description": "Returns a balance sheet report based on the specified filters.",
        "operationId": "getBalanceSheet",
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "description": "Currency ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lastYear",
            "in": "query",
            "description": "Include information for last year",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "margin",
            "in": "query",
            "description": "Include margin data",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "budgetChangeType",
            "in": "query",
            "description": "Budget Change Type",
            "schema": {
              "type": "string",
              "enum": [
                "PERCENT",
                "AMOUNT"
              ]
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "officeIds",
            "in": "query",
            "description": "Office IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "articleIds",
            "in": "query",
            "description": "Article IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "articleCategoryIds",
            "in": "query",
            "description": "Article Category IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "orderIds",
            "in": "query",
            "description": "Order IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "contactIds",
            "in": "query",
            "description": "Contact IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report generation date.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2026-01-01T00:00:00.000Z"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BalanceSheetLine"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/balance-sheet/monthly-cash": {
      "get": {
        "tags": [
          "balance-sheet-controller"
        ],
        "summary": "Get monthly cash",
        "description": "Returns monthly cash balances grouped by month for the current organization.",
        "operationId": "getMonthlyCash",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MonthlyCash"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/balance-sheet/last-previous-not-inactive-period-start-date": {
      "get": {
        "tags": [
          "balance-sheet-controller"
        ],
        "summary": "Get start date of latest previous opened accounting period",
        "description": "Returns the start date of the most recent previous accounting period that is not inactive and precedes the specified date.",
        "operationId": "getLastPreviousNotInactivePeriodStartDate",
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/balance-sheet/export": {
      "get": {
        "tags": [
          "balance-sheet-controller"
        ],
        "summary": "Export balance sheet report",
        "description": "Exports the balance sheet report for the specified filters as an Excel file.",
        "operationId": "getBalanceSheetExport",
        "parameters": [
          {
            "name": "shawAccounts",
            "in": "query",
            "description": "Enable display accounts in the file.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Currency ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lastYear",
            "in": "query",
            "description": "Include information for last year",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "margin",
            "in": "query",
            "description": "Include margin data",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "budgetChangeType",
            "in": "query",
            "description": "Budget Change Type",
            "schema": {
              "type": "string",
              "enum": [
                "PERCENT",
                "AMOUNT"
              ]
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Department IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "officeIds",
            "in": "query",
            "description": "Office IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "articleIds",
            "in": "query",
            "description": "Article IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "articleCategoryIds",
            "in": "query",
            "description": "Article Category IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "orderIds",
            "in": "query",
            "description": "Order IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "contactIds",
            "in": "query",
            "description": "Contact IDs filter.<br><br><br><br>\nSupported values:\n<ul>\n    <li><code>-1</code> \u2014 records where value is not assigned</li>\n    <li>ID</li>\n    <li>Multiple values separated by <code>;</code></li>\n</ul>\nExamples:\n<ul>\n    <li>-1</li>\n    <li>10</li>\n    <li>10;15;20</li>\n</ul>\n"
          },
          {
            "name": "date",
            "in": "query",
            "description": "Report generation date.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2026-01-01T00:00:00.000Z"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/attachment/find/{attachmentId}": {
      "get": {
        "tags": [
          "attachment-controller"
        ],
        "summary": "Get avatar by attachment ID",
        "description": "Returns the avatar image for the given attachment ID, provided the caller has access to the organization of the user it belongs to. Returns 404 when the attachment does not exist, is not a user's current avatar, or belongs to an organization the caller cannot access.",
        "operationId": "find_12",
        "parameters": [
          {
            "name": "attachmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article": {
      "get": {
        "tags": [
          "article-controller"
        ],
        "summary": "Get articles",
        "description": "Returns articles list with filtering and sorting support",
        "operationId": "getArticles",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Unique identifier of the article<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unique identifier of the article<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Type of the article",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Type of the article",
              "enum": [
                "PRODUCT",
                "SERVICE",
                "BUNDLE"
              ],
              "example": "News"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Identifier of the article",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Identifier of the article",
              "example": "102"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Article's primary name translation",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's primary name translation",
              "example": "News Article"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Article's detailed description translation",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's detailed description translation",
              "example": "This is a sample article..."
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "description": "Unique identifier of the article's category<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unique identifier of the article's category<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "categoryName",
            "in": "query",
            "description": "Name of the category",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the category",
              "example": "Events"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Article's measurement type",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's measurement type",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "LENGTH"
            }
          },
          {
            "name": "unitCost",
            "in": "query",
            "description": "Cost per unitSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost per unitSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "unitPrice",
            "in": "query",
            "description": "Article's unit priceSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's unit priceSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "vatRateId",
            "in": "query",
            "description": "VAT rate identifier",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "VAT rate identifier"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Is the status of the article archived?",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Is the status of the article archived?",
              "example": false
            }
          },
          {
            "name": "ean",
            "in": "query",
            "description": "Article's EAN code",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's EAN code"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity of the article. `Applicable only when articleType = PRODUCT`",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Quantity of the article. `Applicable only when articleType = PRODUCT`",
              "example": 1
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Start date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "End date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "weightKg",
            "in": "query",
            "description": "Weight of the article in Kg. `Applicable only when articleType = PRODUCT`",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Weight of the article in Kg. `Applicable only when articleType = PRODUCT`",
              "example": 1.555
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ArticleView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/{id}": {
      "get": {
        "tags": [
          "article-controller"
        ],
        "summary": "Get article details",
        "description": "Returns article details by ID",
        "operationId": "find_13",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Article"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "article-controller"
        ],
        "summary": "Delete article",
        "description": "Deletes an article by ID",
        "operationId": "deleteArticle",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/{id}/deleted": {
      "get": {
        "tags": [
          "article-controller"
        ],
        "summary": "Get deleted article details",
        "description": "Returns details of a deleted article by its ID.",
        "operationId": "findOne_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Article"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/{articleCategoryId}/article-category": {
      "get": {
        "tags": [
          "article-controller"
        ],
        "summary": "Get lite article items by article category ID",
        "description": "Returns lite article items belonging to the specified article category.",
        "operationId": "findByArticleCategory",
        "parameters": [
          {
            "name": "articleCategoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LiteArticleItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/overall": {
      "get": {
        "tags": [
          "article-controller"
        ],
        "summary": "Count of articles",
        "description": "Returns total count of articles matching filtering criteria",
        "operationId": "calculateResultCount_39",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Article type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article type filter",
              "enum": [
                "PRODUCT",
                "SERVICE",
                "BUNDLE"
              ],
              "example": "PRODUCT"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article code / external identifier filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article code / external identifier filter",
              "example": "ART-001"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Article name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article name filter",
              "example": "Office chair"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Article description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article description filter",
              "example": "Ergonomic office chair"
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "description": "Article category ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article category ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Unit of measurement filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit of measurement filter",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "UNIT"
            }
          },
          {
            "name": "unitCost",
            "in": "query",
            "description": "Unit cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "unitPrice",
            "in": "query",
            "description": "Unit price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "150.0"
            }
          },
          {
            "name": "vatRateId",
            "in": "query",
            "description": "VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Whether the article is archived",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the article is archived",
              "example": false
            }
          },
          {
            "name": "ean",
            "in": "query",
            "description": "EAN barcode filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "EAN barcode filter",
              "example": "4006381333931"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity in stock filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Quantity in stock filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Validity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Validity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Validity end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Validity end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "weightKg",
            "in": "query",
            "description": "Weight in kg filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Weight in kg filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1.255"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "saleAccountId",
            "in": "query",
            "description": "Sale chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sale chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "bundleItemArticleId",
            "in": "query",
            "description": "Bundle item article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bundle item article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "bundleItemMeasurement",
            "in": "query",
            "description": "Bundle item unit of measurement filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bundle item unit of measurement filter",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "UNIT"
            }
          },
          {
            "name": "bundleItemPrice",
            "in": "query",
            "description": "Bundle item unit price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bundle item unit price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "50.0"
            }
          },
          {
            "name": "bundleItemAmount",
            "in": "query",
            "description": "Bundle item quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bundle item quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "2"
            }
          },
          {
            "name": "bundleItemDiscount",
            "in": "query",
            "description": "Bundle item discount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bundle item discount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10.0"
            }
          },
          {
            "name": "bundleItemTotalPrice",
            "in": "query",
            "description": "Bundle item total price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bundle item total price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "90.0"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/lang": {
      "get": {
        "tags": [
          "article-controller"
        ],
        "summary": "Get articles with user language",
        "description": "Returns articles list localized using current user's content language settings",
        "operationId": "getUserLanguageArticles",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Unique identifier of the article<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unique identifier of the article<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Type of the article",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Type of the article",
              "enum": [
                "PRODUCT",
                "SERVICE",
                "BUNDLE"
              ],
              "example": "News"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Identifier of the article",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Identifier of the article",
              "example": "102"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Article's primary name translation",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's primary name translation",
              "example": "News Article"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Article's detailed description translation",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's detailed description translation",
              "example": "This is a sample article..."
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "description": "Unique identifier of the article's category<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unique identifier of the article's category<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "categoryName",
            "in": "query",
            "description": "Name of the category",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the category",
              "example": "Events"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Article's measurement type",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's measurement type",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "LENGTH"
            }
          },
          {
            "name": "unitCost",
            "in": "query",
            "description": "Cost per unitSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost per unitSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "unitPrice",
            "in": "query",
            "description": "Article's unit priceSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's unit priceSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "vatRateId",
            "in": "query",
            "description": "VAT rate identifier",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "VAT rate identifier"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Is the status of the article archived?",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Is the status of the article archived?",
              "example": false
            }
          },
          {
            "name": "ean",
            "in": "query",
            "description": "Article's EAN code",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's EAN code"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity of the article. `Applicable only when articleType = PRODUCT`",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Quantity of the article. `Applicable only when articleType = PRODUCT`",
              "example": 1
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Start date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "End date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "weightKg",
            "in": "query",
            "description": "Weight of the article in Kg. `Applicable only when articleType = PRODUCT`",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Weight of the article in Kg. `Applicable only when articleType = PRODUCT`",
              "example": 1.555
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserLanguageArticleView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/inventory-location": {
      "get": {
        "tags": [
          "article-controller"
        ],
        "summary": "Get inventory location ids",
        "description": "Returns inventory location identifiers for the current user's organization.",
        "operationId": "getInventoryLocations",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/contact-lang": {
      "get": {
        "tags": [
          "article-controller"
        ],
        "summary": "Get articles with contact language",
        "description": "Returns articles localized using the default language of the contact specified in request parameters.",
        "operationId": "getContactLanguageArticles",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact identifier used to determine localization language",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Unique identifier of the article<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unique identifier of the article<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Type of the article",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Type of the article",
              "enum": [
                "PRODUCT",
                "SERVICE",
                "BUNDLE"
              ],
              "example": "News"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Identifier of the article",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Identifier of the article",
              "example": "102"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Article's primary name translation",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's primary name translation",
              "example": "News Article"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Article's detailed description translation",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's detailed description translation",
              "example": "This is a sample article..."
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "description": "Unique identifier of the article's category<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unique identifier of the article's category<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "categoryName",
            "in": "query",
            "description": "Name of the category",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the category",
              "example": "Events"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Article's measurement type",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's measurement type",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "LENGTH"
            }
          },
          {
            "name": "unitCost",
            "in": "query",
            "description": "Cost per unitSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost per unitSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "unitPrice",
            "in": "query",
            "description": "Article's unit priceSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's unit priceSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "vatRateId",
            "in": "query",
            "description": "VAT rate identifier",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "VAT rate identifier"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Is the status of the article archived?",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Is the status of the article archived?",
              "example": false
            }
          },
          {
            "name": "ean",
            "in": "query",
            "description": "Article's EAN code",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's EAN code"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity of the article. `Applicable only when articleType = PRODUCT`",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Quantity of the article. `Applicable only when articleType = PRODUCT`",
              "example": 1
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Start date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "End date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "weightKg",
            "in": "query",
            "description": "Weight of the article in Kg. `Applicable only when articleType = PRODUCT`",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Weight of the article in Kg. `Applicable only when articleType = PRODUCT`",
              "example": 1.555
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TranslatedArticleView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/contact-lang/overall": {
      "get": {
        "tags": [
          "article-controller"
        ],
        "summary": "Get total count of articles with contact language",
        "description": "Returns the total number of articles matching the specified filters.\n\nLocalization is performed using the contact's default language.\n",
        "operationId": "getContactLanguageArticlesOverall",
        "parameters": [
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact identifier used to determine localization language",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Unique identifier of the article<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unique identifier of the article<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Type of the article",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Type of the article",
              "enum": [
                "PRODUCT",
                "SERVICE",
                "BUNDLE"
              ],
              "example": "News"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Identifier of the article",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Identifier of the article",
              "example": "102"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Article's primary name translation",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's primary name translation",
              "example": "News Article"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Article's detailed description translation",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's detailed description translation",
              "example": "This is a sample article..."
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "description": "Unique identifier of the article's category<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unique identifier of the article's category<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "categoryName",
            "in": "query",
            "description": "Name of the category",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the category",
              "example": "Events"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Article's measurement type",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's measurement type",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "LENGTH"
            }
          },
          {
            "name": "unitCost",
            "in": "query",
            "description": "Cost per unitSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Cost per unitSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "unitPrice",
            "in": "query",
            "description": "Article's unit priceSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's unit priceSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "vatRateId",
            "in": "query",
            "description": "VAT rate identifier",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "VAT rate identifier"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Is the status of the article archived?",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Is the status of the article archived?",
              "example": false
            }
          },
          {
            "name": "ean",
            "in": "query",
            "description": "Article's EAN code",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article's EAN code"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity of the article. `Applicable only when articleType = PRODUCT`",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Quantity of the article. `Applicable only when articleType = PRODUCT`",
              "example": 1
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Start date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "End date for the article validitySupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "weightKg",
            "in": "query",
            "description": "Weight of the article in Kg. `Applicable only when articleType = PRODUCT`",
            "required": false,
            "schema": {
              "type": "number",
              "description": "Weight of the article in Kg. `Applicable only when articleType = PRODUCT`",
              "example": 1.555
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/category": {
      "get": {
        "tags": [
          "article-category-controller"
        ],
        "summary": "Get article categories",
        "description": "Returns a flat list of article categories.",
        "operationId": "getArticleCategories",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ArticleCategory"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/category/tree": {
      "get": {
        "tags": [
          "article-category-controller"
        ],
        "summary": "Get article categories tree",
        "description": "Returns the hierarchical tree of article categories.",
        "operationId": "getArticleCategoriesTree",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ArticleCategory"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/article/advanced": {
      "get": {
        "tags": [
          "article-advanced-controller"
        ],
        "summary": "Get articles using advanced filters",
        "description": "Returns articles matching the specified advanced filter criteria.",
        "operationId": "getArticlesAdvanced",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Article type filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article type filter",
              "enum": [
                "PRODUCT",
                "SERVICE",
                "BUNDLE"
              ],
              "example": "PRODUCT"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Article code / external identifier filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article code / external identifier filter",
              "example": "ART-001"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Article name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article name filter",
              "example": "Office chair"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Article description filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article description filter",
              "example": "Ergonomic office chair"
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "description": "Article category ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Article category ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "measurement",
            "in": "query",
            "description": "Unit of measurement filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit of measurement filter",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "UNIT"
            }
          },
          {
            "name": "unitCost",
            "in": "query",
            "description": "Unit cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit cost filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "100.5"
            }
          },
          {
            "name": "unitPrice",
            "in": "query",
            "description": "Unit price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Unit price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "150.0"
            }
          },
          {
            "name": "vatRateId",
            "in": "query",
            "description": "VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Whether the article is archived",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the article is archived",
              "example": false
            }
          },
          {
            "name": "ean",
            "in": "query",
            "description": "EAN barcode filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "EAN barcode filter",
              "example": "4006381333931"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity in stock filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Quantity in stock filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Validity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Validity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Validity end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Validity end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "weightKg",
            "in": "query",
            "description": "Weight in kg filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Weight in kg filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "1.255"
            }
          },
          {
            "name": "currencyId",
            "in": "query",
            "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "saleAccountId",
            "in": "query",
            "description": "Sale chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sale chart of accounts ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "bundleItemArticleId",
            "in": "query",
            "description": "Bundle item article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bundle item article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "bundleItemMeasurement",
            "in": "query",
            "description": "Bundle item unit of measurement filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bundle item unit of measurement filter",
              "enum": [
                "UNIT",
                "ML",
                "DL",
                "L",
                "HL",
                "G",
                "KG",
                "T",
                "H",
                "M",
                "M_2",
                "M_3",
                "KM",
                "DAY"
              ],
              "example": "UNIT"
            }
          },
          {
            "name": "bundleItemPrice",
            "in": "query",
            "description": "Bundle item unit price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bundle item unit price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "50.0"
            }
          },
          {
            "name": "bundleItemAmount",
            "in": "query",
            "description": "Bundle item quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bundle item quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "2"
            }
          },
          {
            "name": "bundleItemDiscount",
            "in": "query",
            "description": "Bundle item discount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bundle item discount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "10.0"
            }
          },
          {
            "name": "bundleItemTotalPrice",
            "in": "query",
            "description": "Bundle item total price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Bundle item total price filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
              "example": "90.0"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ArticleView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/allocations": {
      "get": {
        "tags": [
          "allocation-controller"
        ],
        "summary": "Get allocation rules",
        "description": "Returns paginated allocation rules list with filtering and sorting support",
        "operationId": "getAllocationRules",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Allocation rule ID<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Allocation rule ID<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "moduleType",
            "in": "query",
            "description": "Supported module type",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supported module type",
              "enum": [
                "PURCHASE_INVOICES",
                "SALES_INVOICES"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Name of the allocation rule",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the allocation rule",
              "example": "Example Allocation Rule Name"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Description of the allocation rule",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Description of the allocation rule",
              "example": "This allocation rule is used for..."
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "description": "Boolean flag representing if allocation rule is active or not",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Boolean flag representing if allocation rule is active or not",
              "example": true
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "description": "Start date for the allocation ruleSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Start date for the allocation ruleSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "description": "End date for the allocation ruleSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "End date for the allocation ruleSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AllocationRuleView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/allocations/{id}": {
      "get": {
        "tags": [
          "allocation-controller"
        ],
        "summary": "Get allocation rule details",
        "description": "Returns allocation rule details by ID",
        "operationId": "find_14",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Allocation rule ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AllocationRule"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "allocation-controller"
        ],
        "summary": "Delete allocation rule",
        "description": "Deletes an allocation rule by ID",
        "operationId": "delete_24",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Allocation rule ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/allocations/rules-for-sales-invoice": {
      "get": {
        "tags": [
          "allocation-controller"
        ],
        "summary": "Get allocation rules for sales invoices",
        "operationId": "getPossibleRulesForSalesInvoices",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/allocations/rules-for-purchase-invoice": {
      "get": {
        "tags": [
          "allocation-controller"
        ],
        "summary": "Get allocation rules for purchase invoices",
        "operationId": "getPossibleRulesForPurchaseInvoices",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/allocations/overall": {
      "get": {
        "tags": [
          "allocation-controller"
        ],
        "summary": "Count allocation rules",
        "description": "Returns total count of allocation rules matching filtering criteria",
        "operationId": "calculateResultCount_40",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Allocation rule ID<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Allocation rule ID<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "moduleType",
            "in": "query",
            "description": "Supported module type",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Supported module type",
              "enum": [
                "PURCHASE_INVOICES",
                "SALES_INVOICES"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Name of the allocation rule",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the allocation rule",
              "example": "Example Allocation Rule Name"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Description of the allocation rule",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Description of the allocation rule",
              "example": "This allocation rule is used for..."
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "description": "Boolean flag representing if allocation rule is active or not",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Boolean flag representing if allocation rule is active or not",
              "example": true
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "description": "Start date for the allocation ruleSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Start date for the allocation ruleSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "description": "End date for the allocation ruleSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "End date for the allocation ruleSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/activity-log": {
      "get": {
        "tags": [
          "activity-log-controller"
        ],
        "summary": "Get activity log events",
        "description": "Returns activity log events matching the specified filters.",
        "operationId": "getTableView_37",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Activity log entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Activity log entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Activity log date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Activity log date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "time",
            "in": "query",
            "description": "Activity log time filter.\nSupported operators: range >, >=, <, <=, <>.\nExamples: >=22:00:00, <=08:00:00, <>23:00:00\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "time",
              "description": "Activity log time filter.\nSupported operators: range >, >=, <, <=, <>.\nExamples: >=22:00:00, <=08:00:00, <>23:00:00\n",
              "example": ">=22:00:00"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "description": "User ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "User ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "entityId",
            "in": "query",
            "description": "ID of the entity the activity was performed on.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "ID of the entity the activity was performed on.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "wtUser",
            "in": "query",
            "description": "Name of the user who performed the action",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the user who performed the action",
              "example": "John Doe"
            }
          },
          {
            "name": "contact",
            "in": "query",
            "description": "Name of the contact related to the activity",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the contact related to the activity",
              "example": "Acme Corp"
            }
          },
          {
            "name": "entity",
            "in": "query",
            "description": "Name of the entity the activity was performed on",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the entity the activity was performed on",
              "example": "Invoice #2026-0001"
            }
          },
          {
            "name": "module",
            "in": "query",
            "description": "Module the activity occurred in",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Module the activity occurred in",
              "enum": [
                "ALL",
                "NONE",
                "CONTACTS",
                "CONTACTS_DETAILS",
                "CONTACTS_SUPPLIER",
                "CONTACTS_CLIENT",
                "CONTACTS_BALANCE",
                "CONTACTS_STAFF",
                "CONTACTS_STAFF_DOCUMENTS",
                "CONTACTS_USER",
                "CONTACTS_MAIN_USER",
                "CONTACTS_USER_SECURITY",
                "CONTACTS_USER_PERMISSIONS",
                "CONTACTS_SYSTEM",
                "CONTACTS_DOCUMENTS",
                "CONTACTS_ROLES",
                "CONTACTS_ROLES_SUPPLIER",
                "CONTACTS_ROLES_CLIENT",
                "CONTACTS_ROLES_STAFF",
                "CONTACTS_ROLES_USER",
                "CONTACTS_COMMUNICATIONS",
                "ORGANIZATIONS_USERS_MANAGER",
                "ORGANIZATIONS",
                "ORGANIZATIONS_DETAILS",
                "ORGANIZATIONS_TEMPLATES",
                "ORGANIZATIONS_ACCOUNTING",
                "ORGANIZATIONS_INVOICES",
                "ORGANIZATIONS_SYSTEM",
                "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
                "ORGANIZATIONS_SYSTEM_CODES",
                "ORGANIZATIONS_SYSTEM_EBICS",
                "ORGANIZATIONS_SYSTEM_INVENTORY",
                "ORGANIZATIONS_DOCUMENTS",
                "ORGANIZATIONS_DETAILS_INVOICING",
                "PERMISSION_ROLES",
                "PERMISSION_ROLES_DETAILS",
                "BUSINESS_UNITS",
                "ARTICLE_CATEGORIES",
                "CHART_OF_ACCOUNTS",
                "CHART_OF_ACCOUNTS_DETAILS",
                "ACTIVITY_LOG",
                "CURRENCIES",
                "CURRENCIES_DETAILS",
                "JOURNAL",
                "JOURNAL_DETAILS",
                "JOURNAL_DOCUMENTS",
                "DOCUMENTS",
                "DOCUMENTS_DETAILS",
                "RECONCILIATION",
                "PURCHASE_INVOICES",
                "PURCHASE_INVOICES_DETAILS",
                "PURCHASE_INVOICES_VALIDATION",
                "PURCHASE_INVOICES_ACCOUNTING",
                "PURCHASE_INVOICES_SHIPMENTS",
                "PURCHASE_INVOICES_DOCUMENTS",
                "PURCHASE_INVOICES_ALLOCATION_RULES",
                "PURCHASE_INVOICES_WORKFLOW",
                "SALES_INVOICES",
                "SALES_INVOICES_DETAILS",
                "SALES_INVOICES_VALIDATION",
                "SALES_INVOICES_ACCOUNTING",
                "SALES_INVOICES_DOCUMENTS",
                "SALES_INVOICES_SHIPMENTS",
                "SALES_INVOICES_REPORT",
                "SALES_INVOICES_ALLOCATION_RULES",
                "SALES_INVOICES_WORKFLOW",
                "SALARIES",
                "STOCK_REPORT",
                "STOCK_MOVEMENTS",
                "STOCK_MOVEMENTS_DETAILS",
                "ORDERS",
                "ORDERS_DETAILS",
                "ORDERS_VALIDATION",
                "ORDERS_SHIPMENT",
                "ORDERS_INVOICES",
                "ORDERS_EXPENSES",
                "ORDERS_DOCUMENTS",
                "ORDERS_WORKFLOW",
                "ADVANCED_INVOICING",
                "ADVANCED_INVOICING_GENERATE",
                "ACCOUNTING_PERIODS",
                "ACCOUNTING_PERIODS_DETAILS",
                "ACCOUNTING_PERIODS_LOCK",
                "ACCOUNTING_PERIODS_OPEN_CLOSE",
                "GENERAL_LEDGER",
                "GENERAL_LEDGER_STAFF",
                "REPORT_TEMPLATE",
                "ARTICLES",
                "ARTICLES_DETAILS",
                "PURCHASE_INVOICES_SCAN",
                "PURCHASE_INVOICES_SCAN_DETAILS",
                "RECOGNIZER",
                "BALANCE",
                "BALANCE_SHEET",
                "BALANCE_SHEET_STAFF",
                "PL_REPORT",
                "PL_REPORT_STAFF",
                "CASH_FLOW_REPORT",
                "MY_TIMESHEETS",
                "MY_ACCOUNT",
                "TIME_DETAILS",
                "TIME_DETAILS_DETAILS",
                "TIME_DETAILS_WORKFLOW",
                "TEAM_REVIEW",
                "BUDGETING",
                "BUDGETING_DETAILS",
                "SALARY_CONFIG",
                "SALARY_CONFIG_DETAILS",
                "RECEIVABLES",
                "PAYABLES",
                "PAYABLES_PAYMENT_FILE",
                "PDF_TEMPLATES",
                "PDF_TEMPLATES_DETAILS",
                "DASHBOARD",
                "LATE_NOTICES",
                "MY_DOCUMENTS",
                "MY_DOCUMENTS_PAYROLL",
                "MY_DOCUMENTS_OTHER",
                "MY_DOCUMENTS_EXPORT_FILES",
                "PAYROLL",
                "PAYROLL_DETAILS",
                "PAYROLL_ACCOUNTING",
                "PAYROLL_SWISSDEC",
                "VAT_REPORT",
                "ORDER_REPORTS",
                "ORDER_REPORTS_DETAILS",
                "RATIOS_REPORT",
                "VACATIONS",
                "TRASH_CAN",
                "USER_GROUPS",
                "USER_GROUPS_DETAILS",
                "WORKFLOW",
                "WORKFLOW_DETAILS",
                "MY_WORKFLOW_NOTIFICATIONS",
                "FIXED_ASSETS",
                "UNASSIGNED",
                "EXPENSES",
                "EXPENSES_DETAILS",
                "EXPENSES_DRAFT",
                "EXPENSES_DRAFT_DETAILS",
                "CONTACT_BALANCE_REPORT",
                "ORGANIZATION_CURRENCIES",
                "ORGANIZATION_CURRENCIES_DETAILS",
                "ALLOCATIONS",
                "ALLOCATIONS_DETAILS",
                "END_OF_YEAR_REPORT",
                "END_OF_YEAR_REPORT_DOCUMENTS"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "action",
            "in": "query",
            "description": "Action performed",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Action performed",
              "enum": [
                "CREATE",
                "MODIFY",
                "DELETE",
                "LOGIN",
                "LOGOUT",
                "BLOCK",
                "CORRESPONDENCE",
                "RESTORE",
                "EXPORT",
                "VIEW_DATA"
              ],
              "example": "MODIFY"
            }
          },
          {
            "name": "actionType",
            "in": "query",
            "description": "Type of action performed",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Type of action performed",
              "enum": [
                "VALIDATE",
                "INVALIDATE",
                "PARTIAL_VALIDATE",
                "DOCUMENT",
                "LOCK",
                "SHIPMENT",
                "REMINDER",
                "UNLOCK",
                "PAYSLIP_LINE",
                "PAYMENT",
                "EMAIL",
                "UPLOAD",
                "RECONCILIATION",
                "CLOSE",
                "OPEN",
                "SCAN",
                "BILLING_METHOD",
                "PAID",
                "PARTIALLY_PAID",
                "PARTIAL_PAYMENT_REMOVED",
                "PAYMENT_REMOVED",
                "SENT",
                "ARCHIVED",
                "UNARCHIVED",
                "PDF",
                "EXCEL"
              ],
              "example": "VALIDATE"
            }
          },
          {
            "name": "details",
            "in": "query",
            "description": "Free-text details of the activity",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text details of the activity",
              "example": "Status changed from DRAFT to VALIDATED"
            }
          },
          {
            "name": "timezoneName",
            "in": "query",
            "description": "Timezone used for date and time conversion",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timezone used for date and time conversion",
              "example": "Europe/Zurich"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ActivityLogView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/activity-log/overall": {
      "get": {
        "tags": [
          "activity-log-controller"
        ],
        "summary": "Get total count of activity log events",
        "description": "Returns the total number of activity log events matching the specified filters.",
        "operationId": "getResultsCount_1",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Activity log entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Activity log entry ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Activity log date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Activity log date filter.Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n"
            }
          },
          {
            "name": "time",
            "in": "query",
            "description": "Activity log time filter.\nSupported operators: range >, >=, <, <=, <>.\nExamples: >=22:00:00, <=08:00:00, <>23:00:00\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "time",
              "description": "Activity log time filter.\nSupported operators: range >, >=, <, <=, <>.\nExamples: >=22:00:00, <=08:00:00, <>23:00:00\n",
              "example": ">=22:00:00"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "description": "User ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "User ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "entityId",
            "in": "query",
            "description": "ID of the entity the activity was performed on.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "ID of the entity the activity was performed on.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "wtUser",
            "in": "query",
            "description": "Name of the user who performed the action",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the user who performed the action",
              "example": "John Doe"
            }
          },
          {
            "name": "contact",
            "in": "query",
            "description": "Name of the contact related to the activity",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the contact related to the activity",
              "example": "Acme Corp"
            }
          },
          {
            "name": "entity",
            "in": "query",
            "description": "Name of the entity the activity was performed on",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Name of the entity the activity was performed on",
              "example": "Invoice #2026-0001"
            }
          },
          {
            "name": "module",
            "in": "query",
            "description": "Module the activity occurred in",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Module the activity occurred in",
              "enum": [
                "ALL",
                "NONE",
                "CONTACTS",
                "CONTACTS_DETAILS",
                "CONTACTS_SUPPLIER",
                "CONTACTS_CLIENT",
                "CONTACTS_BALANCE",
                "CONTACTS_STAFF",
                "CONTACTS_STAFF_DOCUMENTS",
                "CONTACTS_USER",
                "CONTACTS_MAIN_USER",
                "CONTACTS_USER_SECURITY",
                "CONTACTS_USER_PERMISSIONS",
                "CONTACTS_SYSTEM",
                "CONTACTS_DOCUMENTS",
                "CONTACTS_ROLES",
                "CONTACTS_ROLES_SUPPLIER",
                "CONTACTS_ROLES_CLIENT",
                "CONTACTS_ROLES_STAFF",
                "CONTACTS_ROLES_USER",
                "CONTACTS_COMMUNICATIONS",
                "ORGANIZATIONS_USERS_MANAGER",
                "ORGANIZATIONS",
                "ORGANIZATIONS_DETAILS",
                "ORGANIZATIONS_TEMPLATES",
                "ORGANIZATIONS_ACCOUNTING",
                "ORGANIZATIONS_INVOICES",
                "ORGANIZATIONS_SYSTEM",
                "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
                "ORGANIZATIONS_SYSTEM_CODES",
                "ORGANIZATIONS_SYSTEM_EBICS",
                "ORGANIZATIONS_SYSTEM_INVENTORY",
                "ORGANIZATIONS_DOCUMENTS",
                "ORGANIZATIONS_DETAILS_INVOICING",
                "PERMISSION_ROLES",
                "PERMISSION_ROLES_DETAILS",
                "BUSINESS_UNITS",
                "ARTICLE_CATEGORIES",
                "CHART_OF_ACCOUNTS",
                "CHART_OF_ACCOUNTS_DETAILS",
                "ACTIVITY_LOG",
                "CURRENCIES",
                "CURRENCIES_DETAILS",
                "JOURNAL",
                "JOURNAL_DETAILS",
                "JOURNAL_DOCUMENTS",
                "DOCUMENTS",
                "DOCUMENTS_DETAILS",
                "RECONCILIATION",
                "PURCHASE_INVOICES",
                "PURCHASE_INVOICES_DETAILS",
                "PURCHASE_INVOICES_VALIDATION",
                "PURCHASE_INVOICES_ACCOUNTING",
                "PURCHASE_INVOICES_SHIPMENTS",
                "PURCHASE_INVOICES_DOCUMENTS",
                "PURCHASE_INVOICES_ALLOCATION_RULES",
                "PURCHASE_INVOICES_WORKFLOW",
                "SALES_INVOICES",
                "SALES_INVOICES_DETAILS",
                "SALES_INVOICES_VALIDATION",
                "SALES_INVOICES_ACCOUNTING",
                "SALES_INVOICES_DOCUMENTS",
                "SALES_INVOICES_SHIPMENTS",
                "SALES_INVOICES_REPORT",
                "SALES_INVOICES_ALLOCATION_RULES",
                "SALES_INVOICES_WORKFLOW",
                "SALARIES",
                "STOCK_REPORT",
                "STOCK_MOVEMENTS",
                "STOCK_MOVEMENTS_DETAILS",
                "ORDERS",
                "ORDERS_DETAILS",
                "ORDERS_VALIDATION",
                "ORDERS_SHIPMENT",
                "ORDERS_INVOICES",
                "ORDERS_EXPENSES",
                "ORDERS_DOCUMENTS",
                "ORDERS_WORKFLOW",
                "ADVANCED_INVOICING",
                "ADVANCED_INVOICING_GENERATE",
                "ACCOUNTING_PERIODS",
                "ACCOUNTING_PERIODS_DETAILS",
                "ACCOUNTING_PERIODS_LOCK",
                "ACCOUNTING_PERIODS_OPEN_CLOSE",
                "GENERAL_LEDGER",
                "GENERAL_LEDGER_STAFF",
                "REPORT_TEMPLATE",
                "ARTICLES",
                "ARTICLES_DETAILS",
                "PURCHASE_INVOICES_SCAN",
                "PURCHASE_INVOICES_SCAN_DETAILS",
                "RECOGNIZER",
                "BALANCE",
                "BALANCE_SHEET",
                "BALANCE_SHEET_STAFF",
                "PL_REPORT",
                "PL_REPORT_STAFF",
                "CASH_FLOW_REPORT",
                "MY_TIMESHEETS",
                "MY_ACCOUNT",
                "TIME_DETAILS",
                "TIME_DETAILS_DETAILS",
                "TIME_DETAILS_WORKFLOW",
                "TEAM_REVIEW",
                "BUDGETING",
                "BUDGETING_DETAILS",
                "SALARY_CONFIG",
                "SALARY_CONFIG_DETAILS",
                "RECEIVABLES",
                "PAYABLES",
                "PAYABLES_PAYMENT_FILE",
                "PDF_TEMPLATES",
                "PDF_TEMPLATES_DETAILS",
                "DASHBOARD",
                "LATE_NOTICES",
                "MY_DOCUMENTS",
                "MY_DOCUMENTS_PAYROLL",
                "MY_DOCUMENTS_OTHER",
                "MY_DOCUMENTS_EXPORT_FILES",
                "PAYROLL",
                "PAYROLL_DETAILS",
                "PAYROLL_ACCOUNTING",
                "PAYROLL_SWISSDEC",
                "VAT_REPORT",
                "ORDER_REPORTS",
                "ORDER_REPORTS_DETAILS",
                "RATIOS_REPORT",
                "VACATIONS",
                "TRASH_CAN",
                "USER_GROUPS",
                "USER_GROUPS_DETAILS",
                "WORKFLOW",
                "WORKFLOW_DETAILS",
                "MY_WORKFLOW_NOTIFICATIONS",
                "FIXED_ASSETS",
                "UNASSIGNED",
                "EXPENSES",
                "EXPENSES_DETAILS",
                "EXPENSES_DRAFT",
                "EXPENSES_DRAFT_DETAILS",
                "CONTACT_BALANCE_REPORT",
                "ORGANIZATION_CURRENCIES",
                "ORGANIZATION_CURRENCIES_DETAILS",
                "ALLOCATIONS",
                "ALLOCATIONS_DETAILS",
                "END_OF_YEAR_REPORT",
                "END_OF_YEAR_REPORT_DOCUMENTS"
              ],
              "example": "PURCHASE_INVOICES"
            }
          },
          {
            "name": "action",
            "in": "query",
            "description": "Action performed",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Action performed",
              "enum": [
                "CREATE",
                "MODIFY",
                "DELETE",
                "LOGIN",
                "LOGOUT",
                "BLOCK",
                "CORRESPONDENCE",
                "RESTORE",
                "EXPORT",
                "VIEW_DATA"
              ],
              "example": "MODIFY"
            }
          },
          {
            "name": "actionType",
            "in": "query",
            "description": "Type of action performed",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Type of action performed",
              "enum": [
                "VALIDATE",
                "INVALIDATE",
                "PARTIAL_VALIDATE",
                "DOCUMENT",
                "LOCK",
                "SHIPMENT",
                "REMINDER",
                "UNLOCK",
                "PAYSLIP_LINE",
                "PAYMENT",
                "EMAIL",
                "UPLOAD",
                "RECONCILIATION",
                "CLOSE",
                "OPEN",
                "SCAN",
                "BILLING_METHOD",
                "PAID",
                "PARTIALLY_PAID",
                "PARTIAL_PAYMENT_REMOVED",
                "PAYMENT_REMOVED",
                "SENT",
                "ARCHIVED",
                "UNARCHIVED",
                "PDF",
                "EXCEL"
              ],
              "example": "VALIDATE"
            }
          },
          {
            "name": "details",
            "in": "query",
            "description": "Free-text details of the activity",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Free-text details of the activity",
              "example": "Status changed from DRAFT to VALIDATED"
            }
          },
          {
            "name": "timezoneName",
            "in": "query",
            "description": "Timezone used for date and time conversion",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Timezone used for date and time conversion",
              "example": "Europe/Zurich"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/activity-log/can-open-module/{id}/{type}": {
      "get": {
        "tags": [
          "activity-log-controller"
        ],
        "summary": "Check if entity can be opened from activity log",
        "description": "Validates whether the current user has permission to open the specified entity in a module. Returns 204 No Content if access is granted, otherwise an error response is returned.",
        "operationId": "getIdWhenOpenInModule_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Entity identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "type",
            "in": "path",
            "description": "Module type",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ALL",
                "NONE",
                "CONTACTS",
                "CONTACTS_DETAILS",
                "CONTACTS_SUPPLIER",
                "CONTACTS_CLIENT",
                "CONTACTS_BALANCE",
                "CONTACTS_STAFF",
                "CONTACTS_STAFF_DOCUMENTS",
                "CONTACTS_USER",
                "CONTACTS_MAIN_USER",
                "CONTACTS_USER_SECURITY",
                "CONTACTS_USER_PERMISSIONS",
                "CONTACTS_SYSTEM",
                "CONTACTS_DOCUMENTS",
                "CONTACTS_ROLES",
                "CONTACTS_ROLES_SUPPLIER",
                "CONTACTS_ROLES_CLIENT",
                "CONTACTS_ROLES_STAFF",
                "CONTACTS_ROLES_USER",
                "CONTACTS_COMMUNICATIONS",
                "ORGANIZATIONS_USERS_MANAGER",
                "ORGANIZATIONS",
                "ORGANIZATIONS_DETAILS",
                "ORGANIZATIONS_TEMPLATES",
                "ORGANIZATIONS_ACCOUNTING",
                "ORGANIZATIONS_INVOICES",
                "ORGANIZATIONS_SYSTEM",
                "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
                "ORGANIZATIONS_SYSTEM_CODES",
                "ORGANIZATIONS_SYSTEM_EBICS",
                "ORGANIZATIONS_SYSTEM_INVENTORY",
                "ORGANIZATIONS_DOCUMENTS",
                "ORGANIZATIONS_DETAILS_INVOICING",
                "PERMISSION_ROLES",
                "PERMISSION_ROLES_DETAILS",
                "BUSINESS_UNITS",
                "ARTICLE_CATEGORIES",
                "CHART_OF_ACCOUNTS",
                "CHART_OF_ACCOUNTS_DETAILS",
                "ACTIVITY_LOG",
                "CURRENCIES",
                "CURRENCIES_DETAILS",
                "JOURNAL",
                "JOURNAL_DETAILS",
                "JOURNAL_DOCUMENTS",
                "DOCUMENTS",
                "DOCUMENTS_DETAILS",
                "RECONCILIATION",
                "PURCHASE_INVOICES",
                "PURCHASE_INVOICES_DETAILS",
                "PURCHASE_INVOICES_VALIDATION",
                "PURCHASE_INVOICES_ACCOUNTING",
                "PURCHASE_INVOICES_SHIPMENTS",
                "PURCHASE_INVOICES_DOCUMENTS",
                "PURCHASE_INVOICES_ALLOCATION_RULES",
                "PURCHASE_INVOICES_WORKFLOW",
                "SALES_INVOICES",
                "SALES_INVOICES_DETAILS",
                "SALES_INVOICES_VALIDATION",
                "SALES_INVOICES_ACCOUNTING",
                "SALES_INVOICES_DOCUMENTS",
                "SALES_INVOICES_SHIPMENTS",
                "SALES_INVOICES_REPORT",
                "SALES_INVOICES_ALLOCATION_RULES",
                "SALES_INVOICES_WORKFLOW",
                "SALARIES",
                "STOCK_REPORT",
                "STOCK_MOVEMENTS",
                "STOCK_MOVEMENTS_DETAILS",
                "ORDERS",
                "ORDERS_DETAILS",
                "ORDERS_VALIDATION",
                "ORDERS_SHIPMENT",
                "ORDERS_INVOICES",
                "ORDERS_EXPENSES",
                "ORDERS_DOCUMENTS",
                "ORDERS_WORKFLOW",
                "ADVANCED_INVOICING",
                "ADVANCED_INVOICING_GENERATE",
                "ACCOUNTING_PERIODS",
                "ACCOUNTING_PERIODS_DETAILS",
                "ACCOUNTING_PERIODS_LOCK",
                "ACCOUNTING_PERIODS_OPEN_CLOSE",
                "GENERAL_LEDGER",
                "GENERAL_LEDGER_STAFF",
                "REPORT_TEMPLATE",
                "ARTICLES",
                "ARTICLES_DETAILS",
                "PURCHASE_INVOICES_SCAN",
                "PURCHASE_INVOICES_SCAN_DETAILS",
                "RECOGNIZER",
                "BALANCE",
                "BALANCE_SHEET",
                "BALANCE_SHEET_STAFF",
                "PL_REPORT",
                "PL_REPORT_STAFF",
                "CASH_FLOW_REPORT",
                "MY_TIMESHEETS",
                "MY_ACCOUNT",
                "TIME_DETAILS",
                "TIME_DETAILS_DETAILS",
                "TIME_DETAILS_WORKFLOW",
                "TEAM_REVIEW",
                "BUDGETING",
                "BUDGETING_DETAILS",
                "SALARY_CONFIG",
                "SALARY_CONFIG_DETAILS",
                "RECEIVABLES",
                "PAYABLES",
                "PAYABLES_PAYMENT_FILE",
                "PDF_TEMPLATES",
                "PDF_TEMPLATES_DETAILS",
                "DASHBOARD",
                "LATE_NOTICES",
                "MY_DOCUMENTS",
                "MY_DOCUMENTS_PAYROLL",
                "MY_DOCUMENTS_OTHER",
                "MY_DOCUMENTS_EXPORT_FILES",
                "PAYROLL",
                "PAYROLL_DETAILS",
                "PAYROLL_ACCOUNTING",
                "PAYROLL_SWISSDEC",
                "VAT_REPORT",
                "ORDER_REPORTS",
                "ORDER_REPORTS_DETAILS",
                "RATIOS_REPORT",
                "VACATIONS",
                "TRASH_CAN",
                "USER_GROUPS",
                "USER_GROUPS_DETAILS",
                "WORKFLOW",
                "WORKFLOW_DETAILS",
                "MY_WORKFLOW_NOTIFICATIONS",
                "FIXED_ASSETS",
                "UNASSIGNED",
                "EXPENSES",
                "EXPENSES_DETAILS",
                "EXPENSES_DRAFT",
                "EXPENSES_DRAFT_DETAILS",
                "CONTACT_BALANCE_REPORT",
                "ORGANIZATION_CURRENCIES",
                "ORGANIZATION_CURRENCIES_DETAILS",
                "ALLOCATIONS",
                "ALLOCATIONS_DETAILS",
                "END_OF_YEAR_REPORT",
                "END_OF_YEAR_REPORT_DOCUMENTS"
              ]
            },
            "example": "SALES_INVOICES"
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period": {
      "get": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Get accounting periods",
        "description": "Returns a list of accounting periods based on the specified filters.",
        "operationId": "getTableView_38",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page Number",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sortingField",
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Sorting direction",
            "schema": {
              "type": "string",
              "default": "ASC",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          },
          {
            "name": "sizePerPage",
            "in": "query",
            "description": "Size per page",
            "schema": {
              "type": "integer",
              "default": 60
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Accounting period ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Accounting period ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "fiscalYear",
            "in": "query",
            "description": "Fiscal year filter",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Fiscal year filter",
              "example": 2026
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Period start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2026"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Period end date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": "<=31/12/2026"
            }
          },
          {
            "name": "vatRuleId",
            "in": "query",
            "description": "VAT rule ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VAT rule ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
              "example": "12345678"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Accounting period status filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Accounting period status filter",
              "enum": [
                "OPEN",
                "CLOSED",
                "INACTIVE"
              ],
              "example": "OPEN"
            }
          },
          {
            "name": "isLocked",
            "in": "query",
            "description": "Whether the period is locked",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Whether the period is locked",
              "example": false
            }
          },
          {
            "name": "lockedUntil",
            "in": "query",
            "description": "Locked-until date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Locked-until date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
              "example": ">=01/01/2027"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountingPeriodView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/{id}": {
      "get": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Get accounting period by ID",
        "description": "Returns accounting period details by ID.",
        "operationId": "find_15",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountingPeriod"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Delete accounting period by ID",
        "description": "Deletes an accounting period by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "deleteAccountingPeriod",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/vat-rule": {
      "get": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Get VAT rules",
        "description": "Returns a list of VAT rules for the authenticated user's organization country.",
        "operationId": "getVatRules",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VatRuleView"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/latest": {
      "get": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Get latest open accounting period",
        "description": "Returns the details of the latest open accounting period.",
        "operationId": "findLatestOpenPeriod",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountingPeriod"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/latest-open-period-start-date": {
      "get": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Get latest open accounting period start date",
        "description": "Returns the start date of the latest open accounting period.",
        "operationId": "getLatestOpenPeriodStartDate",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/latest-end-date": {
      "get": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Get latest accounting period end date",
        "description": "Returns the latest end date among all accounting periods.",
        "operationId": "getLatestEndDate",
        "parameters": [
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/accounting-period/date-lock-status/{date}": {
      "get": {
        "tags": [
          "accounting-period-controller"
        ],
        "summary": "Get date lock status",
        "description": "Returns whether the specified date falls within a locked or unlocked accounting period.",
        "operationId": "getDateLockStatus",
        "parameters": [
          {
            "name": "date",
            "in": "path",
            "description": "Date to check",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "organizationId",
            "in": "query",
            "description": "Manageable organization ID. If not specified, the authenticated user's organization is used.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DateLockStatus"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/timesheet/{id}/workflow": {
      "delete": {
        "tags": [
          "timesheet-controller"
        ],
        "summary": "Remove timesheet from workflow",
        "description": "Removes the specified timesheet entry from the workflow.",
        "operationId": "deleteFromWorkflow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/swissdec/incidents/{incidentId}/attachments/{attachmentId}": {
      "delete": {
        "tags": [
          "swissdec-incident-controller"
        ],
        "summary": "Remove an attachment that was not transmitted yet",
        "operationId": "deleteAttachment",
        "parameters": [
          {
            "name": "incidentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwissdecIncidentDto"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/sales-invoice/{id}/workflow": {
      "delete": {
        "tags": [
          "sales-invoice-controller"
        ],
        "summary": "Delete sales invoice from workflow",
        "description": "Removes the specified sales invoice from its workflow.",
        "operationId": "deleteFromWorkflow_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/purchase-invoice/{id}/workflow": {
      "delete": {
        "tags": [
          "purchase-invoice-controller"
        ],
        "summary": "Delete purchase invoice from workflow",
        "description": "Removes the specified purchase invoice from its workflow.",
        "operationId": "deleteFromWorkflow_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/orders/{id}/workflow": {
      "delete": {
        "tags": [
          "order-controller"
        ],
        "summary": "Delete order from workflow",
        "description": "Removes the specified order from its workflow.",
        "operationId": "deleteFromWorkflow_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/my-timesheet/{id}": {
      "delete": {
        "tags": [
          "my-timesheet-controller"
        ],
        "summary": "Delete timesheet by ID",
        "description": "Deletes the specified timesheet entry.",
        "operationId": "deleteTimesheet_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/document/large-to-export/{id}": {
      "delete": {
        "tags": [
          "large-document-export-controller"
        ],
        "summary": "Delete document by ID",
        "description": "Deletes a document by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "removeDocument_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Document ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    },
    "/api-v1/contact/{id}": {
      "delete": {
        "tags": [
          "contact-controller"
        ],
        "summary": "Delete contact by ID",
        "description": "Deletes a contact by ID. Returns 200 on success, or 400 if the deletion is not valid.",
        "operationId": "deleteContact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "WEAL-TOKEN",
            "in": "header",
            "description": "API token (can be retrieved from account settings)",
            "required": true,
            "schema": {}
          },
          {
            "name": "TARGET-ORGANIZATION-ID",
            "in": "header",
            "description": "ID of organization, for which the operation must be performed",
            "required": false,
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request"
          },
          "401": {
            "description": "401 Unauthorized"
          },
          "403": {
            "description": "403 Access Denied"
          },
          "404": {
            "description": "404 Not Found"
          },
          "500": {
            "description": "500 Internal Server Error"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AbsenceRequest": {
        "type": "object",
        "description": "Request model for creating an employee absence (vacation, sick leave, etc.)",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "employeeId": {
            "type": "integer",
            "format": "int64",
            "description": "Employee (staff) ID",
            "example": 12345678
          },
          "fromDate": {
            "type": "string",
            "format": "dd/MM/yyyy",
            "description": "Start date (format dd/MM/yyyy). Must not fall on a weekend, holiday, or locked accounting period",
            "example": "01/06/2026"
          },
          "toDate": {
            "type": "string",
            "format": "dd/MM/yyyy",
            "description": "End date (format dd/MM/yyyy). Must not be before the start date",
            "example": "03/06/2026"
          },
          "type": {
            "type": "string",
            "description": "Absence type",
            "enum": [
              "VACATION",
              "ACCIDENT",
              "SICKNESS",
              "MOVING_HOUSE",
              "MARRIAGE",
              "CHILD_BIRTH",
              "MOURNING",
              "ARMY_CIVIL_PROTECTION",
              "OTHER"
            ],
            "example": "VACATION"
          },
          "hours": {
            "type": "number",
            "description": "Number of hours",
            "example": 24.0
          },
          "comment": {
            "type": "string",
            "description": "Comment",
            "example": "Approved by manager"
          }
        },
        "required": [
          "employeeId",
          "fromDate",
          "hours",
          "type"
        ]
      },
      "Absence": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "employeeId": {
            "type": "integer",
            "format": "int64"
          },
          "fromDate": {
            "type": "string",
            "format": "dd/MM/yyyy",
            "minLength": 1
          },
          "toDate": {
            "type": "string",
            "format": "dd/MM/yyyy"
          },
          "type": {
            "type": "string",
            "enum": [
              "VACATION",
              "ACCIDENT",
              "SICKNESS",
              "MOVING_HOUSE",
              "MARRIAGE",
              "CHILD_BIRTH",
              "MOURNING",
              "ARMY_CIVIL_PROTECTION",
              "OTHER"
            ]
          },
          "hours": {
            "type": "number"
          },
          "comment": {
            "type": "string"
          }
        },
        "required": [
          "employeeId",
          "fromDate",
          "hours",
          "type"
        ]
      },
      "BatchUpdateResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BatchUpdateResponseItem"
            }
          }
        }
      },
      "BatchUpdateResponseItem": {
        "type": "object",
        "properties": {
          "errorCode": {
            "$ref": "#/components/schemas/ErrorCode"
          },
          "freshData": {
            "description": "Refreshed domain data"
          },
          "freshRow": {
            "description": "Refreshed table row data"
          },
          "possibleWorkflows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkflowBrief"
            },
            "uniqueItems": true
          },
          "error": {
            "type": "boolean"
          },
          "severeError": {
            "type": "boolean"
          }
        }
      },
      "ErrorCode": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string",
            "enum": [
              "NO_ERROR",
              "NOT_IMPLEMENTED_YET",
              "CONTACT_NOT_FOUND",
              "FIELD_REQUIRED",
              "VALIDATION_ERROR",
              "DUPLICATION_ERROR",
              "UNIQUE_CONSTRAINT_VIOLATION",
              "WRONG_PASSWORD_FORMAT",
              "WRONG_PASSWORD",
              "ACTION_DENIED",
              "NOT_FOUND",
              "EXPECTED_ONE_FILE",
              "UNIQUE_VIOLATION",
              "CONTENT_EMPTY",
              "INVALID_TYPE",
              "CONVERSION_ERROR",
              "FILE_PARSE_EXCEPTION",
              "IN_USE"
            ]
          },
          "errorDetailValues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErrorDetails"
            }
          }
        }
      },
      "ErrorDetails": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string"
          },
          "fieldName": {
            "type": "string"
          },
          "data": {
            "type": "string"
          },
          "isSevere": {
            "type": "boolean"
          }
        }
      },
      "WorkflowBrief": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "NewOtherEmployeeTimeEntry": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNSUBMITTED",
              "SUBMITTED",
              "REJECTED",
              "APPROVED",
              "BILLED"
            ]
          },
          "isBillable": {
            "type": "boolean"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "time": {
            "type": "string",
            "pattern": "^(\\d+[.]\\d{2})|$"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "employeeId": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "taskId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "clientId",
          "date",
          "employeeId",
          "orderId"
        ]
      },
      "UpdateResponse": {
        "type": "object",
        "properties": {
          "data": {},
          "error": {
            "$ref": "#/components/schemas/ErrorCode"
          },
          "valid": {
            "type": "boolean"
          }
        }
      },
      "SwissdecDialogMessageDto": {
        "type": "object",
        "properties": {
          "storyId": {
            "type": "string"
          },
          "standardDialogId": {
            "type": "string"
          },
          "creation": {
            "type": "string",
            "format": "date-time"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecDialogSectionDto"
            }
          },
          "paragraphs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecDialogParagraphDto"
            }
          }
        }
      },
      "SwissdecDialogParagraphDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "label": {
            "type": "string"
          },
          "sectionIdRef": {
            "type": "string"
          },
          "valueType": {
            "type": "string",
            "enum": [
              "STRING",
              "INTEGER",
              "DOUBLE",
              "BOOLEAN",
              "DATE",
              "DATE_TIME",
              "YES_NO_UNKNOWN",
              "AMOUNT"
            ]
          },
          "value": {
            "type": "string"
          },
          "answerType": {
            "type": "string",
            "enum": [
              "STRING",
              "INTEGER",
              "DOUBLE",
              "BOOLEAN",
              "DATE",
              "DATE_TIME",
              "YES_NO_UNKNOWN",
              "AMOUNT"
            ]
          },
          "answerDefault": {
            "type": "string"
          },
          "answerValue": {
            "type": "string"
          },
          "answerOptional": {
            "type": "boolean"
          },
          "problem": {
            "type": "string"
          }
        }
      },
      "SwissdecDialogSectionDto": {
        "type": "object",
        "properties": {
          "sectionId": {
            "type": "string"
          },
          "heading": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        }
      },
      "SwissdecIncidentAttachmentDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "filename": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "sentDate": {
            "type": "string",
            "format": "date-time"
          },
          "storyId": {
            "type": "string"
          }
        }
      },
      "SwissdecIncidentDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "staffId": {
            "type": "integer",
            "format": "int64"
          },
          "staffName": {
            "type": "string"
          },
          "staffAvsNumber": {
            "type": "string"
          },
          "domain": {
            "type": "string",
            "enum": [
              "AHV_AVS",
              "BVG_LPP",
              "UVG_LAA",
              "UVGZ_LAAC",
              "KTG_AMC",
              "FAK_CAF",
              "TAX",
              "TAX_AT_SOURCE",
              "TAX_CROSSBORDER",
              "STATISTIC",
              "UNEMPLOYMENT_CERTIFICATES"
            ]
          },
          "state": {
            "type": "string",
            "enum": [
              "DRAFT",
              "DECLARED",
              "DECLARED_WITH_WARNING",
              "IGNORED",
              "REJECTED",
              "FAULT",
              "COMMUNICATION_STOPPED"
            ]
          },
          "incidentDate": {
            "type": "string",
            "format": "date"
          },
          "incapacityToWorkFrom": {
            "type": "string",
            "format": "date"
          },
          "incidentScene": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "companyCaseId": {
            "type": "string"
          },
          "insuranceCaseId": {
            "type": "string"
          },
          "incidentCaseId": {
            "type": "string"
          },
          "testCase": {
            "type": "boolean"
          },
          "withoutContract": {
            "type": "boolean"
          },
          "processByDistributor": {
            "type": "boolean"
          },
          "insuranceCode": {
            "type": "string"
          },
          "endUserInformation": {
            "type": "string"
          },
          "detailInformation": {
            "type": "string"
          },
          "insuranceId": {
            "type": "string"
          },
          "insuranceCompanyName": {
            "type": "string"
          },
          "customerIdentity": {
            "type": "string"
          },
          "contractIdentity": {
            "type": "string"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "declaredDate": {
            "type": "string",
            "format": "date-time"
          },
          "lastSyncDate": {
            "type": "string",
            "format": "date-time"
          },
          "processState": {
            "type": "string"
          },
          "awaitedParts": {
            "type": "string"
          },
          "awaitedUntil": {
            "type": "string",
            "format": "date-time"
          },
          "requestId": {
            "type": "string"
          },
          "responseId": {
            "type": "string"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecIncidentAttachmentDto"
            }
          },
          "dialogMessages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecDialogMessageDto"
            }
          },
          "dialogReplyPending": {
            "type": "boolean"
          }
        }
      },
      "SplitPayment": {
        "type": "object",
        "properties": {
          "receivableByAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "valueDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "requestedAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "paidAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "bankCharges": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "lossOnDebtors": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          }
        },
        "required": [
          "valueDate"
        ]
      },
      "TemplateLineContentEntry": {
        "type": "object",
        "description": "Content entry linking a template line to an account or another line",
        "properties": {
          "lineId": {
            "type": "integer",
            "description": "ID of the template line that owns this content entry. Use a negative temporary ID (e.g. -1) when the parent line is new and not yet saved",
            "example": 12345678
          },
          "entityId": {
            "type": "integer",
            "description": "For ACCOUNTS type: chart-of-accounts entity ID. For CALCULATIONS type: ID of the referenced TemplateLine. If the referenced line is new, use the same negative temporary ID as the line's own ID",
            "example": 12345678
          }
        }
      },
      "TemplateLineRequest": {
        "type": "object",
        "description": "Request model for BALANCE_SHEET or PL report template line",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "reportType": {
            "type": "string",
            "description": "Discriminator field. Use BALANCE_SHEET or PL for this model",
            "enum": [
              "BALANCE_SHEET",
              "PL",
              "CASH_FLOW",
              "RATIOS",
              "END_OF_YEAR_ASSET",
              "END_OF_YEAR_LIABILITY",
              "END_OF_YEAR_INCOME_STATEMENT"
            ],
            "example": "BALANCE_SHEET"
          },
          "parentId": {
            "type": "integer",
            "description": "Parent line ID. Null for root lines",
            "example": 12345678
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "description": "Position among siblings",
            "example": 1
          },
          "localizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Localizations for the line name"
          },
          "lineType": {
            "type": "string",
            "description": "Line type: NONE, ACCOUNTS, CALCULATIONS",
            "enum": [
              "NONE",
              "ACCOUNTS",
              "CALCULATIONS"
            ],
            "example": "ACCOUNTS"
          },
          "lineSign": {
            "type": "string",
            "description": "Line sign: POSITIVE or NEGATIVE",
            "enum": [
              "ASSETS",
              "LIABILITY",
              "INCOME",
              "EXPENSE"
            ],
            "example": "POSITIVE"
          },
          "isPercentage": {
            "type": "boolean",
            "description": "Whether the line is displayed as a percentage",
            "example": false
          },
          "organizationId": {
            "type": "integer",
            "description": "Organization ID",
            "example": 12345678
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateLineContentEntry",
              "description": "Content entries. For ACCOUNTS type: entityId is a chart-of-accounts ID. For CALCULATIONS type: entityId is an ID of another TemplateLine. If the referenced line is new (not yet saved), entityId equals the same negative temporary ID as lineId."
            }
          },
          "children": {
            "type": "array",
            "description": "The children field has the same structure as this model (recursive tree).",
            "items": {
              "$ref": "#/components/schemas/TemplateLineRequest"
            }
          }
        }
      },
      "TranslationRequest": {
        "type": "object",
        "description": "Multilingual text field",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "en": {
            "type": "string",
            "example": "English translation"
          },
          "fr": {
            "type": "string",
            "example": "Traduction fran\u00e7aise"
          },
          "de": {
            "type": "string",
            "example": "Deutsche \u00dcbersetzung"
          },
          "it": {
            "type": "string",
            "example": "Traduzione in italiano"
          }
        }
      },
      "StaticTemplateLineRequest": {
        "type": "object",
        "description": "Request model for CASH_FLOW or RATIOS report template line",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "reportType": {
            "type": "string",
            "description": "Discriminator field. Use CASH_FLOW or RATIOS for this model",
            "enum": [
              "BALANCE_SHEET",
              "PL",
              "CASH_FLOW",
              "RATIOS",
              "END_OF_YEAR_ASSET",
              "END_OF_YEAR_LIABILITY",
              "END_OF_YEAR_INCOME_STATEMENT"
            ],
            "example": "CASH_FLOW"
          },
          "lineType": {
            "type": "string",
            "description": "Static report template line type",
            "enum": [
              "PROFIT_FOR_PERIOD",
              "DEPRECIATION_AND_IMPAIRMENT_LOSSES_ON_PROPERTY_AND_PLANT_AND_EQUIPMENT",
              "DEPRECIATION_ON_INVESTMENTS",
              "CHANGE_IN_OTHER_SHORT_TERM_RECEIVABLES",
              "CHANGE_IN_PRE_PAID_EXPENSES_AND_ACCRUED_INCOME",
              "CHANGE_IN_TRADE_ACCOUNT_PAYABLE",
              "CHANGE_IN_OTHER_SHORT_TERM_LIABILITIES",
              "CHANGE_IN_ACCRUED_EXPENSES_AND_DEFERRED_INCOME",
              "CHANGE_IN_PROVISIONS_FOR_TAXES",
              "CHANGE_IN_CASH_FLOW_RELATED_TO_INVESTMENTS",
              "CHANGE_IN_CASH_FLOW_RELATED_TO_FINANCING_ACTIVITIES",
              "CASH_POSITION",
              "TOTAL_OVERHEAD_COSTS",
              "CASH_POSITION_AT_START_DATE",
              "CASH_POSITION_AT_END_DATE",
              "CHANGE_IN_CASH_FLOW_RELATED_TO_OPERATIONAL_ACTIVITIES",
              "NET_CASH_CHANGE_1",
              "NET_CASH_CHANGE_2",
              "CASH_AND_CASH_EQUIVALENTS",
              "ACCOUNTS_RECEIVABLE",
              "CURRENT_LIABILITIES",
              "TOTAL_REVENUE",
              "GROSS_PROFIT",
              "NET_PROFIT",
              "SHORT_TERM_INVESTMENTS",
              "CURRENT_ASSETS",
              "TOTAL_ASSETS",
              "TOTAL_LIABILITIES",
              "LONG_TERM_DEBT",
              "SHAREHOLDER_S_EQUITY",
              "INVENTORY",
              "COST_OF_GOODS_SOLD",
              "EARNINGS_BEFORE_INTEREST_AND_TAX",
              "INTEREST_EXPENSE"
            ],
            "example": "PROFIT_FOR_PERIOD"
          },
          "templateLineIds": {
            "type": "array",
            "description": "IDs of TemplateLine entries to include in this static line",
            "items": {
              "type": "integer",
              "example": 12345678
            }
          }
        }
      },
      "ReportTemplateLine": {
        "type": "object",
        "discriminator": {
          "propertyName": "reportType"
        },
        "properties": {
          "reportType": {
            "type": "string",
            "enum": [
              "BALANCE_SHEET",
              "PL",
              "CASH_FLOW",
              "RATIOS",
              "END_OF_YEAR_ASSET",
              "END_OF_YEAR_LIABILITY",
              "END_OF_YEAR_INCOME_STATEMENT"
            ]
          }
        }
      },
      "StaticTemplateLine": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReportTemplateLine"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "lineType": {
                "type": "string",
                "enum": [
                  "PROFIT_FOR_PERIOD",
                  "DEPRECIATION_AND_IMPAIRMENT_LOSSES_ON_PROPERTY_AND_PLANT_AND_EQUIPMENT",
                  "DEPRECIATION_ON_INVESTMENTS",
                  "CHANGE_IN_OTHER_SHORT_TERM_RECEIVABLES",
                  "CHANGE_IN_PRE_PAID_EXPENSES_AND_ACCRUED_INCOME",
                  "CHANGE_IN_TRADE_ACCOUNT_PAYABLE",
                  "CHANGE_IN_OTHER_SHORT_TERM_LIABILITIES",
                  "CHANGE_IN_ACCRUED_EXPENSES_AND_DEFERRED_INCOME",
                  "CHANGE_IN_PROVISIONS_FOR_TAXES",
                  "CHANGE_IN_CASH_FLOW_RELATED_TO_INVESTMENTS",
                  "CHANGE_IN_CASH_FLOW_RELATED_TO_FINANCING_ACTIVITIES",
                  "CASH_POSITION",
                  "TOTAL_OVERHEAD_COSTS",
                  "CASH_POSITION_AT_START_DATE",
                  "CASH_POSITION_AT_END_DATE",
                  "CHANGE_IN_CASH_FLOW_RELATED_TO_OPERATIONAL_ACTIVITIES",
                  "NET_CASH_CHANGE_1",
                  "NET_CASH_CHANGE_2",
                  "CASH_AND_CASH_EQUIVALENTS",
                  "ACCOUNTS_RECEIVABLE",
                  "CURRENT_LIABILITIES",
                  "TOTAL_REVENUE",
                  "GROSS_PROFIT",
                  "NET_PROFIT",
                  "SHORT_TERM_INVESTMENTS",
                  "CURRENT_ASSETS",
                  "TOTAL_ASSETS",
                  "TOTAL_LIABILITIES",
                  "LONG_TERM_DEBT",
                  "SHAREHOLDER_S_EQUITY",
                  "INVENTORY",
                  "COST_OF_GOODS_SOLD",
                  "EARNINGS_BEFORE_INTEREST_AND_TAX",
                  "INTEREST_EXPENSE"
                ]
              },
              "templateLineIds": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                },
                "minItems": 1
              }
            }
          }
        ],
        "required": [
          "templateLineIds"
        ]
      },
      "TemplateLine": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReportTemplateLine"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "parentId": {
                "type": "integer",
                "format": "int64"
              },
              "position": {
                "type": "integer",
                "format": "int32"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TemplateLine"
                }
              },
              "content": {
                "type": "array",
                "items": {}
              },
              "localizations": {
                "$ref": "#/components/schemas/TranslationEntity"
              },
              "lineType": {
                "type": "string",
                "enum": [
                  "NONE",
                  "ACCOUNTS",
                  "CALCULATIONS"
                ]
              },
              "lineSign": {
                "type": "string",
                "enum": [
                  "ASSETS",
                  "LIABILITY",
                  "INCOME",
                  "EXPENSE"
                ]
              },
              "isPercentage": {
                "type": "boolean"
              },
              "warnings": {
                "type": "string"
              },
              "organizationId": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      },
      "TranslationEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "en": {
            "type": "string"
          },
          "fr": {
            "type": "string"
          },
          "de": {
            "type": "string"
          },
          "it": {
            "type": "string"
          }
        }
      },
      "DocumentTagReferenceRequest": {
        "type": "object",
        "description": "Document tag reference. Only id is required",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Tag ID",
            "example": 12345678
          }
        },
        "required": [
          "id"
        ]
      },
      "AmountRequest": {
        "type": "object",
        "description": "VAT breakdown line for a purchase invoice",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "vatRateId": {
            "type": "integer",
            "description": "VAT rate ID",
            "example": 12345678
          },
          "amountType": {
            "type": "string",
            "description": "Purchase amount type",
            "enum": [
              "NO_VAT",
              "VAT_RATE",
              "MANUAL"
            ],
            "example": "NO_VAT"
          },
          "net": {
            "type": "string",
            "description": "Net amount as string",
            "example": "100.00"
          },
          "vat": {
            "type": "string",
            "description": "VAT amount as string",
            "example": "7.70"
          },
          "vatType": {
            "type": "string",
            "description": "VAT type. Auto-filled from the invoice's vatType when not provided and this is a new line",
            "enum": [
              "NO_VAT",
              "NATIVE",
              "IMPORT_OF_SERVICE"
            ],
            "example": "NO_VAT"
          },
          "vatTypeCodeId": {
            "type": "integer",
            "description": "VAT type code ID. Auto-filled from the invoice's vatTypeCodeId when not provided and this is a new line",
            "example": 12345678
          }
        }
      },
      "ScanShipmentRequest": {
        "type": "object",
        "description": "Stock shipment linked to an attribution line of a purchase invoice scan",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "shipmentDate": {
            "type": "string",
            "description": "Shipment date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "articleId": {
            "type": "integer",
            "description": "Article ID",
            "example": 12345678
          },
          "quantity": {
            "type": "string",
            "description": "Quantity as string",
            "example": "10.000"
          },
          "totalCost": {
            "type": "number",
            "description": "Total cost",
            "example": 250.0
          },
          "generatedStockMovementId": {
            "type": "integer",
            "description": "ID of the stock movement generated for this shipment",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          },
          "attributionId": {
            "type": "integer",
            "description": "ID of the scan attribution this shipment belongs to",
            "example": 12345678
          }
        }
      },
      "ScanAttributionRequest": {
        "type": "object",
        "description": "Cost attribution line for a purchase invoice scan",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "chartOfAccountsId": {
            "type": "integer",
            "description": "Chart of accounts (expense category) ID",
            "example": 12345678
          },
          "dateFrom": {
            "type": "string",
            "description": "Accrual start date (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "dateTo": {
            "type": "string",
            "description": "Accrual end date (format dd/MM/yyyy)",
            "example": "31/03/2026"
          },
          "net": {
            "type": "string",
            "description": "Net amount as string",
            "example": "100.00"
          },
          "percent": {
            "type": "string",
            "description": "Percentage of the total invoice amount as string",
            "example": "100.00"
          },
          "departmentId": {
            "type": "integer",
            "description": "Department ID",
            "example": 12345678
          },
          "orderId": {
            "type": "integer",
            "description": "Order ID this attribution is charged to",
            "example": 12345678
          },
          "reBill": {
            "type": "boolean",
            "description": "Whether this attribution should be rebilled to the client",
            "example": false
          },
          "articleId": {
            "type": "integer",
            "description": "Article ID",
            "example": 12345678
          },
          "quantity": {
            "type": "string",
            "description": "Quantity as string",
            "example": "1.00"
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScanShipmentRequest",
              "description": "Shipment records for this attribution"
            }
          },
          "appliedAllocationRules": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Applied allocation rule identifiers"
            }
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          }
        }
      },
      "ScanPaymentRequest": {
        "type": "object",
        "description": "Payment record for a purchase invoice scan",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "requestedDate": {
            "type": "string",
            "description": "Requested payment date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "plannedDate": {
            "type": "string",
            "description": "Planned payment date (format dd/MM/yyyy)",
            "example": "05/06/2026"
          },
          "sentDate": {
            "type": "string",
            "description": "Date the payment was sent (format dd/MM/yyyy)",
            "example": "05/06/2026"
          },
          "valueDate": {
            "type": "string",
            "description": "Value date of the payment (format dd/MM/yyyy)",
            "example": "05/06/2026"
          },
          "requestedAmount": {
            "type": "string",
            "description": "Requested amount as string",
            "example": "1200.00"
          },
          "paidAmount": {
            "type": "string",
            "description": "Paid amount as string",
            "example": "1200.00"
          },
          "bankCharges": {
            "type": "string",
            "description": "Bank charges as string. Defaults to 0",
            "example": "0.00"
          },
          "payableByAccountId": {
            "type": "integer",
            "description": "Chart of accounts ID used as the payable-by account",
            "example": 12345678
          },
          "paymentType": {
            "type": "string",
            "description": "Payment type",
            "enum": [
              "BANK_TRANSFER",
              "BVR",
              "QR_BILL"
            ],
            "example": "BANK_TRANSFER"
          },
          "payableToBankId": {
            "type": "integer",
            "description": "Bank ID to pay to",
            "example": 12345678
          },
          "lineCode": {
            "type": "string",
            "description": "Payment line code",
            "example": "L001"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number",
            "example": "CH56 0483 5012 3456 7800 9"
          },
          "referenceNumber": {
            "type": "string",
            "description": "Payment reference number",
            "example": "210000000003139471430009017"
          },
          "qrBillData": {
            "type": "string",
            "description": "QR-bill data",
            "example": "SPC..."
          }
        }
      },
      "DocumentContactReferenceRequest": {
        "type": "object",
        "description": "Contact reference. Only id is required",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Contact ID",
            "example": 12345678
          }
        },
        "required": [
          "id"
        ]
      },
      "PurchaseInvoiceScanRequest": {
        "type": "object",
        "description": "Request model for creating or updating a purchase invoice scan",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "organizationId": {
            "type": "integer",
            "description": "Organization ID",
            "example": 12345678
          },
          "date": {
            "type": "string",
            "description": "Invoice date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "supplierId": {
            "type": "integer",
            "description": "Supplier contact ID",
            "example": 12345678
          },
          "currencyId": {
            "type": "integer",
            "description": "Currency ID",
            "example": 12345678
          },
          "reference": {
            "type": "string",
            "description": "Supplier invoice reference",
            "example": "INV-2026-001"
          },
          "description": {
            "type": "string",
            "description": "Invoice description",
            "example": "Office supplies"
          },
          "comment": {
            "type": "string",
            "description": "Internal comment",
            "example": "Scanned from paper"
          },
          "validated": {
            "type": "boolean",
            "description": "Whether validated",
            "example": false
          },
          "vatType": {
            "type": "string",
            "description": "VAT type",
            "enum": [
              "NO_VAT",
              "NATIVE",
              "IMPORT_OF_SERVICE"
            ],
            "example": "NO_VAT"
          },
          "vatTypeCodeId": {
            "type": "integer",
            "description": "VAT type code ID",
            "example": 12345678
          },
          "status": {
            "type": "string",
            "description": "Scan processing status",
            "enum": [
              "NEW",
              "PROCESS",
              "CONVERT",
              "RECOGNIZING"
            ],
            "example": "NEW"
          },
          "paymentChartId": {
            "type": "integer",
            "description": "Payment chart of accounts ID",
            "example": 12345678
          },
          "isOrganizationNameIncluded": {
            "type": "boolean",
            "description": "Whether the organization name is included in the scan",
            "example": true
          },
          "isTreatedByManagingOrganization": {
            "type": "boolean",
            "description": "Whether treated by the managing organization",
            "example": false
          },
          "payableTo": {
            "type": "integer",
            "description": "Payable-to contact ID",
            "example": 12345678
          },
          "document": {
            "$ref": "#/components/schemas/ScanDocumentRequest",
            "description": "Attached document (scanned receipt)"
          },
          "amounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AmountRequest",
              "description": "Invoice amount lines (VAT breakdown)"
            }
          },
          "attributions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScanAttributionRequest",
              "description": "Cost attributions"
            }
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScanPaymentRequest",
              "description": "Payment records"
            }
          }
        }
      },
      "ScanDocumentRequest": {
        "type": "object",
        "description": "Document record attached to a purchase invoice scan (e.g. the scanned receipt)",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "entityId": {
            "type": "integer",
            "description": "ID of the entity this document is attached to",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Document name",
            "example": "invoice_scan.pdf"
          },
          "fileId": {
            "type": "integer",
            "description": "Uploaded document file ID",
            "example": 12345678
          },
          "date": {
            "type": "string",
            "description": "Document date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentTagReferenceRequest"
            }
          },
          "contact": {
            "$ref": "#/components/schemas/DocumentContactReferenceRequest",
            "description": "Contact this document is associated with. Only id is required"
          },
          "module": {
            "type": "string",
            "description": "Module this document belongs to",
            "enum": [
              "PURCHASE_INVOICES_SCAN"
            ],
            "example": "PURCHASE_INVOICES_SCAN"
          },
          "comments": {
            "type": "string",
            "description": "Comments",
            "example": "Scanned from email attachment"
          },
          "isSystem": {
            "type": "boolean",
            "description": "Whether the document is system-generated",
            "example": false
          },
          "self": {
            "type": "boolean",
            "description": "Whether the document is self-uploaded by the current user",
            "example": true
          }
        },
        "required": [
          "fileId"
        ]
      },
      "Amount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "amountType": {
            "type": "string",
            "enum": [
              "NO_VAT",
              "VAT_RATE",
              "MANUAL"
            ]
          },
          "net": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "vat": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "vatType": {
            "type": "string",
            "enum": [
              "NO_VAT",
              "NATIVE",
              "IMPORT_OF_SERVICE"
            ]
          },
          "vatTypeCodeId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ContactBrief": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          }
        }
      },
      "Document": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "entityId": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "fileId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentTagEntity"
            }
          },
          "contact": {
            "$ref": "#/components/schemas/ContactBrief"
          },
          "module": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "comments": {
            "type": "string"
          },
          "createdBy": {
            "type": "string"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "fileExtension": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "isSystem": {
            "type": "boolean"
          },
          "self": {
            "type": "boolean"
          }
        },
        "required": [
          "date",
          "entityId",
          "fileId",
          "name"
        ]
      },
      "DocumentTagEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "PurchaseInvoiceScan": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "supplierId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "reference": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "comment": {
            "type": "string"
          },
          "validated": {
            "type": "boolean"
          },
          "vatType": {
            "type": "string",
            "enum": [
              "NO_VAT",
              "NATIVE",
              "IMPORT_OF_SERVICE"
            ]
          },
          "vatTypeCodeId": {
            "type": "integer",
            "format": "int64"
          },
          "amounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Amount"
            }
          },
          "attributions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScanAttribution"
            }
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScanPayment"
            }
          },
          "document": {
            "$ref": "#/components/schemas/Document"
          },
          "warnings": {
            "type": "string"
          },
          "isFromLockedAccountingPeriod": {
            "type": "boolean"
          },
          "paymentChartId": {
            "type": "integer",
            "format": "int64"
          },
          "status": {
            "type": "string",
            "enum": [
              "NEW",
              "PROCESS",
              "CONVERT",
              "RECOGNIZING"
            ]
          },
          "isOrganizationNameIncluded": {
            "type": "boolean"
          },
          "isTreatedByManagingOrganization": {
            "type": "boolean"
          }
        },
        "required": [
          "currencyId",
          "date",
          "supplierId"
        ]
      },
      "ScanAttribution": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "chartOfAccountsId": {
            "type": "integer",
            "format": "int64"
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "dateTo": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "net": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "percent": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "orderIdToDisplay": {
            "type": "string"
          },
          "reBillDate": {
            "type": "string",
            "format": "date-time"
          },
          "reBill": {
            "type": "boolean"
          },
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "quantity": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScanShipment"
            }
          },
          "appliedAllocationRules": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "readOnly": {
            "type": "boolean"
          }
        },
        "required": [
          "chartOfAccountsId",
          "dateFrom",
          "dateTo"
        ]
      },
      "ScanPayment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "requestedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "plannedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "sentDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "valueDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "requestedAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "paidAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "bankCharges": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "payableByAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "paymentType": {
            "type": "string",
            "enum": [
              "BANK_TRANSFER",
              "BVR",
              "QR_BILL"
            ]
          },
          "payableToBankId": {
            "type": "integer",
            "format": "int64"
          },
          "lineCode": {
            "type": "string"
          },
          "accountNumber": {
            "type": "string"
          },
          "referenceNumber": {
            "type": "string"
          },
          "qrBillData": {
            "type": "string"
          },
          "isFromLockedAccountingPeriod": {
            "type": "boolean"
          }
        },
        "required": [
          "paymentType",
          "requestedDate"
        ]
      },
      "ScanShipment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "shipmentDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "quantity": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "currencyCode": {
            "type": "string"
          },
          "totalCost": {
            "type": "number"
          },
          "generatedStockMovementId": {
            "type": "integer",
            "format": "int64"
          },
          "articleName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "articleIdSku": {
            "type": "string"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "attributionId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "Translation": {
        "type": "object",
        "properties": {
          "en": {
            "type": "string"
          },
          "fr": {
            "type": "string"
          },
          "de": {
            "type": "string"
          },
          "it": {
            "type": "string"
          }
        }
      },
      "DocumentFileReferenceRequest": {
        "type": "object",
        "description": "Reference to a document file previously uploaded through the file upload endpoint. Only id is required; it identifies the already-stored file to attach.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Document file ID",
            "example": 12345678
          }
        },
        "required": [
          "id"
        ]
      },
      "PdfTemplateRequest": {
        "type": "object",
        "description": "Request model for creating or updating a PDF template",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Template name",
            "example": "Invoice Template EN"
          },
          "templateType": {
            "type": "string",
            "description": "Template type",
            "enum": [
              "SALES_INVOICE",
              "LATE_NOTICE",
              "SALARY_SLIP",
              "MY_SALARY_SLIP",
              "SALES_ORDER",
              "VAT_REPORT",
              "DELIVERY_NOTE",
              "GENERAL_LEDGER"
            ],
            "example": "SALES_INVOICE"
          },
          "countryId": {
            "type": "integer",
            "description": "Country ID this template applies to. Required for certain document types by country",
            "example": 12345678
          },
          "sourceTemplate": {
            "$ref": "#/components/schemas/DocumentFileReferenceRequest",
            "description": "Reference to a previously uploaded source template file"
          },
          "previewTemplate": {
            "$ref": "#/components/schemas/DocumentFileReferenceRequest",
            "description": "Reference to a previously uploaded preview template file"
          },
          "previewImage": {
            "$ref": "#/components/schemas/DocumentFileReferenceRequest",
            "description": "Reference to a previously uploaded preview image file"
          },
          "isActive": {
            "type": "boolean",
            "description": "Whether the template is active",
            "example": true
          },
          "description": {
            "type": "string",
            "description": "Template description",
            "example": "Standard English invoice layout"
          }
        },
        "required": [
          "name",
          "sourceTemplate"
        ]
      },
      "DocumentFile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "fileExtension": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PdfTemplate": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "templateType": {
            "type": "string",
            "enum": [
              "SALES_INVOICE",
              "LATE_NOTICE",
              "SALARY_SLIP",
              "MY_SALARY_SLIP",
              "SALES_ORDER",
              "VAT_REPORT",
              "DELIVERY_NOTE",
              "GENERAL_LEDGER"
            ]
          },
          "countryId": {
            "type": "integer",
            "format": "int64"
          },
          "sourceTemplate": {
            "$ref": "#/components/schemas/DocumentFile"
          },
          "previewTemplate": {
            "$ref": "#/components/schemas/DocumentFile"
          },
          "previewImage": {
            "$ref": "#/components/schemas/DocumentFile"
          },
          "isActive": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "sourceTemplate"
        ]
      },
      "OrganizationCurrencyExchange": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "currencyFrom": {
            "type": "integer",
            "format": "int64"
          },
          "currencyTo": {
            "type": "integer",
            "format": "int64"
          },
          "rate": {
            "type": "number"
          }
        },
        "required": [
          "currencyFrom",
          "currencyTo",
          "date",
          "rate"
        ]
      },
      "AddressRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Address label / name",
            "example": "Main Office"
          },
          "line1": {
            "type": "string",
            "description": "Address line 1",
            "example": "123 Main Street"
          },
          "line2": {
            "type": "string",
            "description": "Address line 2",
            "example": "Suite 4B"
          },
          "city": {
            "type": "string",
            "description": "City",
            "example": "Geneva"
          },
          "region": {
            "$ref": "#/components/schemas/RegionRequest",
            "description": "Region"
          },
          "countryCode2": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code",
            "example": "CH"
          },
          "countryId": {
            "type": "integer",
            "description": "Country ID",
            "example": 12345678
          },
          "postCode": {
            "type": "string",
            "description": "Postal code",
            "example": "1200"
          },
          "houseNumber": {
            "type": "string",
            "description": "House number",
            "example": "42"
          },
          "toTheAttentionOf": {
            "type": "string",
            "description": "To the attention of",
            "example": "John Doe"
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "description": "Position order",
            "example": 1
          },
          "service": {
            "type": "string",
            "description": "Service label",
            "example": "HR"
          }
        }
      },
      "RegionRequest": {
        "type": "object",
        "description": "Reference to Region by id",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Region ID",
            "example": 206
          }
        }
      },
      "ContactBankRequest": {
        "type": "object",
        "description": "Bank account for a contact",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Bank account name / label",
            "example": "Main Account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number / IBAN",
            "example": "CH56 0483 5012 3456 7800 9"
          },
          "swiftBic": {
            "type": "string",
            "description": "SWIFT / BIC code",
            "example": "UBSWCHZH80A"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name",
            "example": "UBS AG"
          },
          "remark": {
            "type": "string",
            "description": "Remark or note",
            "example": "Primary account"
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "description": "Position order",
            "example": 1
          },
          "chartOfAccounts": {
            "type": "integer",
            "description": "Chart of accounts ID linked to this bank account",
            "example": 12345678
          },
          "accountHolderAddress": {
            "$ref": "#/components/schemas/AddressRequest",
            "description": "Custom account holder address. `Should be specified only if customHolder is set to true.`"
          },
          "customHolder": {
            "type": "boolean",
            "description": "Whether a custom account holder address is used",
            "example": false
          }
        }
      },
      "MyAccountRequest": {
        "type": "object",
        "description": "Request model for updating the current user's own account. Always updates the currently authenticated user's contact.",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First name",
            "example": "John"
          },
          "middleName": {
            "type": "string",
            "description": "Middle name",
            "example": "Paul"
          },
          "lastName": {
            "type": "string",
            "description": "Last name",
            "example": "Doe"
          },
          "nationalityCountryId": {
            "type": "integer",
            "format": "int64",
            "description": "Nationality country ID",
            "example": 12345678
          },
          "birthday": {
            "type": "string",
            "description": "Birthday (format dd/MM/yyyy)",
            "example": "15/03/1985"
          },
          "gender": {
            "type": "string",
            "description": "Gender",
            "enum": [
              "MALE",
              "FEMALE",
              "OTHER"
            ],
            "example": "MALE"
          },
          "defaultLanguage": {
            "type": "string",
            "description": "Default language",
            "enum": [
              "EN",
              "FR",
              "DE",
              "IT",
              "UNDEFINED"
            ],
            "example": "EN"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "+41 22 000 00 00"
          },
          "fax": {
            "type": "string",
            "description": "Fax number",
            "example": "+41 22 000 00 01"
          },
          "mobile": {
            "type": "string",
            "description": "Mobile number",
            "example": "+41 79 000 00 00"
          },
          "email": {
            "type": "string",
            "description": "Email address",
            "example": "john.doe@example.com"
          },
          "webSite": {
            "type": "string",
            "description": "Website URL",
            "example": "https://example.com"
          },
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AddressRequest"
            }
          },
          "banks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactBankRequest"
            }
          },
          "avatarId": {
            "type": "integer",
            "format": "int64",
            "description": "Avatar document ID",
            "example": 12345678
          },
          "defaultModule": {
            "type": "string",
            "description": "Default module shown after login",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ],
            "example": "PURCHASE_INVOICES"
          },
          "licenceType": {
            "type": "string",
            "description": "Licence type",
            "enum": [
              "FREE",
              "PREMIUM"
            ],
            "example": "STANDARD"
          },
          "archived": {
            "type": "boolean",
            "description": "Whether the account is archived",
            "example": false
          },
          "pdfPassword": {
            "type": "string",
            "description": "Password used to protect generated PDF payslips",
            "example": "secret123"
          },
          "ecorrespondence": {
            "type": "boolean"
          }
        },
        "required": [
          "email",
          "firstName",
          "lastName"
        ]
      },
      "Address": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "line1": {
            "type": "string"
          },
          "line2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "countryCode2": {
            "type": "string"
          },
          "postCode": {
            "type": "string"
          },
          "toTheAttentionOf": {
            "type": "string"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "houseNumber": {
            "type": "string"
          },
          "countryId": {
            "type": "integer",
            "format": "int64"
          },
          "service": {
            "type": "string"
          },
          "readOnly": {
            "type": "boolean"
          }
        },
        "required": [
          "countryId",
          "name"
        ]
      },
      "Bank": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "accountNumber": {
            "type": "string"
          },
          "qrIban": {
            "type": "string"
          },
          "isrCustomerNumber": {
            "type": "string"
          },
          "bankCustomerNumber": {
            "type": "string",
            "pattern": "^([1-9][0-9]*)*$"
          },
          "swiftBic": {
            "type": "string"
          },
          "bankName": {
            "type": "string"
          },
          "remark": {
            "type": "string"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "useForReconciliation": {
            "type": "boolean"
          },
          "chartOfAccounts": {
            "type": "integer",
            "format": "int64"
          },
          "accountHolderAddress": {
            "$ref": "#/components/schemas/Address"
          },
          "customHolder": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "MyAccount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "firstName": {
            "type": "string",
            "minLength": 1
          },
          "middleName": {
            "type": "string"
          },
          "lastName": {
            "type": "string",
            "minLength": 1
          },
          "nationalityCountryId": {
            "type": "integer",
            "format": "int64"
          },
          "birthday": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "gender": {
            "type": "string",
            "enum": [
              "MALE",
              "FEMALE",
              "OTHER"
            ]
          },
          "defaultLanguage": {
            "type": "string",
            "enum": [
              "EN",
              "FR",
              "DE",
              "IT",
              "UNDEFINED"
            ]
          },
          "phone": {
            "type": "string"
          },
          "fax": {
            "type": "string"
          },
          "mobile": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email",
            "minLength": 1
          },
          "webSite": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Address"
            }
          },
          "banks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Bank"
            }
          },
          "avatarId": {
            "type": "integer",
            "format": "int64"
          },
          "defaultModule": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "licenceType": {
            "type": "string",
            "enum": [
              "FREE",
              "PREMIUM"
            ]
          },
          "archived": {
            "type": "boolean"
          },
          "isFreeTier": {
            "type": "boolean"
          },
          "pdfPassword": {
            "type": "string"
          },
          "ecorrespondence": {
            "type": "boolean"
          }
        },
        "required": [
          "email",
          "firstName",
          "lastName"
        ]
      },
      "Region": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "taxMode": {
            "type": "string",
            "enum": [
              "ANNUALLY",
              "MONTHLY"
            ]
          }
        }
      },
      "EBilanTemplateLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "parentId": {
            "type": "integer",
            "format": "int64"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "qname": {
            "type": "string"
          },
          "positionReference": {
            "type": "string"
          },
          "reportType": {
            "type": "string",
            "enum": [
              "BALANCE_SHEET",
              "PL",
              "CASH_FLOW",
              "RATIOS",
              "END_OF_YEAR_ASSET",
              "END_OF_YEAR_LIABILITY",
              "END_OF_YEAR_INCOME_STATEMENT"
            ]
          },
          "lineType": {
            "type": "string",
            "enum": [
              "NONE",
              "ACCOUNTS",
              "CALCULATIONS"
            ]
          },
          "lineSign": {
            "type": "string",
            "enum": [
              "ASSETS",
              "LIABILITY",
              "INCOME",
              "EXPENSE"
            ]
          },
          "localizations": {
            "$ref": "#/components/schemas/TranslationEntity"
          },
          "accountIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "memberIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EBilanTemplateLine"
            }
          }
        }
      },
      "TagReferenceRequest": {
        "type": "object",
        "description": "Model for new tag entry creation",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "example": "Tag name"
          }
        }
      },
      "ContactIdOnly": {
        "type": "object",
        "description": "Reference to Contact by id",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Contact ID",
            "example": 12345678
          }
        }
      },
      "DocumentRequest": {
        "type": "object",
        "description": "Request model for document",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "entityId": {
            "type": "integer",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "example": "string"
          },
          "fileId": {
            "type": "integer",
            "example": 12345678
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagReferenceRequest",
              "description": "Document tag"
            }
          },
          "contact": {
            "$ref": "#/components/schemas/ContactIdOnly",
            "description": "Only id is required"
          },
          "module": {
            "type": "string",
            "enum": [
              "CONTACTS",
              "STOCK_MOVEMENTS",
              "JOURNAL",
              "ORGANIZATIONS",
              "PURCHASE_INVOICES",
              "SALARIES",
              "SALES_INVOICES",
              "ORDERS",
              "UNASSIGNED"
            ],
            "example": "UNASSIGNED"
          },
          "comments": {
            "type": "string",
            "example": "string"
          },
          "self": {
            "type": [
              "boolean",
              "null"
            ],
            "example": false
          }
        }
      },
      "CurrencyExchange": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "currencyFrom": {
            "type": "integer",
            "format": "int64"
          },
          "currencyTo": {
            "type": "integer",
            "format": "int64"
          },
          "rate": {
            "type": "number"
          }
        },
        "required": [
          "currencyFrom",
          "currencyTo",
          "date",
          "rate"
        ]
      },
      "ChartOfAccountsLocalizationsRequest": {
        "type": "object",
        "description": "Multilingual name for the chart of accounts entry",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "en": {
            "type": "string",
            "example": "Office supplies"
          },
          "fr": {
            "type": "string",
            "example": "Fournitures de bureau"
          },
          "de": {
            "type": "string",
            "example": "B\u00fcromaterial"
          },
          "it": {
            "type": "string",
            "example": "Forniture per ufficio"
          }
        }
      },
      "ChartOfAccountsRequest": {
        "type": "object",
        "description": "Request model for creating or updating a chart of accounts entry",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "currencyId": {
            "type": "integer",
            "description": "Currency ID",
            "example": 12345678
          },
          "businessUnitId": {
            "type": "integer",
            "description": "Business unit (department) ID",
            "example": 12345678
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number",
            "example": "123456"
          },
          "organizationId": {
            "type": "integer",
            "description": "Organization ID",
            "example": 12345678
          },
          "localizations": {
            "$ref": "#/components/schemas/ChartOfAccountsLocalizationsRequest",
            "description": "Multilingual name of the account"
          },
          "type": {
            "type": "string",
            "description": "Account type",
            "enum": [
              "BALANCE_SHEET",
              "PL",
              "SYSTEM"
            ],
            "example": "BALANCE_SHEET"
          },
          "isActive": {
            "type": "boolean",
            "description": "Whether the account is active",
            "example": true
          },
          "startDate": {
            "type": "string",
            "description": "Start date (format dd/MM/yyyy)",
            "example": "01/01/2024"
          },
          "endDate": {
            "type": "string",
            "description": "End date (format dd/MM/yyyy). Cannot be later than the previous day",
            "example": "31/12/2024"
          },
          "isPurchaseInvoicesEnabled": {
            "type": "boolean",
            "description": "Whether purchase invoices are enabled for this account",
            "example": false
          },
          "isSalesInvoicesEnabled": {
            "type": "boolean",
            "description": "Whether sales invoices are enabled for this account",
            "example": false
          },
          "isExpenseReportEnabled": {
            "type": "boolean",
            "description": "Whether expense reports are enabled for this account",
            "example": false
          },
          "isCashAccountEnabled": {
            "type": "boolean",
            "description": "Whether this account is a cash account",
            "example": false
          },
          "isPaymentMethodEnabled": {
            "type": "boolean",
            "description": "Whether this account is usable as a payment method",
            "example": false
          },
          "isFXAutoAdjustmentEnabled": {
            "type": "boolean",
            "description": "Whether FX auto-adjustment is enabled for this account",
            "example": false
          },
          "isBusinessUnitSplitEnabled": {
            "type": "boolean",
            "description": "Whether business unit split is enabled for this account",
            "example": false
          },
          "immobilizationChartOfAccountId": {
            "type": "integer",
            "description": "Immobilization chart of accounts ID. Only relevant when isPurchaseInvoicesEnabled=true, type=BALANCE_SHEET, and immobilizationType is one of the indirect types",
            "example": 12345678
          },
          "immobilizationType": {
            "type": "string",
            "description": "Immobilization type. Only relevant when isPurchaseInvoicesEnabled=true and type=BALANCE_SHEET",
            "enum": [
              "LINEAR_DEPRECIATION_DIRECT",
              "NON_LINEAR_DEPRECIATION_DIRECT",
              "LINEAR_DEPRECIATION_INDIRECT",
              "NON_LINEAR_DEPRECIATION_INDIRECT"
            ],
            "example": "LINEAR_DEPRECIATION_DIRECT"
          }
        },
        "required": [
          "accountNumber",
          "currencyId",
          "startDate",
          "type"
        ]
      },
      "ChartOfAccounts": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int64"
          },
          "accountNumber": {
            "type": "string",
            "minLength": 1,
            "pattern": "^([1-9][0-9]*)*$"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "localizations": {
            "$ref": "#/components/schemas/TranslationEntity"
          },
          "type": {
            "type": "string",
            "enum": [
              "BALANCE_SHEET",
              "PL",
              "SYSTEM"
            ]
          },
          "isActive": {
            "type": "boolean"
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "isPurchaseInvoicesEnabled": {
            "type": "boolean"
          },
          "isSalesInvoicesEnabled": {
            "type": "boolean"
          },
          "isExpenseReportEnabled": {
            "type": "boolean"
          },
          "isCashAccountEnabled": {
            "type": "boolean"
          },
          "isPaymentMethodEnabled": {
            "type": "boolean"
          },
          "isFXAutoAdjustmentEnabled": {
            "type": "boolean"
          },
          "isBusinessUnitSplitEnabled": {
            "type": "boolean"
          },
          "warnings": {
            "type": "string"
          },
          "immobilizationChartOfAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "immobilizationType": {
            "type": "string",
            "enum": [
              "LINEAR_DEPRECIATION_DIRECT",
              "NON_LINEAR_DEPRECIATION_DIRECT",
              "LINEAR_DEPRECIATION_INDIRECT",
              "NON_LINEAR_DEPRECIATION_INDIRECT"
            ]
          }
        },
        "required": [
          "accountNumber",
          "currencyId",
          "startDate",
          "type"
        ]
      },
      "BudgetEntry": {
        "type": "object",
        "description": "Budget entry line",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "reportLine": {
            "type": "integer",
            "example": 12345678
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "example": "2026-11-01T00:00:00.000Z"
          },
          "value": {
            "type": "number",
            "example": 5.55
          },
          "newValue": {
            "type": "number",
            "format": "double",
            "example": 5.55
          },
          "total": {
            "type": "number",
            "format": "double",
            "example": 5.55
          },
          "chart": {
            "type": "integer",
            "example": 12345678
          },
          "hasChildBudget": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "BudgetRequest": {
        "type": "object",
        "description": "Request model for budget",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "parent": {
            "type": "integer",
            "example": 12345678
          },
          "period": {
            "$ref": "#/components/schemas/PeriodIdOnly",
            "description": "Accounting period"
          },
          "name": {
            "type": "string",
            "example": "Budget name"
          },
          "reportType": {
            "type": "string",
            "enum": [
              "PL",
              "CASH_FLOW"
            ],
            "example": "PL"
          },
          "status": {
            "type": "string",
            "example": "ACTIVE"
          },
          "department": {
            "type": "integer",
            "example": 12345678
          },
          "article": {
            "type": "integer",
            "example": 12345678
          },
          "contact": {
            "type": "integer",
            "example": 12345678
          },
          "orderId": {
            "type": "integer",
            "example": 12345678
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetEntry"
            }
          },
          "officeId": {
            "type": "integer",
            "example": 12345678
          }
        }
      },
      "PeriodIdOnly": {
        "type": "object",
        "description": "Reference to Accounting period by id",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Accounting period ID",
            "example": 12345678
          }
        }
      },
      "ApiModelBudget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "parent": {
            "type": "integer",
            "format": "int64"
          },
          "period": {
            "$ref": "#/components/schemas/BudgetPeriod"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "reportType": {
            "type": "string",
            "enum": [
              "PL",
              "CASH_FLOW"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "INACTIVE"
            ]
          },
          "department": {
            "type": "integer",
            "format": "int64"
          },
          "article": {
            "type": "integer",
            "format": "int64"
          },
          "contact": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetEntry"
            }
          },
          "warnings": {
            "type": "string"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "isReadOnly": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "period"
        ]
      },
      "BudgetPeriod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "fiscalYear": {
            "type": "integer",
            "format": "int32"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id"
        ]
      },
      "ArticleCategoryRequest": {
        "type": "object",
        "description": "Request model for creating or updating an article category",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Category name",
            "example": "Office Supplies"
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "description": "Display order relative to other categories at the same level",
            "example": 1
          },
          "parentCategoryId": {
            "type": "integer",
            "description": "Parent category ID. Null for root categories",
            "example": 12345678
          },
          "organizationId": {
            "type": "integer",
            "description": "Organization ID",
            "example": 12345678
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleCategoryRequest",
              "description": "Child article categories (recursive)"
            }
          }
        },
        "required": [
          "name"
        ]
      },
      "ArticleCategory": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "parentCategoryId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleCategory"
            }
          }
        },
        "required": [
          "name"
        ]
      },
      "WorkflowBlockContactReferenceRequest": {
        "type": "object",
        "description": "Contact reference. Only id is required on input",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Contact ID",
            "example": 12345678
          }
        },
        "required": [
          "id"
        ]
      },
      "WorkflowBlockRequest": {
        "type": "object",
        "description": "Single step (block) within a workflow",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "position": {
            "type": "integer",
            "description": "Position of the block within the workflow",
            "example": 1
          },
          "blockType": {
            "type": "string",
            "description": "Block type",
            "enum": [
              "TRIGGER",
              "ACTION"
            ],
            "example": "APPROVAL"
          },
          "actionType": {
            "type": "string",
            "description": "Action type this block reacts to",
            "enum": [
              "ADVANCED_INVOICING",
              "CREATE",
              "DELETE",
              "GENERATE_PAYMENT",
              "GENERATE_PDF_SEND",
              "MODIFY",
              "NONE",
              "SEND_CONFIRMATION",
              "SEND_OFFER",
              "STATUS_BILLABLE",
              "STATUS_CONFIRMED",
              "SUBMIT",
              "VALIDATE"
            ],
            "example": "MODIFY"
          },
          "userGroupIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "User group IDs assigned to this block",
              "example": 12345678
            },
            "uniqueItems": true
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkflowBlockContactReferenceRequest",
              "description": "Users assigned to this block. Only id is required per entry"
            },
            "uniqueItems": true
          },
          "users2": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkflowBlockContactReferenceRequest",
              "description": "Secondary set of users assigned to this block. Only id is required per entry"
            },
            "uniqueItems": true
          },
          "userGroupIds2": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Secondary set of user group IDs assigned to this block",
              "example": 12345678
            },
            "uniqueItems": true
          },
          "isSystemUserGroup": {
            "type": "boolean",
            "description": "Whether the primary assignee is the system-defined user group",
            "example": false
          },
          "isSystemUserGroup2": {
            "type": "boolean",
            "description": "Whether the secondary assignee is the system-defined user group",
            "example": false
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkflowBlockContactReferenceRequest",
              "description": "Contacts to notify for this block. Only id is required per entry"
            }
          },
          "canModify": {
            "type": "boolean",
            "description": "Whether this block can be modified",
            "example": true
          },
          "filters": {
            "type": "string",
            "description": "JSON-stringified filter expression applied by this block",
            "example": {}
          },
          "generateParams": {
            "type": "string",
            "description": "JSON-stringified parameters used to generate documents/actions for this block",
            "example": {}
          }
        },
        "required": [
          "actionType",
          "blockType"
        ]
      },
      "WorkflowRequest": {
        "type": "object",
        "description": "Request model for creating or updating a workflow",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "moduleType": {
            "type": "string",
            "description": "Module this workflow applies to",
            "enum": [
              "SALES_INVOICES",
              "PURCHASE_INVOICES",
              "ORDERS",
              "TIME_DETAILS"
            ],
            "example": "PURCHASE_INVOICES"
          },
          "name": {
            "type": "string",
            "description": "Workflow name",
            "example": "Purchase Invoice Approval"
          },
          "description": {
            "type": "string",
            "description": "Workflow description",
            "example": "Requires manager approval above 1000 CHF"
          },
          "blocks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkflowBlockRequest",
              "description": "Ordered list of workflow blocks"
            }
          },
          "isActive": {
            "type": "boolean",
            "description": "Whether the workflow is active",
            "example": true
          }
        },
        "required": [
          "moduleType",
          "name"
        ]
      },
      "Workflow": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "moduleType": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "description": {
            "type": "string"
          },
          "blocks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkflowBlock"
            }
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "required": [
          "moduleType",
          "name"
        ]
      },
      "WorkflowBlock": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "position": {
            "type": "integer",
            "format": "int64"
          },
          "blockType": {
            "type": "string",
            "enum": [
              "TRIGGER",
              "ACTION"
            ]
          },
          "actionType": {
            "type": "string",
            "enum": [
              "ADVANCED_INVOICING",
              "CREATE",
              "DELETE",
              "GENERATE_PAYMENT",
              "GENERATE_PDF_SEND",
              "MODIFY",
              "NONE",
              "SEND_CONFIRMATION",
              "SEND_OFFER",
              "STATUS_BILLABLE",
              "STATUS_CONFIRMED",
              "SUBMIT",
              "VALIDATE"
            ]
          },
          "userGroupIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactBrief"
            },
            "uniqueItems": true
          },
          "users2": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactBrief"
            },
            "uniqueItems": true
          },
          "userGroupIds2": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          },
          "isSystemUserGroup": {
            "type": "boolean"
          },
          "isSystemUserGroup2": {
            "type": "boolean"
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactBrief"
            }
          },
          "canModify": {
            "type": "boolean"
          },
          "filters": {
            "type": "string"
          },
          "generateParams": {
            "type": "string"
          }
        },
        "required": [
          "actionType",
          "blockType"
        ]
      },
      "Widget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "templateNumber": {
            "type": "integer",
            "format": "int32"
          },
          "x": {
            "type": "integer",
            "format": "int32"
          },
          "y": {
            "type": "integer",
            "format": "int32"
          },
          "width": {
            "type": "integer",
            "format": "int32"
          },
          "height": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string",
            "enum": [
              "TREASURY",
              "PL_STATEMENT",
              "CASH_FLOW_STATEMENT",
              "GROSS_MARGIN",
              "NET_MARGIN",
              "AVERAGE_RECEIVABLES",
              "AVERAGE_PAYABLES",
              "AVERAGE_WEIGHTED_RECEIVABLES",
              "AVERAGE_WEIGHTED_PAYABLES",
              "LIQUIDITY_RATIO",
              "PAYABLES",
              "VAT",
              "INVOICES_FOR_REVIEW",
              "CASH_FLOW_CHART",
              "OUTSTANDING_RECEIVABLES",
              "FUTURE_PAYABLES",
              "INCOME_BREAKDOWN",
              "EXPENSE_BREAKDOWN",
              "MONTHLY_INCOME_EXPENSE",
              "PURCHASE_INVOICE_SCANS_UPLOAD",
              "INVOICE_SCANS",
              "ANNUAL_EMPLOYEE_COUNT",
              "NOTIFICATIONS",
              "WORKING_CAPITAL_REQUIREMENT",
              "DOCUMENT_SCANS",
              "ALERTS_ON_REGISTRY_OF_COMMERCE",
              "LINES_TO_BE_RECONCILED",
              "ACTIVE_USERS",
              "MONTHLY_LIQUIDITY"
            ]
          },
          "isRemoved": {
            "type": "boolean"
          },
          "filters": {
            "type": "string"
          }
        }
      },
      "Response": {},
      "BriefRoleRequest": {
        "type": "object",
        "description": "Role reference. Only id is required on input",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Role ID",
            "example": 12345678
          }
        },
        "required": [
          "id"
        ]
      },
      "UserGroupRequest": {
        "type": "object",
        "description": "Request model for creating or updating a user group",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "type": {
            "type": "string",
            "description": "User group type",
            "enum": [
              "GROUP",
              "SUPER_GROUP"
            ],
            "example": "STANDARD"
          },
          "name": {
            "type": "string",
            "description": "Group name",
            "example": "Finance Team"
          },
          "description": {
            "type": "string",
            "description": "Group description",
            "example": "Users with access to finance modules"
          },
          "userIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "User (contact) IDs directly in this group",
              "example": 12345678
            },
            "uniqueItems": true
          },
          "groupIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Nested user group IDs included in this group",
              "example": 12345678
            },
            "uniqueItems": true
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BriefRoleRequest",
              "description": "Organization-level roles assigned to this group"
            },
            "uniqueItems": true
          },
          "globalRoles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BriefRoleRequest",
              "description": "Global roles assigned to this group"
            },
            "uniqueItems": true
          },
          "isAdvanced": {
            "type": "boolean",
            "description": "Whether this group uses an advanced rule expression instead of explicit member lists",
            "example": false
          },
          "rule": {
            "type": "string",
            "description": "Advanced rule expression. Only relevant when isAdvanced is true",
            "example": "department == 'Finance'"
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "BriefRole": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "roleType": {
            "type": "string",
            "enum": [
              "ORGANIZATION",
              "GLOBAL"
            ]
          }
        }
      },
      "UserGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string",
            "enum": [
              "GROUP",
              "SUPER_GROUP"
            ]
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "description": {
            "type": "string"
          },
          "userIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          },
          "groupIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BriefRole"
            },
            "uniqueItems": true
          },
          "globalRoles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BriefRole"
            },
            "uniqueItems": true
          },
          "isAdvanced": {
            "type": "boolean"
          },
          "rule": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "TimesheetAdvancedQueryParametersObject": {
        "type": "object",
        "description": "Query parameters for advanced filtering/search of timesheet entries. All parameters are optional and combined with AND logic.",
        "properties": {
          "date": {
            "type": "string",
            "description": "Date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "example": ">=01/01/2026"
          },
          "employeeContactId": {
            "type": "string",
            "description": "Employee contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "example": "12345678"
          },
          "clientContactId": {
            "type": "string",
            "description": "Client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "example": "12345678"
          },
          "description": {
            "type": "string",
            "description": "Free-text description filter",
            "example": "Development work"
          },
          "time": {
            "type": "string",
            "description": "Time spent filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "example": "8"
          },
          "isBillable": {
            "type": "boolean",
            "description": "Whether the entry is billable",
            "example": true
          },
          "status": {
            "type": "string",
            "description": "Timesheet status filter",
            "enum": [
              "UNSUBMITTED",
              "SUBMITTED",
              "REJECTED",
              "APPROVED",
              "BILLED"
            ],
            "example": "SUBMITTED"
          },
          "billableAmount": {
            "type": "string",
            "description": "Billable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "example": "800.00"
          },
          "costAmount": {
            "type": "string",
            "description": "Cost amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "example": "500.00"
          },
          "taskName": {
            "type": "string",
            "description": "Task name filter",
            "example": "Frontend development"
          },
          "billableRate": {
            "type": "string",
            "description": "Billable rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "example": "100.00"
          },
          "costRate": {
            "type": "string",
            "description": "Cost rate filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "example": "60.00"
          },
          "departmentId": {
            "type": "string",
            "description": "Department ID filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "example": "12345678"
          },
          "orderId": {
            "type": "string",
            "description": "Order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "example": "12345678"
          },
          "isInWorkflow": {
            "type": "boolean",
            "description": "Whether the entry is currently part of an active workflow",
            "example": false
          },
          "orderContactId": {
            "type": "string",
            "description": "Order's client contact ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "example": "12345678"
          },
          "orderName": {
            "type": "string",
            "description": "Order name filter",
            "example": "Website Redesign"
          },
          "orderJoinedId": {
            "type": "string",
            "description": "Order joined ID filter",
            "example": "ORD-2026-001"
          },
          "orderStatus": {
            "type": "string",
            "description": "Order status filter",
            "example": "CONFIRMED"
          },
          "parentOrderId": {
            "type": "string",
            "description": "Parent order ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "example": "12345678"
          },
          "orderDepartmentId": {
            "type": "string",
            "description": "Order department ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "example": "12345678"
          },
          "orderHistoryStatus": {
            "type": "string",
            "description": "Order status history entry status filter",
            "enum": [
              "OFFERED",
              "OFFERED_SENT",
              "CONFIRMED",
              "CONFIRMED_SENT",
              "BILLABLE",
              "FINISHED",
              "CANCELLED"
            ],
            "example": "CONFIRMED"
          },
          "orderHistoryDate": {
            "type": "string",
            "description": "Order status history entry date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "example": ">=01/01/2026"
          },
          "orderVatRateId": {
            "type": "string",
            "description": "Order VAT rate ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "example": "12345678"
          },
          "orderRequestedPaymentTerms": {
            "type": "integer",
            "format": "int32",
            "description": "Order requested payment terms in days filter",
            "example": 30
          },
          "orderOurContactName": {
            "type": "string",
            "description": "Order's our contact name filter",
            "example": "John Doe"
          },
          "orderCurrencyId": {
            "type": "string",
            "description": "Order currency ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "example": "12345678"
          },
          "orderMinimumAmountToInvoice": {
            "type": "string",
            "description": "Order minimum invoiceable amount filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "example": "100.00"
          },
          "orderYourContactName": {
            "type": "string",
            "description": "Order's client internal contact name filter",
            "example": "Jane Smith"
          },
          "orderPeriodicityType": {
            "type": "string",
            "description": "Order periodicity type filter",
            "enum": [
              "NONE",
              "DAILY",
              "WEEKLY",
              "BI_WEEKLY",
              "EVERY_MONTH",
              "EVERY_2_MONTH",
              "EVERY_3_MONTH",
              "EVERY_4_MONTH",
              "EVERY_6_MONTH",
              "ANNUAL"
            ],
            "example": "EVERY_MONTH"
          },
          "orderDayOfWeek": {
            "type": "string",
            "description": "Order recurring invoicing day of week filter",
            "enum": [
              "MONDAY",
              "TUESDAY",
              "WEDNESDAY",
              "THURSDAY",
              "FRIDAY",
              "SATURDAY",
              "SUNDAY"
            ],
            "example": "MONDAY"
          },
          "orderInvoicingTime": {
            "type": "string",
            "description": "Order invoicing time filter",
            "enum": [
              "FIRST_DAY",
              "LAST_DAY",
              "FIRST_WORKING_DAY",
              "LAST_WORKING_DAY"
            ],
            "example": "FIRST_DAY"
          },
          "orderPeriodicityStartDate": {
            "type": "string",
            "description": "Order recurring periodicity start date filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li>01/01/2026..31/12/2026</li>\n    <li>>=01/01/2026</li>\n    <li><=01/01/2026</li>\n    <li><>01/01/2026</li>\n</ul>\nUse <>01/01/2026 to return only records where the selected date is not equal to the filter date.<br><br>\n",
            "example": ">=01/01/2026"
          },
          "orderIsDisbursementFeeEnabled": {
            "type": "boolean",
            "description": "Whether disbursement fee is enabled for the order",
            "example": false
          },
          "orderIsExpensesEnabled": {
            "type": "boolean",
            "description": "Whether expenses are enabled for the order",
            "example": false
          },
          "orderIsTimesheetsEnabled": {
            "type": "boolean",
            "description": "Whether timesheets are enabled for the order",
            "example": false
          },
          "orderFixedAmount": {
            "type": "string",
            "description": "Order fixed amount filter (for TIMESHEET_FIXED orders)Supports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "example": "5000.00"
          },
          "orderArticleId": {
            "type": "string",
            "description": "Order article ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "example": "12345678"
          },
          "orderArticleAmount": {
            "type": "string",
            "description": "Order article quantity filterSupports comparison operators:\n<ul>\n    <li>Range (<code> .. </code>)</li>\n    <li>Greater than (<code> > </code>)</li>\n    <li>Greater than or equal (<code> >= </code>)</li>\n    <li>Less than (<code> < </code>)</li>\n    <li>Less than or equal (<code> <= </code>)</li>\n    <li>Not equal (<code> <> </code>)</li>\n</ul>\nExamples:\n<ul>\n    <li> <=100.00 </li>\n    <li> >=100.00 </li>\n    <li> <>100.00 </li>\n    <li> 100.00..200.00 </li>\n</ul>\nUse <code><>0</code> to return only records where the selected amount is not equal to zero.<br><br>\n",
            "example": "5.00"
          },
          "orderArticleStatus": {
            "type": "string",
            "description": "Order article shipment status filter",
            "enum": [
              "SHIPPED",
              "PARTIALLY_SHIPPED",
              "NOT_SHIPPED",
              "SERVICE"
            ],
            "example": "SHIPPED"
          },
          "orderOfficeId": {
            "type": "string",
            "description": "Order office ID filter.<br><br>\nMulti-value supported. Example: value1;value2 <br><br>\n",
            "example": "12345678"
          }
        }
      },
      "TimesheetDetailsRequest": {
        "type": "object",
        "description": "Request model for updating a timesheet entry. This endpoint only supports updating an existing timesheet; id must reference an existing entity. Fields such as employee, client, order, task, billableRate, billableAmount and costRate are read-only and computed by the server \u2014 only the fields listed below are applied on update.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Timesheet ID. Must reference an existing entity",
            "example": 12345678
          },
          "date": {
            "type": "string",
            "description": "Date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "status": {
            "type": "string",
            "description": "Timesheet status",
            "enum": [
              "UNSUBMITTED",
              "SUBMITTED",
              "REJECTED",
              "APPROVED",
              "BILLED"
            ],
            "example": "SUBMITTED"
          },
          "description": {
            "type": "string",
            "description": "Description of the work performed",
            "example": "Frontend development"
          },
          "time": {
            "type": "string",
            "description": "Time spent, as a string with exactly two decimal places",
            "example": "8.00"
          },
          "isBillable": {
            "type": "boolean",
            "description": "Whether this time entry is billable",
            "example": true
          },
          "departmentId": {
            "type": "integer",
            "description": "Department ID. Send null to clear",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID. Send null to clear",
            "example": 12345678
          }
        },
        "required": [
          "date",
          "id",
          "time"
        ]
      },
      "SwissdecCompletionDto": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "expiryDate": {
            "type": "string",
            "format": "date-time"
          },
          "key": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        }
      },
      "SwissdecDeclarationDomainStatusDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "domain": {
            "type": "string",
            "enum": [
              "AHV_AVS",
              "BVG_LPP",
              "UVG_LAA",
              "UVGZ_LAAC",
              "KTG_AMC",
              "FAK_CAF",
              "TAX",
              "TAX_AT_SOURCE",
              "TAX_CROSSBORDER",
              "STATISTIC",
              "UNEMPLOYMENT_CERTIFICATES"
            ]
          },
          "institutionIdRef": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "enum": [
              "IGNORED",
              "PROCESSING",
              "ERROR",
              "SUCCESS"
            ]
          },
          "endUserInformation": {
            "type": "string"
          },
          "detailInformation": {
            "type": "string"
          },
          "canton": {
            "type": "string"
          },
          "responseCode": {
            "type": "string"
          },
          "institutionName": {
            "type": "string"
          },
          "responseId": {
            "type": "string"
          },
          "requestId": {
            "type": "string"
          },
          "completion": {
            "$ref": "#/components/schemas/SwissdecCompletionDto"
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecDeclarationNotificationDto"
            }
          },
          "warningCount": {
            "type": "integer",
            "format": "int32"
          },
          "infoCount": {
            "type": "integer",
            "format": "int32"
          },
          "processFlow": {
            "type": "string",
            "enum": [
              "COMPLETION_AND_RESULT",
              "DIALOG_AND_RESULT",
              "RESULT"
            ]
          },
          "resultAvailable": {
            "type": "boolean"
          },
          "dialogAvailable": {
            "type": "boolean"
          },
          "result": {
            "$ref": "#/components/schemas/SwissdecDomainResultDto"
          }
        }
      },
      "SwissdecDeclarationNotificationDto": {
        "type": "object",
        "properties": {
          "level": {
            "type": "string",
            "enum": [
              "WARNING",
              "INFO"
            ]
          },
          "qualityLevel": {
            "type": "string"
          },
          "descriptionCode": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "stage": {
            "type": "string",
            "enum": [
              "STATUS",
              "RESULT",
              "DIALOG"
            ]
          }
        }
      },
      "SwissdecDeclarationResultDto": {
        "type": "object",
        "properties": {
          "jobKey": {
            "type": "string"
          },
          "dispatched": {
            "type": "boolean"
          },
          "jobFinished": {
            "type": "boolean"
          },
          "resultStatus": {
            "type": "string",
            "enum": [
              "ACCEPTED",
              "PARTIAL",
              "REJECTED",
              "UNKNOWN"
            ]
          },
          "lastPolledDate": {
            "type": "string",
            "format": "date-time"
          },
          "pollPhase": {
            "type": "string",
            "enum": [
              "VALIDITY_CHECKING",
              "PROCESSING",
              "FINISHED",
              "FAULT"
            ]
          },
          "pollCount": {
            "type": "integer",
            "format": "int32"
          },
          "lastPollError": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "IN_PROGRESS",
              "SUCCESS",
              "FAILED"
            ]
          },
          "validationError": {
            "type": "string"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "domains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecDeclarationDomainStatusDto"
            }
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32"
          },
          "declarationKind": {
            "type": "string"
          },
          "monthType": {
            "type": "string"
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecDeclarationNotificationDto"
            }
          },
          "testCase": {
            "type": "boolean"
          },
          "declarationId": {
            "type": "string"
          },
          "requestId": {
            "type": "string"
          },
          "responseId": {
            "type": "string"
          },
          "predecessorJobKey": {
            "type": "string"
          },
          "predecessorDeclarationId": {
            "type": "string"
          },
          "substitutedByJobKey": {
            "type": "string"
          },
          "substitutedByDeclarationId": {
            "type": "string"
          },
          "signedRequestArchived": {
            "type": "boolean"
          },
          "signedResponseArchived": {
            "type": "boolean"
          },
          "substituted": {
            "type": "boolean"
          }
        }
      },
      "SwissdecDomainResultDto": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "enum": [
              "NOT_SUPPORTED",
              "COMPLETION_RELEASE_IS_MISSING",
              "PROCESSING",
              "ERROR",
              "FAULT",
              "SUCCESS"
            ]
          },
          "fetchedDate": {
            "type": "string",
            "format": "date-time"
          },
          "expectedAvailability": {
            "type": "string",
            "format": "date-time"
          },
          "endUserInformation": {
            "type": "string"
          },
          "detailInformation": {
            "type": "string"
          },
          "responseId": {
            "type": "string"
          },
          "requestId": {
            "type": "string"
          },
          "institutionName": {
            "type": "string"
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecDeclarationNotificationDto"
            }
          },
          "warningCount": {
            "type": "integer",
            "format": "int32"
          },
          "infoCount": {
            "type": "integer",
            "format": "int32"
          },
          "requestArchived": {
            "type": "boolean"
          },
          "responseArchived": {
            "type": "boolean"
          }
        }
      },
      "SwissdecDialogDto": {
        "type": "object",
        "properties": {
          "domainStatusId": {
            "type": "integer",
            "format": "int64"
          },
          "domain": {
            "type": "string",
            "enum": [
              "AHV_AVS",
              "BVG_LPP",
              "UVG_LAA",
              "UVGZ_LAAC",
              "KTG_AMC",
              "FAK_CAF",
              "TAX",
              "TAX_AT_SOURCE",
              "TAX_CROSSBORDER",
              "STATISTIC",
              "UNEMPLOYMENT_CERTIFICATES"
            ]
          },
          "institutionIdRef": {
            "type": "string"
          },
          "institutionName": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "enum": [
              "OPEN",
              "COMPLETED",
              "PROCESSING",
              "ERROR",
              "NOT_SUPPORTED",
              "FAULT"
            ]
          },
          "fetchedDate": {
            "type": "string",
            "format": "date-time"
          },
          "expectedAvailability": {
            "type": "string",
            "format": "date-time"
          },
          "endUserInformation": {
            "type": "string"
          },
          "detailInformation": {
            "type": "string"
          },
          "responseId": {
            "type": "string"
          },
          "requestId": {
            "type": "string"
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecDeclarationNotificationDto"
            }
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecDialogMessageDto"
            }
          },
          "pollStoryId": {
            "type": "string"
          },
          "pollPreviousStoryId": {
            "type": "string"
          }
        }
      },
      "SwissdecDialogReplyDto": {
        "type": "object",
        "properties": {
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecDialogMessageDto"
            }
          }
        }
      },
      "SwissdecDialogPollDto": {
        "type": "object",
        "properties": {
          "storyId": {
            "type": "string"
          },
          "previousStoryId": {
            "type": "string"
          }
        }
      },
      "SalaryDeclarationDispatchDto": {
        "type": "object",
        "properties": {
          "jobKey": {
            "type": "string"
          },
          "declarationId": {
            "type": "string"
          },
          "responseId": {
            "type": "string"
          },
          "requestId": {
            "type": "string"
          }
        }
      },
      "SalaryDeclarationValidationDto": {
        "type": "object",
        "properties": {
          "jobKey": {
            "type": "string"
          },
          "valid": {
            "type": "boolean"
          },
          "validationError": {
            "type": "string"
          },
          "filePath": {
            "type": "string"
          }
        }
      },
      "SwissdecRectificationRequestDto": {
        "type": "object",
        "properties": {
          "staffIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "originalDate": {
            "type": "string",
            "format": "date"
          },
          "remark": {
            "type": "string"
          }
        }
      },
      "SwissdecOrganizationCertificateDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "NONE",
              "PENDING",
              "ACTIVE",
              "EXPIRED",
              "FAILED"
            ]
          },
          "subjectUid": {
            "type": "string"
          },
          "validFrom": {
            "type": "string",
            "format": "date-time"
          },
          "validTo": {
            "type": "string",
            "format": "date-time"
          },
          "errorMessage": {
            "type": "string"
          },
          "processing": {
            "type": "boolean"
          },
          "processingExpectedAvailability": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "SwissdecLineMappingDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "ahvAvsLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "bvgLppOrdinaryLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "bvgLppRepurchaseLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "uvgLaaLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "uvgzLaacLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "uvgzLaacExcessLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "ktgAmcLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "fakCafLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "taxAtSourceLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "statisticLineBases": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "enum": [
                "GROSS_BASE_SALARY_AND_REGULAR_ALLOWANCE",
                "ALLOWANCES",
                "FAMILY_INCOME_SUPPLEMENT",
                "PAYMENTS_BY_THIRD",
                "SOCIAL_CONTRIBUTIONS",
                "BVG_LPP_REGULAR_CONTRIBUTION",
                "OVERTIME",
                "EARNINGS_13TH",
                "SPORADIC_BENEFITS",
                "FRINGE_BENEFITS",
                "CAPITAL_PAYMENT",
                "OTHER_BENEFITS"
              ]
            }
          }
        }
      },
      "Group": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "enum": [
              "AHV_AVS",
              "BVG_LPP",
              "UVG_LAA",
              "UVGZ_LAAC",
              "KTG_AMC",
              "FAK_CAF",
              "TAX",
              "TAX_AT_SOURCE",
              "TAX_CROSSBORDER",
              "STATISTIC",
              "UNEMPLOYMENT_CERTIFICATES"
            ]
          },
          "insuranceId": {
            "type": "string"
          },
          "insuranceCompanyName": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "WARNING",
              "FAULT",
              "SKIPPED"
            ]
          },
          "endUserInformation": {
            "type": "string"
          },
          "detailInformation": {
            "type": "string"
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "incidentIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        }
      },
      "SwissdecIncidentSyncResultDto": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Group"
            }
          },
          "incidents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecIncidentDto"
            }
          }
        }
      },
      "SalesInvoiceUserValidatedView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "client": {
            "type": "string"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "reference": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "referenceAndDescriptionJoined": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "netAmount": {
            "type": "number"
          },
          "totalAmount": {
            "type": "number"
          },
          "receivable": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "OPEN",
              "UNPAID",
              "PAID",
              "PARTIALLY_PAID",
              "OVERDUE",
              "PRO_FORMA"
            ]
          },
          "comments": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "ourContactName": {
            "type": "string"
          },
          "clientEmail": {
            "type": "string"
          },
          "clientAdvancedInvoicingNote": {
            "type": "string"
          },
          "clientECorrespondence": {
            "type": "boolean"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "bvrGenerationAvailability": {
            "type": "boolean"
          },
          "qrGenerationAvailability": {
            "type": "boolean"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "validated": {
            "type": "boolean"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "hasComments": {
            "type": "boolean"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "clientBillingEmail": {
            "type": "string"
          },
          "hasShipments": {
            "type": "boolean"
          },
          "isDocSent": {
            "type": "boolean"
          },
          "validatorUserIdsSize": {
            "type": "integer",
            "format": "int64"
          },
          "realValidated": {
            "type": "boolean"
          },
          "validatorUserIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "inWorkflow": {
            "type": "boolean"
          }
        }
      },
      "SalesInvoiceView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "client": {
            "type": "string"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "reference": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "referenceAndDescriptionJoined": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "netAmount": {
            "type": "number"
          },
          "totalAmount": {
            "type": "number"
          },
          "receivable": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "OPEN",
              "UNPAID",
              "PAID",
              "PARTIALLY_PAID",
              "OVERDUE",
              "PRO_FORMA"
            ]
          },
          "comments": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "ourContactName": {
            "type": "string"
          },
          "clientEmail": {
            "type": "string"
          },
          "clientAdvancedInvoicingNote": {
            "type": "string"
          },
          "clientECorrespondence": {
            "type": "boolean"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "bvrGenerationAvailability": {
            "type": "boolean"
          },
          "qrGenerationAvailability": {
            "type": "boolean"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "validated": {
            "type": "boolean"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "hasComments": {
            "type": "boolean"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "clientBillingEmail": {
            "type": "string"
          },
          "hasShipments": {
            "type": "boolean"
          },
          "isDocSent": {
            "type": "boolean"
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "inWorkflow": {
            "type": "boolean"
          }
        }
      },
      "StockMovementLineRequest": {
        "type": "object",
        "description": "Request model for creating or updating a stock movement",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "date": {
            "type": "string",
            "description": "Movement date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "movementDirection": {
            "type": "string",
            "description": "Movement direction",
            "enum": [
              "IN",
              "OUT"
            ],
            "example": "IN"
          },
          "type": {
            "type": "string",
            "description": "Movement type",
            "enum": [
              "MANUAL",
              "SHIPMENT"
            ],
            "example": "MANUAL"
          },
          "articleId": {
            "type": "integer",
            "description": "Article ID",
            "example": 12345678
          },
          "ean": {
            "type": "string",
            "description": "EAN barcode (alternative to articleId)",
            "example": "4006381333931"
          },
          "quantity": {
            "type": "string",
            "description": "Quantity as string",
            "example": "10.000"
          },
          "currencyId": {
            "type": "integer",
            "description": "Currency ID",
            "example": 12345678
          },
          "cost": {
            "type": "string",
            "description": "Unit cost as string",
            "example": "25.00"
          },
          "comment": {
            "type": "string",
            "description": "Comment or note",
            "example": "Initial stock entry"
          },
          "organizationId": {
            "type": "integer",
            "description": "Organization ID",
            "example": 12345678
          },
          "departmentId": {
            "type": "integer",
            "description": "Department ID",
            "example": 12345678
          },
          "contactId": {
            "type": "integer",
            "description": "Contact ID",
            "example": 12345678
          },
          "orderId": {
            "type": "integer",
            "description": "Order ID",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          }
        },
        "required": [
          "currencyId",
          "date",
          "movementDirection",
          "officeId",
          "type"
        ]
      },
      "SalesInvoiceLineRequest": {
        "type": "object",
        "description": "Line item of a sales invoice",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "tempId": {
            "type": "integer",
            "description": "Temporary negative ID used to reference this line from invoiceLinesLayout before it is saved",
            "example": -1
          },
          "lineType": {
            "type": "string",
            "description": "Line type",
            "enum": [
              "ARTICLE",
              "NO_ARTICLE",
              "TIMESHEET",
              "EXPENSES",
              "DISBURSEMENT",
              "HEADER",
              "FIXED_ASSET"
            ],
            "example": "ARTICLE"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity",
            "example": 5.0
          },
          "articleId": {
            "type": "integer",
            "description": "Article ID",
            "example": 12345678
          },
          "description": {
            "type": "string",
            "description": "Line description",
            "example": "Consulting hours"
          },
          "longDescription": {
            "type": "string",
            "description": "Long description"
          },
          "netUnitPrice": {
            "type": "number",
            "description": "Net unit price",
            "example": 150.0
          },
          "discount": {
            "type": "number",
            "description": "Discount percentage. Defaults to 0",
            "example": 0.0
          },
          "totalNet": {
            "type": "number",
            "description": "Net total",
            "example": 750.0
          },
          "vatRateId": {
            "type": "integer",
            "description": "VAT rate ID. Send null or -1 for no VAT",
            "example": 12345678
          },
          "vat": {
            "type": "number",
            "description": "VAT amount",
            "example": 58.5
          },
          "totalPrice": {
            "type": "number",
            "description": "Total price including VAT",
            "example": 808.5
          },
          "saleAccountId": {
            "type": "integer",
            "description": "Sale chart of accounts ID",
            "example": 12345678
          },
          "departmentId": {
            "type": "integer",
            "description": "Department ID",
            "example": 12345678
          },
          "allocationKey": {
            "type": "string",
            "description": "Allocation key",
            "example": "50/50"
          },
          "appliedAllocationRules": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Applied allocation rules"
            }
          },
          "vatTypeCodeId": {
            "type": "integer",
            "description": "VAT type code ID",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          }
        }
      },
      "SalesInvoiceLineLayoutRequest": {
        "type": "object",
        "description": "Layout tree node grouping and ordering sales invoice lines. Processed into a materialized path structure on the server; the recursive children field is required to define the tree since the server does not use a flat parentId reference for this endpoint.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Layout node ID. Negative value = new node, will be created and not linked to an existing entity",
            "example": -1
          },
          "name": {
            "type": "string",
            "description": "Display name for HEADER type nodes",
            "example": "Consulting Services"
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "description": "Position among siblings",
            "example": 1
          },
          "lineType": {
            "type": "string",
            "description": "Layout node type",
            "enum": [
              "ARTICLE",
              "NO_ARTICLE",
              "TIMESHEET",
              "EXPENSES",
              "DISBURSEMENT",
              "HEADER",
              "FIXED_ASSET"
            ],
            "example": "HEADER"
          },
          "salesInvoiceLineId": {
            "type": "integer",
            "description": "ID of the sales invoice line this node refers to. Applicable when lineType is not HEADER. May be a negative temporary ID matching a new line's tempId",
            "example": 12345678
          },
          "sourceOrderId": {
            "type": "integer",
            "description": "Source order ID this layout node originates from",
            "example": 12345678
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesInvoiceLineLayoutRequest",
              "description": "Child layout nodes (recursive)"
            }
          }
        }
      },
      "SalesPaymentRequest": {
        "type": "object",
        "description": "Payment record for a sales invoice",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "receivableByAccountId": {
            "type": "integer",
            "description": "Receivable chart of accounts ID",
            "example": 12345678
          },
          "requestedDate": {
            "type": "string",
            "description": "Requested payment date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "overdueDate": {
            "type": "string",
            "description": "Overdue date (format dd/MM/yyyy)",
            "example": "15/07/2026"
          },
          "valueDate": {
            "type": "string",
            "description": "Value date of the payment (format dd/MM/yyyy)",
            "example": "05/06/2026"
          },
          "sentDate": {
            "type": "string",
            "description": "Date the payment was sent (format dd/MM/yyyy)",
            "example": "05/06/2026"
          },
          "requestedAmount": {
            "type": "string",
            "description": "Requested amount as string",
            "example": "1200.00"
          },
          "paidAmount": {
            "type": "string",
            "description": "Paid amount as string",
            "example": "1200.00"
          },
          "bankCharges": {
            "type": "string",
            "description": "Bank charges as string",
            "example": "5.00"
          },
          "lossOnDebtors": {
            "type": "string",
            "description": "Loss on debtors as string. Defaults to 0",
            "example": "0.00"
          },
          "qrBillData": {
            "type": "string",
            "description": "QR-bill data",
            "example": "SPC..."
          },
          "qrReferenceNumber": {
            "type": "string",
            "description": "QR reference number, write-only",
            "example": "210000000003139471430009017"
          }
        }
      },
      "InvoiceTimesheetInfoRequest": {
        "type": "object",
        "description": "Timesheet entry billed through a sales invoice",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "date": {
            "type": "string",
            "description": "Date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "Development work"
          },
          "time": {
            "type": "string",
            "description": "Time spent as string, in hours",
            "example": "8.00"
          },
          "billableAmount": {
            "type": "string",
            "description": "Billable amount as string",
            "example": "800.00"
          },
          "billableRate": {
            "type": "string",
            "description": "Billable rate as string",
            "example": "100.00"
          },
          "employeeContactId": {
            "type": "integer",
            "description": "Employee contact ID",
            "example": 12345678
          },
          "originalTimesheetId": {
            "type": "integer",
            "description": "Original timesheet entry ID this billing line originates from",
            "example": 12345678
          },
          "employeeTaskId": {
            "type": "integer",
            "description": "Employee task ID",
            "example": 12345678
          }
        }
      },
      "SalesInvoiceRequest": {
        "type": "object",
        "description": "Request model for creating or updating a sales invoice",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "journalEntryId": {
            "type": "integer",
            "description": "Journal entry ID",
            "example": 12345678
          },
          "number": {
            "type": "string",
            "description": "Invoice number",
            "example": "2026-0001"
          },
          "date": {
            "type": "string",
            "description": "Invoice date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "clientId": {
            "type": "integer",
            "description": "Client contact ID",
            "example": 12345678
          },
          "clientAddressId": {
            "type": "integer",
            "description": "Client address ID",
            "example": 12345678
          },
          "address": {
            "$ref": "#/components/schemas/AddressRequest",
            "description": "Invoice client address. If clientAddressId is not provided, a new invoice client address can be specified."
          },
          "ourContactId": {
            "type": "integer",
            "description": "Our contact ID",
            "example": 12345678
          },
          "yourContactId": {
            "type": "integer",
            "description": "Client's internal contact ID",
            "example": 12345678
          },
          "clientName": {
            "type": "string",
            "description": "Client name for display",
            "example": "Acme Corp"
          },
          "reference": {
            "type": "string",
            "description": "Internal reference",
            "example": "REF-2026-001"
          },
          "yourReference": {
            "type": "string",
            "description": "Client's reference",
            "example": "PO-2026-100"
          },
          "currencyId": {
            "type": "integer",
            "description": "Currency ID",
            "example": 12345678
          },
          "description": {
            "type": "string",
            "description": "Invoice description",
            "example": "Consulting services Q2 2026"
          },
          "comments": {
            "type": "string",
            "description": "Internal comments",
            "example": "Approved by finance"
          },
          "receivableAccountId": {
            "type": "integer",
            "description": "Receivable chart of accounts ID",
            "example": 12345678
          },
          "vatTypeCodeId": {
            "type": "integer",
            "description": "VAT type code ID",
            "example": 12345678
          },
          "excludedFromVat": {
            "type": "boolean",
            "description": "Whether this invoice is excluded from VAT reporting",
            "example": false
          },
          "accrualFrom": {
            "type": "string",
            "description": "Accrual period start date (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "accrualTo": {
            "type": "string",
            "description": "Accrual period end date (format dd/MM/yyyy)",
            "example": "31/03/2026"
          },
          "validated": {
            "type": "boolean",
            "description": "Whether the invoice is validated. Only applied if the current user has validation permission",
            "example": false
          },
          "invoiceLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesInvoiceLineRequest"
            }
          },
          "invoiceLinesLayout": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesInvoiceLineLayoutRequest"
            }
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesPaymentRequest"
            }
          },
          "timesheetInfoItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvoiceTimesheetInfoRequest"
            }
          }
        },
        "required": [
          "date"
        ]
      },
      "InvoiceTimesheetInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "description": {
            "type": "string"
          },
          "time": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "billableAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "billableRate": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "employeeContactId": {
            "type": "integer",
            "format": "int64"
          },
          "originalTimesheetId": {
            "type": "integer",
            "format": "int64"
          },
          "employeeTaskId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OrderShipment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "shipmentDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "quantity": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "currencyCode": {
            "type": "string"
          },
          "totalCost": {
            "type": "number"
          },
          "generatedStockMovementId": {
            "type": "integer",
            "format": "int64"
          },
          "articleName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "articleIdSku": {
            "type": "string"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "orderArticleId": {
            "type": "integer",
            "format": "int64"
          },
          "salesInvoiceLineId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SalesInvoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "journalEntryId": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "clientAddressId": {
            "type": "integer",
            "format": "int64"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "ourContactId": {
            "type": "integer",
            "format": "int64"
          },
          "yourContactId": {
            "type": "integer",
            "format": "int64"
          },
          "clientName": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "yourReference": {
            "type": "string"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": "string"
          },
          "comments": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "receivableAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "vatTypeCodeId": {
            "type": "integer",
            "format": "int64"
          },
          "excludedFromVat": {
            "type": "boolean"
          },
          "invoiceLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesInvoiceLine"
            },
            "minItems": 1
          },
          "invoiceLinesLayout": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesInvoiceLineLayout"
            }
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesPayment"
            }
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderShipment"
            }
          },
          "timesheetInfoItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvoiceTimesheetInfo"
            }
          },
          "sourceOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "sourceSubOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "bvrGenerationAvailability": {
            "type": "boolean"
          },
          "qrGenerationAvailability": {
            "type": "boolean"
          },
          "isFromLockedAccountingPeriod": {
            "type": "boolean"
          },
          "isContainsFixedAsset": {
            "type": "boolean"
          },
          "accrualFrom": {
            "type": "string"
          },
          "accrualTo": {
            "type": "string"
          },
          "accrualEntriesAmount": {
            "type": "integer",
            "format": "int32"
          },
          "validated": {
            "type": "boolean"
          },
          "validatorUserIdsSize": {
            "type": "integer",
            "format": "int64"
          },
          "validatorUserIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "realValidated": {
            "type": "boolean"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "canEditProformaFlag": {
            "type": "boolean"
          },
          "isDocSent": {
            "type": "boolean",
            "readOnly": true
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "proforma": {
            "type": "boolean"
          }
        },
        "required": [
          "clientId",
          "currencyId",
          "date",
          "invoiceLines"
        ]
      },
      "SalesInvoiceLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "tempId": {
            "type": "integer",
            "format": "int64"
          },
          "lineType": {
            "type": "string",
            "enum": [
              "ARTICLE",
              "NO_ARTICLE",
              "TIMESHEET",
              "EXPENSES",
              "DISBURSEMENT",
              "HEADER",
              "FIXED_ASSET"
            ]
          },
          "quantity": {
            "type": "number"
          },
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "isArticleShipped": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "longDescription": {
            "type": "string"
          },
          "netUnitPrice": {
            "type": "number"
          },
          "discount": {
            "type": "number"
          },
          "totalNet": {
            "type": "number"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "vat": {
            "type": "number"
          },
          "totalPrice": {
            "type": "number"
          },
          "saleAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "allocationKey": {
            "type": "string"
          },
          "appliedAllocationRules": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vatTypeCodeId": {
            "type": "integer",
            "format": "int64"
          },
          "articleName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "saleAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "departmentName": {
            "type": "string"
          },
          "fixedAssetName": {
            "type": "string"
          },
          "fixedAssetId": {
            "type": "integer",
            "format": "int64"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "officeName": {
            "type": "string"
          }
        },
        "required": [
          "discount",
          "netUnitPrice",
          "quantity",
          "saleAccountId",
          "totalNet"
        ]
      },
      "SalesInvoiceLineLayout": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "parentId": {
            "type": "integer",
            "format": "int64"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesInvoiceLineLayout"
            }
          },
          "lineType": {
            "type": "string",
            "enum": [
              "ARTICLE",
              "NO_ARTICLE",
              "TIMESHEET",
              "EXPENSES",
              "DISBURSEMENT",
              "HEADER",
              "FIXED_ASSET"
            ]
          },
          "salesInvoiceLineId": {
            "type": "integer",
            "format": "int64"
          },
          "sourceOrderId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SalesPayment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "receivableByAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "requestedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "overdueDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "valueDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "sentDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "requestedAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "paidAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "bankCharges": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "lossOnDebtors": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "isFromLockedAccountingPeriod": {
            "type": "boolean"
          },
          "qrBillData": {
            "type": "string"
          },
          "receivableByAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "qrReferenceNumber": {
            "type": "string",
            "writeOnly": true
          }
        },
        "required": [
          "overdueDate",
          "receivableByAccountId",
          "requestedDate"
        ]
      },
      "Permission": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "module": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "canView": {
            "type": "boolean"
          },
          "canCreate": {
            "type": "boolean"
          },
          "canModify": {
            "type": "boolean"
          },
          "canDelete": {
            "type": "boolean"
          },
          "canExport": {
            "type": "boolean"
          },
          "viewType": {
            "type": "string",
            "enum": [
              "NONE",
              "ALL",
              "OWNER",
              "WORKFLOW"
            ]
          },
          "modifyType": {
            "type": "string",
            "enum": [
              "NONE",
              "ALL",
              "OWNER",
              "WORKFLOW"
            ]
          },
          "deleteType": {
            "type": "string",
            "enum": [
              "NONE",
              "ALL",
              "OWNER",
              "WORKFLOW"
            ]
          }
        }
      },
      "Role": {
        "type": "object",
        "discriminator": {
          "propertyName": "type"
        },
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string",
            "enum": [
              "ROLE",
              "SUPER_ROLE"
            ]
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isDefault": {
            "type": "boolean"
          },
          "global": {
            "type": "boolean"
          }
        },
        "required": [
          "type"
        ]
      },
      "RoleWithPermissions": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Role"
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1
              },
              "permissions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Permission"
                }
              }
            }
          }
        ],
        "required": [
          "name",
          "type"
        ]
      },
      "SuperRole": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Role"
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1
              },
              "roles": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RoleWithPermissions"
                },
                "minItems": 1
              }
            }
          }
        ],
        "required": [
          "name",
          "roles",
          "type"
        ]
      },
      "ReconcileResponse": {
        "type": "object",
        "properties": {
          "reconciledLines": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "notReconciledLines": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        }
      },
      "ReconciliationUploadResult": {
        "type": "object",
        "properties": {
          "linesGenerated": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "numberOfManualLines": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfJournalEntriesGenerated": {
            "type": "integer",
            "format": "int32"
          },
          "reconcileResponse": {
            "$ref": "#/components/schemas/ReconcileResponse"
          }
        }
      },
      "ReconcileRequest": {
        "type": "object",
        "properties": {
          "lineIdsToReconcile": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        }
      },
      "ReconciliationManualEntryRequest": {
        "type": "object",
        "description": "Manual entry matching a reconciliation line against a payment",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "paymentType": {
            "type": "string",
            "description": "Payment type this entry matches",
            "enum": [
              "SALES_INVOICE",
              "PURCHASE_INVOICE",
              "SALARY_SLIP",
              "MANUAL"
            ],
            "example": "PURCHASE_PAYMENT"
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "Invoice payment match"
          },
          "amount": {
            "type": "string",
            "description": "Matched amount as string",
            "example": "1200.00"
          },
          "requestedAmount": {
            "type": "string",
            "description": "Requested amount as string",
            "example": "1200.00"
          },
          "counterPartyAccountId": {
            "type": "integer",
            "description": "Counterparty chart of accounts ID",
            "example": 12345678
          },
          "amountInCurrency": {
            "type": "string",
            "description": "Amount in the original currency as string",
            "example": "1000.00"
          },
          "entityContactId": {
            "type": "integer",
            "description": "Contact ID linked to this entry",
            "example": 12345678
          },
          "currencyId": {
            "type": "integer",
            "description": "Currency ID",
            "example": 12345678
          },
          "purchasePaymentId": {
            "type": "integer",
            "description": "Purchase payment ID this entry matches",
            "example": 12345678
          },
          "salesPaymentId": {
            "type": "integer",
            "description": "Sales payment ID this entry matches",
            "example": 12345678
          },
          "payrollPaymentId": {
            "type": "integer",
            "description": "Payroll payment ID this entry matches",
            "example": 12345678
          },
          "departmentId": {
            "type": "integer",
            "description": "Department ID",
            "example": 12345678
          },
          "isSplitPayment": {
            "type": "boolean",
            "description": "Whether this is a split payment",
            "example": false
          },
          "bankCharges": {
            "type": "number",
            "description": "Bank charges. Defaults to 0",
            "example": 0.0
          },
          "lossOnDebtors": {
            "type": "number",
            "description": "Loss on debtors. Defaults to 0",
            "example": 0.0
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          }
        }
      },
      "ReconciliationLineRequest": {
        "type": "object",
        "description": "Request model for updating a reconciliation line. This endpoint only supports updating an existing line imported from a bank statement; id must reference an existing entity. Fields describing the bank movement itself (date, amount, direction, reference, etc.) are read-only and populated from the bank import \u2014 only the fields listed below are applied on update.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Reconciliation line ID. Must reference an existing line",
            "example": 12345678
          },
          "contactId": {
            "type": "integer",
            "description": "Contact ID to associate with this reconciliation line",
            "example": 12345678
          },
          "isInternalContact": {
            "type": "boolean",
            "description": "Whether the associated contact is an internal contact",
            "example": false
          },
          "manualEntries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReconciliationManualEntryRequest",
              "description": "Manual entries used to match this line against payments. Fully replaces any existing entries"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "ReconciliationLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "processDate": {
            "type": "string",
            "format": "date-time"
          },
          "movementDirection": {
            "type": "string",
            "enum": [
              "IN",
              "OUT"
            ]
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "reference": {
            "type": "string"
          },
          "valueDate": {
            "type": "string",
            "format": "date-time"
          },
          "paidCurrencyId": {
            "type": "integer",
            "format": "int64"
          },
          "paidAmount": {
            "type": "number"
          },
          "isReconciled": {
            "type": "boolean"
          },
          "mainAccountIban": {
            "type": "string"
          },
          "mainAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "isInternalContact": {
            "type": "boolean"
          },
          "manualEntries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReconciliationManualEntry"
            }
          }
        }
      },
      "ReconciliationManualEntry": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "paymentType": {
            "type": "string",
            "enum": [
              "SALES_INVOICE",
              "PURCHASE_INVOICE",
              "SALARY_SLIP",
              "MANUAL"
            ]
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "requestedAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "counterPartyAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "amountInCurrency": {
            "type": "string"
          },
          "entityContactId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "purchasePaymentId": {
            "type": "integer",
            "format": "int64"
          },
          "salesPaymentId": {
            "type": "integer",
            "format": "int64"
          },
          "payrollPaymentId": {
            "type": "integer",
            "format": "int64"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "isSplitPayment": {
            "type": "boolean"
          },
          "bankCharges": {
            "type": "number"
          },
          "lossOnDebtors": {
            "type": "number"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PurchaseInvoiceShipmentRequest": {
        "type": "object",
        "description": "Stock shipment linked to an attribution line of a purchase invoice",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "shipmentDate": {
            "type": "string",
            "description": "Shipment date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "articleId": {
            "type": "integer",
            "description": "Article ID",
            "example": 12345678
          },
          "quantity": {
            "type": "string",
            "description": "Quantity as string",
            "example": "10.000"
          },
          "totalCost": {
            "type": "number",
            "description": "Total cost",
            "example": 250.0
          },
          "generatedStockMovementId": {
            "type": "integer",
            "description": "ID of the stock movement generated for this shipment",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          }
        }
      },
      "AttributionRequest": {
        "type": "object",
        "description": "Cost attribution line for a purchase invoice",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "chartOfAccountsId": {
            "type": "integer",
            "description": "Chart of accounts (expense category) ID",
            "example": 12345678
          },
          "dateFrom": {
            "type": "string",
            "description": "Accrual start date (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "dateTo": {
            "type": "string",
            "description": "Accrual end date (format dd/MM/yyyy)",
            "example": "31/03/2026"
          },
          "net": {
            "type": "string",
            "description": "Net amount as string",
            "example": "100.00"
          },
          "percent": {
            "type": "string",
            "description": "Percentage of the total invoice amount as string",
            "example": "100.00"
          },
          "departmentId": {
            "type": "integer",
            "description": "Department ID",
            "example": 12345678
          },
          "orderId": {
            "type": "integer",
            "description": "Order ID this attribution is charged to",
            "example": 12345678
          },
          "reBill": {
            "type": "boolean",
            "description": "Whether this attribution should be rebilled to the client",
            "example": false
          },
          "articleId": {
            "type": "integer",
            "description": "Article ID",
            "example": 12345678
          },
          "quantity": {
            "type": "string",
            "description": "Quantity as string",
            "example": "1.00"
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchaseInvoiceShipmentRequest",
              "description": "Shipment records for this attribution"
            }
          },
          "fixedAssetId": {
            "type": "integer",
            "description": "Fixed asset ID this attribution creates or is linked to",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          }
        }
      },
      "PurchasePaymentRequest": {
        "type": "object",
        "description": "Payment record for a purchase invoice",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "requestedDate": {
            "type": "string",
            "description": "Requested payment date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "plannedDate": {
            "type": "string",
            "description": "Planned payment date (format dd/MM/yyyy)",
            "example": "05/06/2026"
          },
          "sentDate": {
            "type": "string",
            "description": "Date the payment was sent (format dd/MM/yyyy)",
            "example": "05/06/2026"
          },
          "valueDate": {
            "type": "string",
            "description": "Value date of the payment (format dd/MM/yyyy)",
            "example": "05/06/2026"
          },
          "requestedAmount": {
            "type": "string",
            "description": "Requested amount as string",
            "example": "1200.00"
          },
          "paidAmount": {
            "type": "string",
            "description": "Paid amount as string",
            "example": "1200.00"
          },
          "bankCharges": {
            "type": "string",
            "description": "Bank charges as string",
            "example": "5.00"
          },
          "payableByAccountId": {
            "type": "integer",
            "description": "Chart of accounts ID used as the payable-by account",
            "example": 12345678
          },
          "paymentType": {
            "type": "string",
            "description": "Payment type",
            "enum": [
              "BANK_TRANSFER",
              "BVR",
              "QR_BILL"
            ],
            "example": "BANK_TRANSFER"
          },
          "payableToBankId": {
            "type": "integer",
            "description": "Bank ID to pay to",
            "example": 12345678
          },
          "lineCode": {
            "type": "string",
            "description": "Payment line code",
            "example": "L001"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number",
            "example": "CH56 0483 5012 3456 7800 9"
          },
          "referenceNumber": {
            "type": "string",
            "description": "Payment reference number",
            "example": "210000000003139471430009017"
          },
          "qrBillData": {
            "type": "string",
            "description": "QR-bill data",
            "example": "SPC..."
          },
          "paymentPurposeCodeId": {
            "type": "integer",
            "description": "Payment purpose code ID",
            "example": 12345678
          }
        }
      },
      "PurchaseInvoiceRequest": {
        "type": "object",
        "description": "Request model for creating or updating a purchase invoice",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "journalEntryId": {
            "type": "integer",
            "description": "Journal entry ID",
            "example": 12345678
          },
          "date": {
            "type": "string",
            "description": "Invoice date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "supplierId": {
            "type": "integer",
            "description": "Supplier contact ID",
            "example": 12345678
          },
          "currencyId": {
            "type": "integer",
            "description": "Currency ID",
            "example": 12345678
          },
          "reference": {
            "type": "string",
            "description": "Supplier invoice reference",
            "example": "INV-2026-001"
          },
          "description": {
            "type": "string",
            "description": "Invoice description",
            "example": "Office supplies Q2"
          },
          "comment": {
            "type": "string",
            "description": "Internal comment",
            "example": "Approved by manager"
          },
          "validated": {
            "type": "boolean",
            "description": "Whether the invoice is validated. Only applied if the current user has validation permission",
            "example": false
          },
          "vatType": {
            "type": "string",
            "description": "VAT type",
            "enum": [
              "NO_VAT",
              "NATIVE",
              "IMPORT_OF_SERVICE"
            ],
            "example": "NO_VAT"
          },
          "vatTypeCodeId": {
            "type": "integer",
            "description": "VAT type code ID",
            "example": 12345678
          },
          "paymentAccountId": {
            "type": "integer",
            "description": "Payment chart of accounts ID. Auto-filled from organization defaults when creating and left empty",
            "example": 12345678
          },
          "isDraft": {
            "type": "boolean",
            "description": "Whether to save the invoice as a draft, bypassing strict validation. Forced to true by the server if validation fails for a not-yet-existing or draft invoice",
            "example": false
          },
          "amounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AmountRequest",
              "description": "Invoice amount lines (VAT breakdown). Required, must not be empty"
            }
          },
          "attributions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttributionRequest",
              "description": "Cost attributions, must not be empty"
            }
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchasePaymentRequest",
              "description": "Payment records. Required, must not be empty"
            }
          }
        },
        "required": [
          "currencyId",
          "date",
          "reference",
          "supplierId"
        ]
      },
      "Attribution": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "chartOfAccountsId": {
            "type": "integer",
            "format": "int64"
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "dateTo": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "net": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "percent": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "orderIdToDisplay": {
            "type": "string"
          },
          "orderClientId": {
            "type": "integer",
            "format": "int64"
          },
          "reBillDate": {
            "type": "string",
            "format": "date-time"
          },
          "reBill": {
            "type": "boolean"
          },
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "quantity": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchaseInvoiceShipment"
            }
          },
          "appliedAllocationRules": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "chartOfAccountsName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "departmentName": {
            "type": "string"
          },
          "articleName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "fixedAssetName": {
            "type": "string"
          },
          "fixedAssetId": {
            "type": "integer",
            "format": "int64"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "officeName": {
            "type": "string"
          },
          "readOnly": {
            "type": "boolean"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          }
        },
        "required": [
          "chartOfAccountsId",
          "dateFrom",
          "dateTo"
        ]
      },
      "PurchaseInvoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "journalEntryId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "supplierId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "reference": {
            "type": "string",
            "minLength": 1
          },
          "description": {
            "type": "string"
          },
          "comment": {
            "type": "string"
          },
          "validated": {
            "type": "boolean"
          },
          "vatType": {
            "type": "string",
            "enum": [
              "NO_VAT",
              "NATIVE",
              "IMPORT_OF_SERVICE"
            ]
          },
          "vatTypeCodeId": {
            "type": "integer",
            "format": "int64"
          },
          "paymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "amounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Amount"
            },
            "minItems": 1
          },
          "attributions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attribution"
            }
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchasePayment"
            },
            "minItems": 1
          },
          "warnings": {
            "type": "string"
          },
          "isFromLockedAccountingPeriod": {
            "type": "boolean"
          },
          "accrualEntriesAmount": {
            "type": "integer",
            "format": "int32"
          },
          "isDraft": {
            "type": "boolean"
          },
          "validatorUserIdsSize": {
            "type": "integer",
            "format": "int64"
          },
          "validatorUserIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "realValidated": {
            "type": "boolean"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "isContainsSoldFixedAsset": {
            "type": "boolean"
          }
        },
        "required": [
          "amounts",
          "currencyId",
          "date",
          "payments",
          "reference",
          "supplierId"
        ]
      },
      "PurchaseInvoiceShipment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "shipmentDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "quantity": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "currencyCode": {
            "type": "string"
          },
          "totalCost": {
            "type": "number"
          },
          "generatedStockMovementId": {
            "type": "integer",
            "format": "int64"
          },
          "articleName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "articleIdSku": {
            "type": "string"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "attributionId": {
            "type": "integer",
            "format": "int64"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PurchasePayment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "requestedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "plannedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "sentDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "valueDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "requestedAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "paidAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "bankCharges": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "payableByAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "paymentType": {
            "type": "string",
            "enum": [
              "BANK_TRANSFER",
              "BVR",
              "QR_BILL"
            ]
          },
          "payableToBankId": {
            "type": "integer",
            "format": "int64"
          },
          "lineCode": {
            "type": "string"
          },
          "accountNumber": {
            "type": "string"
          },
          "referenceNumber": {
            "type": "string"
          },
          "qrBillData": {
            "type": "string"
          },
          "isFromLockedAccountingPeriod": {
            "type": "boolean"
          },
          "payableByAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "paymentPurposeCodeId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "paymentType",
          "requestedDate"
        ]
      },
      "PayslipLineRequest": {
        "type": "object",
        "description": "Request model for a salary configuration line",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "number": {
            "type": "integer",
            "description": "Line number",
            "example": 100
          },
          "localizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual name (TranslationEntity with language fields)"
          },
          "payslipLineType": {
            "type": "string",
            "description": "Line type",
            "enum": [
              "EMPLOYEE_LINE",
              "COMPANY_LINE",
              "BOTH",
              "CALCULATION",
              "SYSTEM"
            ],
            "example": "COMPANY_LINE"
          },
          "payslipLineSign": {
            "type": "string",
            "description": "Line sign",
            "enum": [
              "INCOME",
              "CHARGES"
            ],
            "example": "POSITIVE"
          },
          "isShownOnSalarySlip": {
            "type": "boolean",
            "description": "Whether the line is shown on the salary slip",
            "example": true
          },
          "isAutomaticallyAdded": {
            "type": "boolean",
            "description": "Whether the line is automatically added from the template",
            "example": false
          },
          "isLinkedToAccount": {
            "type": "boolean",
            "description": "Whether the line is linked to a chart of accounts",
            "example": false
          },
          "specialAttributionType": {
            "type": "string",
            "description": "Special attribution type",
            "enum": [
              "BASE_SALARY",
              "GROSS_SALARY",
              "NET_SALARY",
              "PAYABLE",
              "CHARGES",
              "EMPLOYEE_ALLOCATION",
              "SYSTEM_LINE_ADJUSTMENT"
            ],
            "example": "NONE"
          },
          "payslipEntityId": {
            "type": "integer",
            "description": "Payslip entity ID this line belongs to",
            "example": 12345678
          },
          "systemLine": {
            "$ref": "#/components/schemas/SystemLineRequest",
            "description": "System line reference"
          },
          "parentPayslipLines": {
            "type": "array",
            "description": "IDs of parent payslip lines this line depends on",
            "items": {
              "type": "integer"
            },
            "uniqueItems": true
          },
          "touched": {
            "type": "boolean",
            "description": "Whether this line was touched/modified by user",
            "example": false
          },
          "shouldIncludeVat": {
            "type": "boolean",
            "description": "Whether VAT should be included",
            "example": false
          },
          "isHourlyWageLine": {
            "type": "boolean",
            "description": "Whether this is an hourly wage line",
            "example": false
          },
          "isLessonWageLine": {
            "type": "boolean"
          }
        },
        "required": [
          "localizations",
          "number",
          "payslipLineSign",
          "payslipLineType"
        ]
      },
      "SystemLineRequest": {
        "type": "object",
        "description": "Reference to a system-defined payslip line",
        "properties": {
          "id": {
            "type": "integer",
            "description": "System line ID",
            "example": 12345678
          },
          "payslipLineType": {
            "type": "string",
            "description": "Payslip line type of the system line",
            "enum": [
              "EMPLOYEE_LINE",
              "COMPANY_LINE",
              "BOTH",
              "CALCULATION",
              "SYSTEM"
            ],
            "example": "COMPANY_LINE"
          },
          "systemAdjustmentLineNumber": {
            "type": "integer",
            "description": "System adjustment line number",
            "example": 100
          }
        },
        "required": [
          "id"
        ]
      },
      "Holiday": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "name": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "date",
          "name"
        ]
      },
      "PayslipCertificateInsuranceInfoRequest": {
        "type": "object",
        "description": "Mapping of payslip line IDs to salary certificate categories (used to generate the Swiss salary certificate)",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "salaryRent": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "ancillaryWageBenefitsPensionHousing": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "ancillaryWageBenefitsPrivateCarUse": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "ancillaryWageBenefitsOther": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "nonRecurringBenefits": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "capitalBenefits": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "participationFeeAccordingToAnnex": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "allowancesOfTheMembersOfTheAdministration": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "otherServices": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "socialContributions": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "occupationalBenefitsOrdinary": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "occupationalBenefitsRePurchaseContributions": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "directTaxAtSource": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "costAllowancesTravelFoodLodging": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "costAllowancesActualCosts": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "costAllowancesFixedExpensesRepresentation": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "costAllowancesFixedExpensesCar": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "costAllowancesFixedExpensesOther": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "developmentContributions": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "avsSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "aciSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "aciiSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "laaSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "laacSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "laacExceesSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          },
          "apgSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs",
              "example": 12345678
            }
          }
        }
      },
      "PayslipRequest": {
        "type": "object",
        "description": "Request model for creating or updating a salary configuration",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "parentPayslipId": {
            "type": "integer",
            "description": "Parent salary config ID",
            "example": 12345678
          },
          "startDate": {
            "type": "string",
            "description": "Start date (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "endDate": {
            "type": "string",
            "description": "End date (format dd/MM/yyyy)",
            "example": "31/12/2026"
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32",
            "description": "Calendar year",
            "example": 2026
          },
          "countryId": {
            "type": "integer",
            "description": "Country ID",
            "example": 12345678
          },
          "countryCode": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code",
            "example": "CH"
          },
          "isRegionAvailable": {
            "type": "boolean",
            "description": "Whether a region is applicable for this config",
            "example": true
          },
          "type": {
            "type": "string",
            "description": "Salary config type",
            "enum": [
              "COUNTRY",
              "REGION",
              "CLA"
            ],
            "example": "COMPANY"
          },
          "region": {
            "$ref": "#/components/schemas/Region",
            "description": "Region this config applies to"
          },
          "cla": {
            "type": "string",
            "description": "CLA identifier",
            "example": "CLA-001"
          },
          "status": {
            "type": "string",
            "description": "Payslip status",
            "enum": [
              "DRAFT",
              "FINAL"
            ],
            "example": "ACTIVE"
          },
          "payslipLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayslipLineRequest"
            }
          },
          "holidays": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Holiday",
              "description": "Public holidays within the calendar year"
            }
          },
          "payslipCertificateInsuranceInfoEntity": {
            "$ref": "#/components/schemas/PayslipCertificateInsuranceInfoRequest",
            "description": "Certificate insurance information"
          }
        },
        "required": [
          "calendarYear",
          "countryId",
          "endDate",
          "startDate",
          "type"
        ]
      },
      "BothLine": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SystemLine"
          },
          {
            "type": "object",
            "properties": {
              "payslipValueType": {
                "type": "string",
                "enum": [
                  "VALUE",
                  "PERCENTAGE"
                ]
              },
              "payslipValueSplitType": {
                "type": "string",
                "enum": [
                  "EMPLOYEE",
                  "EMPLOYER",
                  "BOTH"
                ]
              },
              "isLimitSelected": {
                "type": "boolean"
              },
              "isGenderSelected": {
                "type": "boolean"
              },
              "isAgeSelected": {
                "type": "boolean"
              },
              "genderType": {
                "type": "string",
                "enum": [
                  "MALE",
                  "FEMALE",
                  "OTHER"
                ]
              },
              "isAnnualAdjustmentSelected": {
                "type": "boolean"
              },
              "adjustmentLine": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      },
      "CalculationLine": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SystemLine"
          },
          {
            "type": "object",
            "properties": {
              "payslipValueType": {
                "type": "string",
                "enum": [
                  "VALUE",
                  "PERCENTAGE"
                ]
              },
              "payslipValueSplitType": {
                "type": "string",
                "enum": [
                  "EMPLOYEE",
                  "EMPLOYER",
                  "BOTH"
                ]
              },
              "isLimitSelected": {
                "type": "boolean"
              },
              "isGenderSelected": {
                "type": "boolean"
              },
              "isAgeSelected": {
                "type": "boolean"
              },
              "genderType": {
                "type": "string",
                "enum": [
                  "MALE",
                  "FEMALE",
                  "OTHER"
                ]
              },
              "isAnnualAdjustmentSelected": {
                "type": "boolean"
              },
              "adjustmentLine": {
                "type": "integer",
                "format": "int64"
              },
              "employeeAmount": {
                "type": "number"
              },
              "employeePercentage": {
                "type": "number"
              },
              "employerAmount": {
                "type": "number"
              },
              "employerPercentage": {
                "type": "number"
              },
              "lowerLimit": {
                "type": "number"
              },
              "upperLimit": {
                "type": "number"
              },
              "limitCalculationType": {
                "type": "string",
                "enum": [
                  "TOTAL",
                  "OVER_THE_LOWER_LIMIT"
                ]
              },
              "minAge": {
                "type": "number"
              },
              "maxAge": {
                "type": "number"
              },
              "minAgeBarrier": {
                "type": "string",
                "enum": [
                  "PREVIOUS_YEAR",
                  "CURRENT_YEAR",
                  "FOLLOWING_YEAR",
                  "PREVIOUS_MONTH",
                  "CURRENT_MONTH",
                  "FOLLOWING_MONTH",
                  "EXACT_DATE"
                ]
              },
              "maxAgeBarrier": {
                "type": "string",
                "enum": [
                  "PREVIOUS_YEAR",
                  "CURRENT_YEAR",
                  "FOLLOWING_YEAR",
                  "PREVIOUS_MONTH",
                  "CURRENT_MONTH",
                  "FOLLOWING_MONTH",
                  "EXACT_DATE"
                ]
              }
            }
          }
        ]
      },
      "CompanyLine": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SystemLine"
          },
          {
            "type": "object",
            "properties": {
              "payslipValueType": {
                "type": "string",
                "enum": [
                  "VALUE",
                  "PERCENTAGE"
                ]
              },
              "payslipValueSplitType": {
                "type": "string",
                "enum": [
                  "EMPLOYEE",
                  "EMPLOYER",
                  "BOTH"
                ]
              },
              "isLimitSelected": {
                "type": "boolean"
              },
              "isGenderSelected": {
                "type": "boolean"
              },
              "isAgeSelected": {
                "type": "boolean"
              },
              "genderType": {
                "type": "string",
                "enum": [
                  "MALE",
                  "FEMALE",
                  "OTHER"
                ]
              },
              "isAnnualAdjustmentSelected": {
                "type": "boolean"
              },
              "adjustmentLine": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      },
      "EmployeeLine": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SystemLine"
          },
          {
            "type": "object",
            "properties": {
              "payslipValueType": {
                "type": "string",
                "enum": [
                  "VALUE",
                  "PERCENTAGE"
                ]
              },
              "payslipValueSplitType": {
                "type": "string",
                "enum": [
                  "EMPLOYEE",
                  "EMPLOYER",
                  "BOTH"
                ]
              }
            }
          }
        ]
      },
      "Payslip": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "parentPayslipId": {
            "type": "integer",
            "format": "int64"
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32"
          },
          "countryId": {
            "type": "integer",
            "format": "int64"
          },
          "countryName": {
            "$ref": "#/components/schemas/Translation"
          },
          "countryCode": {
            "type": "string"
          },
          "isRegionAvailable": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "COUNTRY",
              "REGION",
              "CLA"
            ]
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "cla": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "payslipLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayslipLine"
            }
          },
          "payslipCertificateInsuranceInfoEntity": {
            "$ref": "#/components/schemas/PayslipCertificateInsuranceInfo"
          },
          "holidays": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Holiday"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "DRAFT",
              "FINAL"
            ]
          },
          "regionAvailable": {
            "type": "boolean"
          },
          "fromSwitzerland": {
            "type": "boolean"
          }
        },
        "required": [
          "calendarYear",
          "countryId",
          "endDate",
          "startDate",
          "type"
        ]
      },
      "PayslipCertificateInsuranceInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "salaryRent": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "ancillaryWageBenefitsPensionHousing": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "ancillaryWageBenefitsPrivateCarUse": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "ancillaryWageBenefitsOther": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "nonRecurringBenefits": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "capitalBenefits": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "participationFeeAccordingToAnnex": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "allowancesOfTheMembersOfTheAdministration": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "otherFringeBenefits": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "otherServices": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "socialContributions": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "occupationalBenefitsOrdinary": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "occupationalBenefitsRePurchaseContributions": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "directTaxAtSource": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "costAllowancesTravelFoodLodging": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "costAllowancesActualCosts": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "costAllowancesFixedExpensesRepresentation": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "costAllowancesFixedExpensesCar": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "costAllowancesFixedExpensesOther": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "developmentContributions": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "avsSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "aciSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "aciiSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "laaSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "laacSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "laacExceesSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "apgSalary": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        }
      },
      "PayslipLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "localizations": {
            "$ref": "#/components/schemas/TranslationEntity"
          },
          "payslipLineType": {
            "type": "string",
            "enum": [
              "EMPLOYEE_LINE",
              "COMPANY_LINE",
              "BOTH",
              "CALCULATION",
              "SYSTEM"
            ]
          },
          "payslipLineSign": {
            "type": "string",
            "enum": [
              "INCOME",
              "CHARGES"
            ]
          },
          "isShownOnSalarySlip": {
            "type": "boolean"
          },
          "isAutomaticallyAdded": {
            "type": "boolean"
          },
          "isLinkedToAccount": {
            "type": "boolean"
          },
          "specialAttributionType": {
            "type": "string",
            "enum": [
              "BASE_SALARY",
              "GROSS_SALARY",
              "NET_SALARY",
              "PAYABLE",
              "CHARGES",
              "EMPLOYEE_ALLOCATION",
              "SYSTEM_LINE_ADJUSTMENT"
            ]
          },
          "payslipEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "systemLine": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/SystemLine"
              },
              {
                "$ref": "#/components/schemas/BothLine"
              },
              {
                "$ref": "#/components/schemas/CalculationLine"
              },
              {
                "$ref": "#/components/schemas/CompanyLine"
              },
              {
                "$ref": "#/components/schemas/EmployeeLine"
              }
            ]
          },
          "parentPayslipLines": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          },
          "touched": {
            "type": "boolean"
          },
          "shouldIncludeVat": {
            "type": "boolean"
          },
          "isHourlyWageLine": {
            "type": "boolean"
          },
          "isLessonWageLine": {
            "type": "boolean"
          },
          "description": {
            "$ref": "#/components/schemas/Translation"
          },
          "lineName": {
            "$ref": "#/components/schemas/Translation"
          }
        },
        "required": [
          "localizations",
          "number",
          "payslipLineSign",
          "payslipLineType"
        ]
      },
      "SystemLine": {
        "type": "object",
        "discriminator": {
          "propertyName": "payslipLineType"
        },
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "payslipLineType": {
            "type": "string",
            "enum": [
              "EMPLOYEE_LINE",
              "COMPANY_LINE",
              "BOTH",
              "CALCULATION",
              "SYSTEM"
            ]
          },
          "systemAdjustmentLineNumber": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PayrollEmployeeInfoRequest": {
        "type": "object",
        "description": "Employee to generate a payroll entry for",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "staffId": {
            "type": "integer",
            "description": "Staff (employee) ID",
            "example": 12345678
          },
          "currencyId": {
            "type": "integer",
            "description": "Payroll currency ID",
            "example": 12345678
          },
          "staffAccountId": {
            "type": "integer",
            "description": "Staff payment chart of accounts ID",
            "example": 12345678
          },
          "staffPayslipId": {
            "type": "integer",
            "description": "Staff payslip configuration ID",
            "example": 12345678
          },
          "organizationAccountId": {
            "type": "integer",
            "description": "Organization payment chart of accounts ID",
            "example": 12345678
          },
          "genderType": {
            "type": "string",
            "description": "Employee gender",
            "enum": [
              "MALE",
              "FEMALE",
              "OTHER"
            ],
            "example": "MALE"
          },
          "salaryType": {
            "type": "string",
            "description": "Salary type",
            "enum": [
              "MONTHLY",
              "HOURLY"
            ],
            "example": "MONTHLY"
          },
          "birthday": {
            "type": "string",
            "description": "Employee birthday (format dd/MM/yyyy)",
            "example": "15/03/1985"
          },
          "payableToBankId": {
            "type": "integer",
            "description": "Bank ID to pay the salary to",
            "example": 12345678
          }
        },
        "required": [
          "staffId"
        ]
      },
      "GenerateSalariesInfoRequest": {
        "type": "object",
        "description": "Request model for generating payroll entries for a period",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32",
            "description": "Calendar year",
            "example": 2026
          },
          "monthType": {
            "type": "string",
            "description": "Payroll month",
            "enum": [
              "JANUARY",
              "FEBRUARY",
              "MARCH",
              "APRIL",
              "MAY",
              "JUNE",
              "JULY",
              "AUGUST",
              "SEPTEMBER",
              "OCTOBER",
              "NOVEMBER",
              "DECEMBER"
            ],
            "example": "JUNE"
          },
          "monthStartDate": {
            "type": "string",
            "format": "date-time",
            "description": "Start date of the month period",
            "example": "2026-06-01"
          },
          "monthEndDate": {
            "type": "string",
            "format": "date-time",
            "description": "End date of the month period",
            "example": "2026-06-30"
          },
          "date": {
            "type": "string",
            "description": "Generation date (format dd/MM/yyyy). Must not fall within a locked accounting period",
            "example": "01/06/2026"
          },
          "employees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayrollEmployeeInfoRequest"
            },
            "uniqueItems": true
          }
        },
        "required": [
          "calendarYear",
          "date",
          "monthType"
        ]
      },
      "Payroll": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "paymentDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32"
          },
          "monthType": {
            "type": "string",
            "enum": [
              "JANUARY",
              "FEBRUARY",
              "MARCH",
              "APRIL",
              "MAY",
              "JUNE",
              "JULY",
              "AUGUST",
              "SEPTEMBER",
              "OCTOBER",
              "NOVEMBER",
              "DECEMBER"
            ]
          },
          "monthStartDate": {
            "type": "string",
            "format": "date-time"
          },
          "monthEndDate": {
            "type": "string",
            "format": "date-time"
          },
          "staffEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "contactEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "employeeInfoId": {
            "type": "integer",
            "format": "int64"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "grossSalary": {
            "type": "string"
          },
          "netSalary": {
            "type": "string"
          },
          "payable": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNPAID",
              "PAID",
              "PARTIALLY_PAID",
              "WIRED"
            ]
          },
          "warnings": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "payrollLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayrollLine"
            }
          },
          "payrollPayments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayrollPayment"
            }
          },
          "journalEntryId": {
            "type": "integer",
            "format": "int64"
          },
          "staffPayslipId": {
            "type": "integer",
            "format": "int64"
          },
          "removedPayrollLineNumbers": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "isFromLockedAccountingPeriod": {
            "type": "boolean"
          },
          "isDeclaredToSwissdec": {
            "type": "boolean"
          },
          "isDocSent": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "required": [
          "createdOn",
          "paymentDate"
        ]
      },
      "PayrollLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "payrollEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "payslipLineEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "localizations": {
            "$ref": "#/components/schemas/TranslationEntity"
          },
          "payslipValueType": {
            "type": "string",
            "enum": [
              "VALUE",
              "PERCENTAGE"
            ]
          },
          "isAutomaticallyAdded": {
            "type": "boolean"
          },
          "payslipLineType": {
            "type": "string",
            "enum": [
              "EMPLOYEE_LINE",
              "COMPANY_LINE",
              "BOTH",
              "CALCULATION",
              "SYSTEM"
            ]
          },
          "description": {
            "type": "string"
          },
          "baseAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "employeeRate": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "employerRate": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "employeeAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "employerAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "specialAttributionType": {
            "type": "string",
            "enum": [
              "BASE_SALARY",
              "GROSS_SALARY",
              "NET_SALARY",
              "PAYABLE",
              "CHARGES",
              "EMPLOYEE_ALLOCATION",
              "SYSTEM_LINE_ADJUSTMENT"
            ]
          },
          "isChanged": {
            "type": "boolean"
          },
          "isShownOnSalarySlip": {
            "type": "boolean"
          },
          "orgEmployeeGroupId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PayrollPayment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "payrollEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "requestedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "plannedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "sentDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "valueDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "requestedAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "paidAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "bankCharges": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "payableByAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "payableToBankId": {
            "type": "integer",
            "format": "int64"
          },
          "isFromLockedAccountingPeriod": {
            "type": "boolean"
          }
        },
        "required": [
          "payableByAccountId",
          "requestedDate"
        ]
      },
      "PayrollMonthGenerationResult": {
        "type": "object",
        "properties": {
          "monthType": {
            "type": "string",
            "enum": [
              "JANUARY",
              "FEBRUARY",
              "MARCH",
              "APRIL",
              "MAY",
              "JUNE",
              "JULY",
              "AUGUST",
              "SEPTEMBER",
              "OCTOBER",
              "NOVEMBER",
              "DECEMBER"
            ]
          },
          "generated": {
            "type": "integer",
            "format": "int32"
          },
          "skippedExisting": {
            "type": "integer",
            "format": "int32"
          },
          "skippedNotEmployed": {
            "type": "integer",
            "format": "int32"
          },
          "error": {
            "type": "string"
          }
        }
      },
      "PayrollLineRequest": {
        "type": "object",
        "description": "Request model for a payroll salary line",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "payrollEntityId": {
            "type": "integer",
            "description": "Payroll entity ID this line belongs to",
            "example": 12345678
          },
          "payslipLineEntityId": {
            "type": "integer",
            "description": "Payslip line entity (template) ID",
            "example": 12345678
          },
          "number": {
            "type": "integer",
            "description": "Line number for ordering",
            "example": 1
          },
          "localizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual name of the line (TranslationEntity with language fields)"
          },
          "payslipValueType": {
            "type": "string",
            "description": "Payslip value type",
            "enum": [
              "VALUE",
              "PERCENTAGE"
            ],
            "example": "AMOUNT"
          },
          "payslipLineType": {
            "type": "string",
            "description": "Payslip line type",
            "enum": [
              "EMPLOYEE_LINE",
              "COMPANY_LINE",
              "BOTH",
              "CALCULATION",
              "SYSTEM"
            ],
            "example": "EARNING"
          },
          "isAutomaticallyAdded": {
            "type": "boolean",
            "description": "Whether the line was automatically added from the payslip template",
            "example": false
          },
          "isChanged": {
            "type": "boolean",
            "description": "Whether something was changed on this line compared to the template",
            "example": false
          },
          "isShownOnSalarySlip": {
            "type": "boolean",
            "description": "Whether the line is shown on the salary slip",
            "example": true
          },
          "description": {
            "type": "string",
            "description": "Custom description overriding the localized name",
            "example": "Bonus"
          },
          "baseAmount": {
            "type": "string",
            "description": "Base amount as string",
            "example": "5000.00"
          },
          "employeeRate": {
            "type": "string",
            "description": "Employee contribution rate as string",
            "example": "5.25"
          },
          "employerRate": {
            "type": "string",
            "description": "Employer contribution rate as string",
            "example": "8.00"
          },
          "employeeAmount": {
            "type": "string",
            "description": "Employee contribution amount as string",
            "example": "262.50"
          },
          "employerAmount": {
            "type": "string",
            "description": "Employer contribution amount as string",
            "example": "400.00"
          },
          "specialAttributionType": {
            "type": "string",
            "description": "Special attribution type",
            "enum": [
              "BASE_SALARY",
              "GROSS_SALARY",
              "NET_SALARY",
              "PAYABLE",
              "CHARGES",
              "EMPLOYEE_ALLOCATION",
              "SYSTEM_LINE_ADJUSTMENT"
            ],
            "example": "NONE"
          },
          "orgEmployeeGroupId": {
            "type": "integer",
            "description": "Organization employee group ID",
            "example": 12345678
          }
        }
      },
      "PayrollPaymentRequest": {
        "type": "object",
        "description": "Request model for a payroll payment",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "payrollEntityId": {
            "type": "integer",
            "description": "Payroll entity ID this payment belongs to",
            "example": 12345678
          },
          "requestedDate": {
            "type": "string",
            "description": "Requested payment date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "plannedDate": {
            "type": "string",
            "description": "Planned payment date (format dd/MM/yyyy)",
            "example": "05/06/2026"
          },
          "sentDate": {
            "type": "string",
            "description": "Date the payment was sent (format dd/MM/yyyy)",
            "example": "05/06/2026"
          },
          "valueDate": {
            "type": "string",
            "description": "Value date of the payment (format dd/MM/yyyy)",
            "example": "05/06/2026"
          },
          "requestedAmount": {
            "type": "string",
            "description": "Requested amount as string",
            "example": "3500.00"
          },
          "paidAmount": {
            "type": "string",
            "description": "Paid amount as string",
            "example": "3500.00"
          },
          "bankCharges": {
            "type": "string",
            "description": "Bank charges as string",
            "example": "5.00"
          },
          "payableByAccountId": {
            "type": "integer",
            "description": "Chart of accounts ID used as the payable-by account",
            "example": 12345678
          },
          "payableToBankId": {
            "type": "integer",
            "description": "Bank ID to pay to",
            "example": 12345678
          }
        },
        "required": [
          "payableByAccountId",
          "requestedDate"
        ]
      },
      "PayrollRequest": {
        "type": "object",
        "description": "Request model for creating or updating a payroll entry",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "organizationId": {
            "type": "integer",
            "description": "Organization ID",
            "example": 12345678
          },
          "createdOn": {
            "type": "string",
            "description": "Creation date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "paymentDate": {
            "type": "string",
            "description": "Payment date (format dd/MM/yyyy). Populated from createdOn on the client side before sending",
            "example": "01/06/2026"
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32",
            "description": "Calendar year",
            "example": 2026
          },
          "monthType": {
            "type": "string",
            "description": "Payroll month",
            "enum": [
              "JANUARY",
              "FEBRUARY",
              "MARCH",
              "APRIL",
              "MAY",
              "JUNE",
              "JULY",
              "AUGUST",
              "SEPTEMBER",
              "OCTOBER",
              "NOVEMBER",
              "DECEMBER"
            ],
            "example": "JANUARY"
          },
          "monthStartDate": {
            "type": "string",
            "description": "Start date of the month period (format yyyy-MM-dd)",
            "example": "2026-06-01"
          },
          "monthEndDate": {
            "type": "string",
            "description": "End date of the month period (format yyyy-MM-dd)",
            "example": "2026-06-30"
          },
          "staffEntityId": {
            "type": "integer",
            "description": "Staff entity ID",
            "example": 12345678
          },
          "contactEntityId": {
            "type": "integer",
            "description": "Contact entity ID linked to the staff member",
            "example": 12345678
          },
          "currencyId": {
            "type": "integer",
            "description": "Currency ID",
            "example": 12345678
          },
          "employeeInfoId": {
            "type": "integer",
            "description": "Employee info ID",
            "example": 12345678
          },
          "address": {
            "$ref": "#/components/schemas/AddressRequest",
            "description": "Delivery address for the payslip"
          },
          "grossSalary": {
            "type": "string",
            "description": "Gross salary as string",
            "example": "5000.00"
          },
          "netSalary": {
            "type": "string",
            "description": "Net salary as string",
            "example": "3500.00"
          },
          "payable": {
            "type": "string",
            "description": "Payable amount as string",
            "example": "3500.00"
          },
          "description": {
            "type": "string",
            "description": "Description or notes",
            "example": "June 2026 payroll"
          },
          "status": {
            "type": "string",
            "description": "Payroll status",
            "enum": [
              "UNPAID",
              "PAID",
              "PARTIALLY_PAID",
              "WIRED"
            ],
            "example": "DRAFT"
          },
          "staffPayslipId": {
            "type": "integer",
            "description": "Staff payslip template ID",
            "example": 12345678
          },
          "journalEntryId": {
            "type": "integer",
            "description": "Journal entry ID linked to this payroll",
            "example": 12345678
          },
          "removedPayrollLineNumbers": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Line numbers removed since last save",
              "example": 1
            }
          },
          "payrollLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayrollLineRequest"
            }
          },
          "payrollPayments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayrollPaymentRequest"
            }
          }
        },
        "required": [
          "createdOn",
          "paymentDate"
        ]
      },
      "Payable": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "module": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "paymentId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceDate": {
            "type": "string"
          },
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "requestedDate": {
            "type": "string"
          },
          "plannedDate": {
            "type": "string"
          },
          "sentDate": {
            "type": "string"
          },
          "invoiceReference": {
            "type": "string"
          },
          "payableAmount": {
            "type": "number"
          },
          "warnings": {
            "type": "string"
          },
          "contact": {
            "type": "string"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "currency": {
            "type": "string"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "documentFileId": {
            "type": "integer",
            "format": "int64"
          },
          "fileExtension": {
            "type": "string"
          }
        }
      },
      "PayableView": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "module": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "paymentId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceDate": {
            "type": "string",
            "format": "date"
          },
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "requestedDate": {
            "type": "string",
            "format": "date"
          },
          "plannedDate": {
            "type": "string",
            "format": "date"
          },
          "minOfRequestedAndPlannedDate": {
            "type": "string",
            "format": "date"
          },
          "sentDate": {
            "type": "string",
            "format": "date"
          },
          "invoiceReference": {
            "type": "string"
          },
          "payableAmount": {
            "type": "number"
          },
          "comment": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "contact": {
            "type": "string"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "currency": {
            "type": "string"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "documentFileId": {
            "type": "integer",
            "format": "int64"
          },
          "fileExtension": {
            "type": "string"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "entityCreatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "paymentFileReference": {
            "type": "string"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "Pain001GenerationRequest": {
        "type": "object",
        "properties": {
          "paymentsForGeneration": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentForGeneration"
            }
          },
          "payableByChartOfAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "overridePlannedDate": {
            "type": "string"
          },
          "feeSplit": {
            "type": "string",
            "enum": [
              "CHARGED_TO_THE_BENEFICIARY",
              "FIFTY_FIFTY_SPLIT",
              "CHARGED_TO_THE_ORDERER"
            ]
          },
          "timezone": {
            "type": "integer",
            "format": "int32"
          },
          "isConfidential": {
            "type": "boolean",
            "writeOnly": true
          },
          "confidential": {
            "type": "boolean"
          }
        }
      },
      "PaymentForGeneration": {
        "type": "object",
        "properties": {
          "paymentId": {
            "type": "integer",
            "format": "int64"
          },
          "module": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          }
        }
      },
      "Language": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "isMain": {
            "type": "boolean"
          }
        }
      },
      "NewOrganizationRequest": {
        "type": "object",
        "description": "Request model for creating a new organization",
        "properties": {
          "name": {
            "type": "string",
            "description": "Organization name",
            "example": "Acme Corp"
          },
          "mainLanguage": {
            "$ref": "#/components/schemas/Language",
            "description": "Main language of the organization"
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code",
            "example": "CHF"
          },
          "templateCompanyBy": {
            "type": "string",
            "description": "How to determine the template organization",
            "enum": [
              "NOGA_CODE",
              "TEMPLATE_ORGANIZATION"
            ],
            "example": "NOGA_CODE"
          },
          "nogaCodeId": {
            "type": "integer",
            "description": "NOGA economic activity code ID. Required when templateCompanyBy = NOGA_CODE",
            "example": 12345678
          },
          "templateOrganizationId": {
            "type": "integer",
            "description": "Template organization ID. Required when templateCompanyBy = TEMPLATE_ORGANIZATION",
            "example": 12345678
          },
          "startDate": {
            "type": "string",
            "description": "Start date (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "address": {
            "$ref": "#/components/schemas/OrganizationAddress",
            "description": "Primary address for the organization"
          },
          "fiscalYearStart": {
            "type": "string",
            "description": "Fiscal year start date (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "fiscalYearEnd": {
            "type": "string",
            "description": "Fiscal year end date (format dd/MM/yyyy)",
            "example": "31/12/2026"
          },
          "vatRuleType": {
            "type": "string",
            "description": "VAT rule type",
            "enum": [
              "NONE",
              "AGREED_SERVICE",
              "RECEIVED_COMPENSATION",
              "NTDR_AGREED_SERVICE",
              "NTDR_RECEIVED_COMPENSATION",
              "FLAT_RATE_RECEIVED_COMPENSATION",
              "FLAT_RATE_AGREED_SERVICE",
              "SIMPLE_TAX_RATE"
            ],
            "example": "EFFECTIVE"
          },
          "timesheets": {
            "type": "boolean",
            "description": "Whether timesheets are enabled for this organization",
            "example": false
          },
          "managingCompanyId": {
            "type": "integer",
            "description": "Managing company (fiduciary) organization ID",
            "example": 12345678
          }
        },
        "required": [
          "currency",
          "fiscalYearEnd",
          "fiscalYearStart",
          "mainLanguage",
          "managingCompanyId",
          "name",
          "startDate",
          "templateCompanyBy",
          "vatRuleType"
        ]
      },
      "OrganizationAddress": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "line1": {
            "type": "string",
            "minLength": 1
          },
          "line2": {
            "type": "string"
          },
          "city": {
            "type": "string",
            "minLength": 1
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "countryCode2": {
            "type": "string",
            "minLength": 1
          },
          "postCode": {
            "type": "string",
            "minLength": 1
          },
          "toTheAttentionOf": {
            "type": "string"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "countryId": {
            "type": "integer",
            "format": "int64"
          },
          "houseNumber": {
            "type": "string"
          },
          "service": {
            "type": "string"
          },
          "dtbNumber": {
            "type": "string"
          },
          "cedNumber": {
            "type": "string"
          },
          "fiduciaryId": {
            "type": "integer",
            "format": "int64"
          },
          "inventoryLocation": {
            "type": "boolean"
          },
          "weeklyHours": {
            "type": "number"
          },
          "weeklyLessons": {
            "type": "number"
          }
        },
        "required": [
          "city",
          "countryCode2",
          "line1",
          "postCode"
        ]
      },
      "BankRequest": {
        "type": "object",
        "description": "Bank account for a contact",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Bank account name / label",
            "example": "Main Account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number / IBAN",
            "example": "CH56 0483 5012 3456 7800 9"
          },
          "qrIban": {
            "type": "string",
            "description": "QR-IBAN",
            "example": "CH44 3199 9123 0008 8901 2"
          },
          "isrCustomerNumber": {
            "type": "string",
            "description": "ISR customer number",
            "example": "01-234567-8"
          },
          "bankCustomerNumber": {
            "type": "string",
            "description": "Bank customer number",
            "example": "123456"
          },
          "swiftBic": {
            "type": "string",
            "description": "SWIFT / BIC code",
            "example": "UBSWCHZH80A"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name",
            "example": "UBS AG"
          },
          "remark": {
            "type": "string",
            "description": "Remark or note",
            "example": "Primary account"
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "description": "Position order",
            "example": 1
          },
          "useForReconciliation": {
            "type": "boolean",
            "description": "Whether this bank account is used for reconciliation",
            "example": true
          },
          "chartOfAccounts": {
            "type": "integer",
            "description": "Chart of accounts ID linked to this bank account",
            "example": 12345678
          },
          "accountHolderAddress": {
            "$ref": "#/components/schemas/AddressRequest",
            "description": "Custom account holder address. `Should be specified only if customHolder is set to true.`"
          },
          "customHolder": {
            "type": "boolean",
            "description": "Whether a custom account holder address is used",
            "example": false
          }
        }
      },
      "OrganizationAddressRequest": {
        "type": "object",
        "description": "Office address of an organization",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Address label / name",
            "example": "Head Office"
          },
          "line1": {
            "type": "string",
            "description": "Address line 1",
            "example": "123 Main Street"
          },
          "line2": {
            "type": "string",
            "description": "Address line 2",
            "example": "Suite 4B"
          },
          "city": {
            "type": "string",
            "description": "City",
            "example": "Geneva"
          },
          "region": {
            "$ref": "#/components/schemas/RegionRequest",
            "description": "Region"
          },
          "postCode": {
            "type": "string",
            "description": "Postal code",
            "example": "1200"
          },
          "toTheAttentionOf": {
            "type": "string",
            "description": "To the attention of",
            "example": "John Doe"
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "description": "Position order",
            "example": 1
          },
          "countryId": {
            "type": "integer",
            "description": "Country ID",
            "example": 12345678
          },
          "houseNumber": {
            "type": "string",
            "description": "House number",
            "example": "42"
          },
          "service": {
            "type": "string",
            "description": "Service label",
            "example": "HR"
          },
          "dtbNumber": {
            "type": "string",
            "description": "DTB number",
            "example": "DTB-001"
          },
          "cedNumber": {
            "type": "string",
            "description": "CED number",
            "example": "CED-001"
          },
          "fiduciaryId": {
            "type": "integer",
            "description": "Fiduciary organization ID",
            "example": 12345678
          },
          "inventoryLocation": {
            "type": "boolean",
            "description": "Whether this address is an inventory/stock location",
            "example": false
          },
          "weeklyHours": {
            "type": "number",
            "description": "Standard weekly working hours of the workplace (Swissdec CompanyWorkingTime)",
            "example": 42.0
          },
          "weeklyLessons": {
            "type": "number",
            "description": "Standard weekly lessons of the workplace for teaching staff (Swissdec WeeklyLessons)",
            "example": 28.0
          }
        }
      },
      "DisbursementRequest": {
        "type": "object",
        "description": "Disbursement fee tier",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "upToAmount": {
            "type": "string",
            "description": "Upper amount bound for this tier, as string",
            "example": "1000.00"
          },
          "disbursementFee": {
            "type": "string",
            "description": "Disbursement fee for this tier, as string",
            "example": "10.00"
          }
        }
      },
      "EmployeeTaskRequest": {
        "type": "object",
        "description": "Timesheet task type defined at organization level",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Task name",
            "example": "Development"
          },
          "rate": {
            "type": "number",
            "description": "Hourly rate",
            "example": 100.0
          },
          "archived": {
            "type": "boolean",
            "description": "Whether the task is archived",
            "example": false
          }
        },
        "required": [
          "name"
        ]
      },
      "OrganizationPayslipLineRequest": {
        "type": "object",
        "description": "Organization-specific override for a payslip line",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "payslipLineEntityId": {
            "type": "integer",
            "description": "Payslip line template ID",
            "example": 12345678
          },
          "employeePercentage": {
            "type": "string",
            "description": "Employee contribution percentage as string",
            "example": "5.25"
          },
          "employerPercentage": {
            "type": "string",
            "description": "Employer contribution percentage as string",
            "example": "8.00"
          },
          "lowerLimit": {
            "type": "string",
            "description": "Lower limit amount as string",
            "example": "0.00"
          },
          "upperLimit": {
            "type": "string",
            "description": "Upper limit amount as string",
            "example": "148200.00"
          },
          "limitCalculationType": {
            "type": "string",
            "description": "How limits are calculated",
            "enum": [
              "TOTAL",
              "OVER_THE_LOWER_LIMIT"
            ],
            "example": "YEARLY"
          },
          "genderType": {
            "type": "string",
            "description": "Gender this line applies to",
            "enum": [
              "MALE",
              "FEMALE",
              "OTHER"
            ],
            "example": "ALL"
          },
          "insurerId": {
            "type": "integer",
            "description": "Insurer contact ID",
            "example": 12345678
          },
          "code": {
            "type": "string",
            "description": "Insurer code",
            "example": "IC-001"
          },
          "insurerNumber": {
            "type": "string",
            "description": "Insurer number",
            "example": "INS-2026"
          },
          "clientNumber": {
            "type": "string",
            "description": "Client number with the insurer",
            "example": "CL-001"
          },
          "contractNumber": {
            "type": "string",
            "description": "Contract number",
            "example": "CN-2026-001"
          },
          "startDate": {
            "type": "string",
            "description": "Start date (format dd/MM/yyyy)",
            "example": "01/01/2026"
          }
        },
        "required": [
          "payslipLineEntityId"
        ]
      },
      "SalaryTableLineRequest": {
        "type": "object",
        "description": "Salary table line used to compute payroll amounts per employee group",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "startDate": {
            "type": "string",
            "description": "Start date (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "endDate": {
            "type": "string",
            "description": "End date (format dd/MM/yyyy)",
            "example": "31/12/2026"
          },
          "payslipLineId": {
            "type": "string",
            "description": "Salary line reference ID (matches a payslip/salary code line)",
            "example": "12345678"
          },
          "number": {
            "type": "integer",
            "description": "Line number",
            "example": 100
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "Base salary"
          },
          "employeeValue": {
            "type": "string",
            "description": "Employee value as string",
            "example": "5000.00"
          },
          "employerValue": {
            "type": "string",
            "description": "Employer value as string",
            "example": "500.00"
          },
          "quantity": {
            "type": "string",
            "description": "Quantity as string",
            "example": "1.00"
          },
          "employeePercentage": {
            "type": "string",
            "description": "Employee percentage as string",
            "example": "5.25"
          },
          "employerPercentage": {
            "type": "string",
            "description": "Employer percentage as string",
            "example": "8.00"
          },
          "organizationEmployeeGroupId": {
            "type": "integer",
            "description": "Organization employee group ID",
            "example": 12345678
          }
        }
      },
      "HolidayRequest": {
        "type": "object",
        "description": "Public holiday within a calendar year",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "date": {
            "type": "string",
            "description": "Date (format dd/MM/yyyy)",
            "example": "25/12/2026"
          },
          "name": {
            "type": "string",
            "description": "Holiday name",
            "example": "Christmas"
          }
        },
        "required": [
          "date",
          "name"
        ]
      },
      "OrganizationOfficePayslipRequest": {
        "type": "object",
        "description": "Office-specific payslip registration numbers",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "organizationOfficeId": {
            "type": "integer",
            "description": "Organization office ID",
            "example": 12345678
          },
          "compensationFundNumber": {
            "type": "string",
            "description": "Compensation fund number",
            "example": "CF-001"
          },
          "compensationFundSubnumber": {
            "type": "string",
            "description": "Compensation fund subnumber",
            "example": "A.01"
          },
          "compensationFundAffiliatedNumber": {
            "type": "string",
            "description": "Compensation fund affiliated number",
            "example": "CFA-001"
          },
          "compensationFundId": {
            "type": "integer",
            "description": "Compensation fund contact ID",
            "example": 12345678
          },
          "childSupportAgencyId": {
            "type": "integer",
            "description": "Child support agency contact ID",
            "example": 12345678
          },
          "childSupportAgencyNumber": {
            "type": "string",
            "description": "Child support agency number",
            "example": "CSA-001"
          },
          "childSupportAgencySubnumber": {
            "type": "string",
            "description": "Child support agency subnumber",
            "example": "A.01"
          },
          "childSupportAgencyAffiliatedNumber": {
            "type": "string",
            "description": "Child support agency affiliated number",
            "example": "CSAA-001"
          }
        },
        "required": [
          "organizationOfficeId"
        ]
      },
      "OrganizationPayslipRequest": {
        "type": "object",
        "description": "Organization payslip configuration for a calendar year",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32",
            "description": "Calendar year",
            "example": 2026
          },
          "claPayslipId": {
            "type": "integer",
            "description": "Salary configuration (payslip) ID",
            "example": 12345678
          },
          "organizationPayslipLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationPayslipLineRequest"
            }
          },
          "salaryTableLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalaryTableLineRequest"
            }
          },
          "holidays": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HolidayRequest"
            }
          },
          "organizationOfficePayslips": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationOfficePayslipRequest"
            }
          },
          "processByDistributorAhv": {
            "type": "boolean",
            "description": "Swissdec addressee: AHV-AVS processed by distributor",
            "example": true
          },
          "processByDistributorUvg": {
            "type": "boolean",
            "description": "Swissdec addressee: UVG-LAA processed by distributor",
            "example": true
          },
          "processByDistributorUvgz": {
            "type": "boolean",
            "description": "Swissdec addressee: UVGZ-LAAC processed by distributor",
            "example": true
          },
          "processByDistributorKtg": {
            "type": "boolean",
            "description": "Swissdec addressee: KTG-AMC processed by distributor",
            "example": true
          },
          "processByDistributorBvg": {
            "type": "boolean",
            "description": "Swissdec addressee: BVG-LPP processed by distributor",
            "example": true
          }
        },
        "required": [
          "calendarYear"
        ]
      },
      "SalaryCodeLineRequest": {
        "type": "object",
        "description": "Single line within an organization salary code",
        "properties": {
          "factor": {
            "type": "integer",
            "format": "int32",
            "description": "Optional per-line factor; when supplied must be between 12 and 15",
            "example": 13
          },
          "id": {
            "type": "integer",
            "description": "Salary code line ID",
            "example": 12345678
          },
          "payslipLineEntityId": {
            "type": "integer",
            "description": "Payslip line template ID",
            "example": 12345678
          },
          "number": {
            "type": "integer",
            "description": "Line number",
            "example": 100
          },
          "localizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual name (TranslationEntity with language fields)"
          },
          "payslipLineType": {
            "type": "string",
            "description": "Payslip line type",
            "enum": [
              "EMPLOYEE_LINE",
              "COMPANY_LINE",
              "BOTH",
              "CALCULATION",
              "SYSTEM"
            ],
            "example": "COMPANY_LINE"
          },
          "specialAttributionType": {
            "type": "string",
            "description": "Special attribution type",
            "enum": [
              "BASE_SALARY",
              "GROSS_SALARY",
              "NET_SALARY",
              "PAYABLE",
              "CHARGES",
              "EMPLOYEE_ALLOCATION",
              "SYSTEM_LINE_ADJUSTMENT"
            ],
            "example": "NONE"
          },
          "isLinkedToAccount": {
            "type": "boolean",
            "description": "Whether the line is linked to a chart of accounts",
            "example": false
          },
          "payslipValueSplitType": {
            "type": "string",
            "description": "How the value is split between employer/operations",
            "enum": [
              "EMPLOYEE",
              "EMPLOYER",
              "BOTH"
            ],
            "example": "NONE"
          },
          "balanceSheetAccountId": {
            "type": "integer",
            "description": "Balance sheet chart of accounts ID",
            "example": 12345678
          },
          "plOperationsAccountId": {
            "type": "integer",
            "description": "P&L operations chart of accounts ID",
            "example": 12345678
          },
          "plAdminsAccountId": {
            "type": "integer",
            "description": "P&L admins chart of accounts ID",
            "example": 12345678
          }
        }
      },
      "SalaryCodeRequest": {
        "type": "object",
        "description": "Organization salary code (yearly set of salary lines)",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Salary code ID",
            "example": 12345678
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32",
            "description": "Calendar year",
            "example": 2026
          },
          "salaryCodeLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalaryCodeLineRequest"
            }
          }
        },
        "required": [
          "calendarYear"
        ]
      },
      "OrganizationEmployeeGroupRequest": {
        "type": "object",
        "description": "Employee group used for payslip line assignment",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Group name",
            "example": "Management"
          },
          "payslipLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "Payslip line IDs assigned to this group",
              "example": 12345678
            }
          }
        },
        "required": [
          "name"
        ]
      },
      "EbicsRequest": {
        "type": "object",
        "description": "EBICS connection configuration for the organization",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "ebicsServerId": {
            "type": "integer",
            "description": "EBICS server ID",
            "example": 12345678
          },
          "clientNumber": {
            "type": "string",
            "description": "EBICS client number (fiduciary number)",
            "example": "CH1234"
          },
          "userNumber": {
            "type": "string",
            "description": "EBICS user number",
            "example": "USER01"
          },
          "orderTransmission": {
            "type": "boolean",
            "description": "Whether order transmission is enabled",
            "example": false
          }
        },
        "required": [
          "clientNumber",
          "ebicsServerId",
          "userNumber"
        ]
      },
      "DocumentTemplateRequest": {
        "type": "object",
        "description": "Set of document assets and PDF templates used for generated documents",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "logo": {
            "type": "integer",
            "description": "Logo document file ID",
            "example": 12345678
          },
          "report": {
            "type": "integer",
            "description": "Report background document file ID",
            "example": 12345678
          },
          "letterheadPortrait": {
            "type": "integer",
            "description": "Portrait letterhead document file ID",
            "example": 12345678
          },
          "letterheadLandscape": {
            "type": "integer",
            "description": "Landscape letterhead document file ID",
            "example": 12345678
          },
          "salesInvoicesTemplateId": {
            "type": "integer",
            "description": "PDF template ID used for sales invoices",
            "example": 12345678
          },
          "lateNoticesTemplateId": {
            "type": "integer",
            "description": "PDF template ID used for late notices",
            "example": 12345678
          },
          "payslipsTemplateId": {
            "type": "integer",
            "description": "PDF template ID used for payslips",
            "example": 12345678
          },
          "salesOrderTemplateId": {
            "type": "integer",
            "description": "PDF template ID used for sales orders",
            "example": 12345678
          },
          "deliveryNoteTemplateId": {
            "type": "integer",
            "description": "PDF template ID used for delivery notes",
            "example": 12345678
          }
        }
      },
      "OrganizationTemplateRequest": {
        "type": "object",
        "description": "Named set of document templates for the organization",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Template set name. To make this the default template set, the name must be 'Default'.",
            "example": "Default"
          },
          "documentTemplate": {
            "$ref": "#/components/schemas/DocumentTemplateRequest",
            "description": "Document template set (logo, letterheads, PDF template references)"
          }
        },
        "required": [
          "name"
        ]
      },
      "DefaultCodesDetailsRequest": {
        "type": "object",
        "description": "Default chart-of-accounts mapping for standard organization operations",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Default codes details ID",
            "example": 12345678
          },
          "clientBalanceSheet": {
            "type": "integer",
            "description": "Client balance sheet account ID",
            "example": 12345678
          },
          "clientVAT": {
            "type": "integer",
            "description": "Client VAT account ID",
            "example": 12345678
          },
          "clientVATPaid": {
            "type": "integer",
            "description": "Client VAT paid account ID",
            "example": 12345678
          },
          "clientPrePayment": {
            "type": "integer",
            "description": "Client pre-payment account ID",
            "example": 12345678
          },
          "clientPL": {
            "type": "integer",
            "description": "Client P&L account ID",
            "example": 12345678
          },
          "supplierBalanceSheet": {
            "type": "integer",
            "description": "Supplier balance sheet account ID",
            "example": 12345678
          },
          "supplierVAT": {
            "type": "integer",
            "description": "Supplier VAT account ID",
            "example": 12345678
          },
          "supplierVATPaid": {
            "type": "integer",
            "description": "Supplier VAT paid account ID",
            "example": 12345678
          },
          "supplierPrePayment": {
            "type": "integer",
            "description": "Supplier pre-payment account ID",
            "example": 12345678
          },
          "retainedEarnings": {
            "type": "integer",
            "description": "Retained earnings account ID",
            "example": 12345678
          },
          "annualProfitLoss": {
            "type": "integer",
            "description": "Annual profit/loss account ID",
            "example": 12345678
          },
          "stock": {
            "type": "integer",
            "description": "Stock account ID",
            "example": 12345678
          },
          "stockMovements": {
            "type": "integer",
            "description": "Stock movements account ID",
            "example": 12345678
          },
          "bankExpenses": {
            "type": "integer",
            "description": "Bank expenses account ID",
            "example": 12345678
          },
          "transactionAdjustment": {
            "type": "integer",
            "description": "Transaction adjustment account ID",
            "example": 12345678
          },
          "accruedExpenses": {
            "type": "integer",
            "description": "Accrued expenses account ID",
            "example": 12345678
          },
          "accruedRevenue": {
            "type": "integer",
            "description": "Accrued revenue account ID",
            "example": 12345678
          },
          "compensation": {
            "type": "integer",
            "description": "Compensation account ID",
            "example": 12345678
          },
          "system": {
            "type": "integer",
            "description": "System account ID",
            "example": 12345678
          },
          "lossOnDebtors": {
            "type": "integer",
            "description": "Loss on debtors account ID",
            "example": 12345678
          },
          "workInProgress": {
            "type": "integer",
            "description": "Work in progress account ID",
            "example": 12345678
          },
          "workInvoicedUpfront": {
            "type": "integer",
            "description": "Work invoiced upfront account ID",
            "example": 12345678
          },
          "vatAccount": {
            "type": "integer",
            "description": "VAT account ID",
            "example": 12345678
          },
          "depreciationAccount": {
            "type": "integer",
            "description": "Depreciation account ID",
            "example": 12345678
          },
          "extraordinaryExpenseAccount": {
            "type": "integer",
            "description": "Extraordinary expense account ID",
            "example": 12345678
          },
          "extraordinaryIncomeAccount": {
            "type": "integer",
            "description": "Extraordinary income account ID",
            "example": 12345678
          },
          "unrealizedFxGainLossChart": {
            "type": "integer",
            "description": "Unrealized FX gain/loss account ID",
            "example": 12345678
          },
          "clientUnrealizedFXProfitLoss": {
            "type": "integer",
            "description": "Client unrealized FX profit/loss account ID",
            "example": 12345678
          },
          "supplierUnrealizedFXProfitLoss": {
            "type": "integer",
            "description": "Supplier unrealized FX profit/loss account ID",
            "example": 12345678
          },
          "supplierDiscountAccount": {
            "type": "integer",
            "description": "Supplier discount account ID",
            "example": 12345678
          },
          "fxgainLoss": {
            "type": "integer"
          }
        }
      },
      "InvoiceEmailContentSettingsRequest": {
        "type": "object",
        "description": "Custom email content settings for invoices, late notices and orders",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "salesInvoiceEmailSubjectLocalizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual sales invoice email subject"
          },
          "salesInvoiceEmailContentLocalizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual sales invoice email content"
          },
          "customSalesInvoiceEmail": {
            "type": "boolean",
            "description": "Whether a custom sales invoice email is used",
            "example": false
          },
          "lateNoticesEmailSubjectLocalizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual late notice email subject"
          },
          "lateNoticesEmailContentLocalizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual late notice email content"
          },
          "customLateNoticeEmail": {
            "type": "boolean",
            "description": "Whether a custom late notice email is used",
            "example": false
          },
          "orderEmailSubjectLocalizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual order email subject"
          },
          "orderEmailContentLocalizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual order email content"
          },
          "customSalesOrderEmail": {
            "type": "boolean",
            "description": "Whether a custom sales order email is used",
            "example": false
          }
        }
      },
      "InvoiceSettingsRequest": {
        "type": "object",
        "description": "Organization invoicing settings",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Invoice settings ID",
            "example": 12345678
          },
          "defaultPaymentTerms": {
            "type": "string",
            "description": "Default payment terms in days",
            "example": "30"
          },
          "emailForInvoiceScans": {
            "type": "string",
            "description": "Email address used to receive invoice scans",
            "example": "scans@example.com"
          },
          "scansTreatedByManagingOrg": {
            "type": "boolean",
            "description": "Whether invoice scans are treated by the managing organization",
            "example": false
          },
          "validatePurchaseInvoicesByDefaultType": {
            "type": "string",
            "description": "Default validation behavior for purchase invoices",
            "enum": [
              "NONE",
              "SINGLE",
              "DOUBLE"
            ],
            "example": "MANUAL"
          },
          "usePurchaseAccrualAccounting": {
            "type": "boolean",
            "description": "Whether to use purchase accrual accounting",
            "example": false
          },
          "skipDraftStatus": {
            "type": "boolean",
            "description": "Whether to skip the draft status for purchase invoices",
            "example": true
          },
          "plannedPaymentDateOffset": {
            "type": "integer",
            "format": "int32",
            "description": "Planned payment date offset in days",
            "example": 5
          },
          "purchasePaymentAccountId": {
            "type": "integer",
            "description": "Default purchase payment chart of accounts ID",
            "example": 12345678
          },
          "vatNumber": {
            "type": "string",
            "description": "VAT number",
            "example": "CHE-123.456.789 MWST"
          },
          "requestedPaymentTerms": {
            "type": "string",
            "description": "Requested payment terms for sales invoices in days",
            "example": "30"
          },
          "numbering": {
            "type": "string",
            "description": "Invoice numbering pattern",
            "example": "{YYYY}-{0000}"
          },
          "timesheets": {
            "type": "boolean",
            "description": "Whether timesheets are enabled at organization level",
            "example": false
          },
          "salesInvoiceConditionsLocalizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual sales invoice conditions text"
          },
          "useSalesAccrualAccounting": {
            "type": "boolean",
            "description": "Whether to use sales accrual accounting",
            "example": false
          },
          "validateSalesInvoicesByDefaultType": {
            "type": "string",
            "description": "Default validation behavior for sales invoices",
            "enum": [
              "NONE",
              "SINGLE",
              "DOUBLE"
            ],
            "example": "MANUAL"
          },
          "salesPaymentAccountId": {
            "type": "integer",
            "description": "Default sales payment chart of accounts ID",
            "example": 12345678
          },
          "useUnsentSalesStatus": {
            "type": "boolean",
            "description": "Whether to use the unsent status for sales invoices",
            "example": true
          },
          "lateInvoiceRequestedPaymentTerms": {
            "type": "string",
            "description": "Requested payment terms for late invoices",
            "example": "15"
          },
          "lateInvoiceConditionsLocalizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual late invoice conditions text"
          },
          "orderIdNumbering": {
            "type": "string",
            "description": "Order ID numbering pattern",
            "example": "{YYYY}-{0000}"
          },
          "expenseAccountId": {
            "type": "integer",
            "description": "Default expense chart of accounts ID",
            "example": 12345678
          },
          "orderValidity": {
            "type": "string",
            "description": "Default order validity in days",
            "example": "30"
          },
          "validateOrdersByDefaultType": {
            "type": "string",
            "description": "Default validation behavior for orders",
            "enum": [
              "NONE",
              "SINGLE",
              "DOUBLE"
            ],
            "example": "MANUAL"
          },
          "timesheetsAccountId": {
            "type": "integer",
            "description": "Default timesheets chart of accounts ID",
            "example": 12345678
          },
          "disbursementAccountId": {
            "type": "integer",
            "description": "Default disbursement chart of accounts ID",
            "example": 12345678
          },
          "salesOrderTermsLocalizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual sales order terms text"
          },
          "useUnsentOrdersStatus": {
            "type": "boolean",
            "description": "Whether to use the unsent status for orders",
            "example": true
          },
          "forceTreatedAsPi": {
            "type": "boolean",
            "description": "Whether to force purchase invoices to be treated as PI",
            "example": false
          },
          "invoiceEmailContentSettings": {
            "$ref": "#/components/schemas/InvoiceEmailContentSettingsRequest",
            "description": "Email content settings used when sending invoices"
          },
          "pdfInvoiceSplitterEnabled": {
            "type": "boolean",
            "description": "Whether PDF invoice splitting is enabled",
            "example": false
          }
        }
      },
      "MailServerConfigRequest": {
        "type": "object",
        "description": "Custom outgoing mail server configuration for the organization",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "host": {
            "type": "string",
            "description": "SMTP host",
            "example": "smtp.example.com"
          },
          "port": {
            "type": "integer",
            "format": "int32",
            "description": "SMTP port",
            "example": 587
          },
          "secureConnectionType": {
            "type": "string",
            "description": "Secure connection type",
            "enum": [
              "TLS",
              "NONE"
            ],
            "example": "STARTTLS"
          },
          "userName": {
            "type": "string",
            "description": "SMTP username",
            "example": "no-reply@example.com"
          },
          "password": {
            "type": "string",
            "description": "SMTP password",
            "example": "secret"
          },
          "useAuth": {
            "type": "boolean",
            "description": "Whether authentication is required",
            "example": true
          },
          "fromEmail": {
            "type": "string",
            "description": "From email address",
            "example": "no-reply@example.com"
          },
          "authType": {
            "type": "string",
            "description": "Authentication type",
            "enum": [
              "BASIC",
              "OAUTH2"
            ],
            "example": "BASIC"
          },
          "oauthProvider": {
            "type": "string",
            "description": "OAuth provider. Only relevant when authType = OAUTH",
            "enum": [
              "GOOGLE",
              "MICROSOFT",
              "YAHOO"
            ],
            "example": "GOOGLE"
          },
          "accessToken": {
            "type": "string",
            "description": "OAuth access token"
          },
          "refreshToken": {
            "type": "string",
            "description": "OAuth refresh token"
          },
          "clientId": {
            "type": "string",
            "description": "OAuth client ID"
          },
          "clientSecret": {
            "type": "string",
            "description": "OAuth client secret"
          },
          "oauthScopes": {
            "type": "string",
            "description": "OAuth scopes, space-separated",
            "example": "https://mail.google.com/"
          }
        }
      },
      "OrganizationRequest": {
        "type": "object",
        "description": "Request model for updating an organization.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Standalone organization ID",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Organization name",
            "example": "Acme Corp"
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code",
            "example": "CHF"
          },
          "mainLanguage": {
            "$ref": "#/components/schemas/Language",
            "description": "Main language"
          },
          "otherLanguages": {
            "type": "array",
            "description": "Additional languages",
            "items": {
              "$ref": "#/components/schemas/Language"
            }
          },
          "parentStandaloneOrganizationId": {
            "type": "integer",
            "description": "Parent organization ID",
            "example": 12345678
          },
          "nogaCodeId": {
            "type": "integer",
            "description": "NOGA economic activity code ID",
            "example": 12345678
          },
          "startDate": {
            "type": "string",
            "description": "Start date (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "endDate": {
            "type": "string",
            "description": "End date (format dd/MM/yyyy)",
            "example": "31/12/2026"
          },
          "externalId": {
            "type": "string",
            "description": "External identifier",
            "example": "EXT-001"
          },
          "archived": {
            "type": "boolean",
            "description": "Whether the organization is archived",
            "example": false
          },
          "isFreeTier": {
            "type": "boolean",
            "description": "Whether the organization is a free tier. Ignored if the current user is not an admin",
            "example": false
          },
          "isConsolidated": {
            "type": "boolean",
            "description": "Whether the organization is consolidated",
            "example": false
          },
          "consolidatedOrganizationIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "IDs of consolidated child organizations. Only relevant when isConsolidated = true",
              "example": 12345678
            }
          },
          "stockStrategy": {
            "type": "string",
            "description": "Stock valuation strategy",
            "enum": [
              "FIFO",
              "LIFO",
              "AVERAGE",
              "UNIT",
              "TRADING"
            ],
            "example": "FIFO"
          },
          "vatSupplierContactId": {
            "type": "integer",
            "description": "VAT supplier contact ID",
            "example": 12345678
          },
          "useUnsentPayrollStatus": {
            "type": "boolean",
            "description": "Whether to use the unsent payroll status",
            "example": false
          },
          "uid": {
            "type": "string",
            "description": "UID / company registration number",
            "example": "CHE-123.456.789"
          },
          "automaticSynchronizationOfContacts": {
            "type": "boolean",
            "description": "Whether contacts are automatically synchronized",
            "example": false
          },
          "auditorId": {
            "type": "integer",
            "description": "Auditor contact ID",
            "example": 12345678
          },
          "isFiduciary": {
            "type": "boolean",
            "description": "Whether this is a fiduciary organization",
            "example": false
          },
          "banks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BankRequest"
            }
          },
          "officeAddresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationAddressRequest"
            }
          },
          "invoiceSettings": {
            "$ref": "#/components/schemas/InvoiceSettingsRequest",
            "description": "Invoice, order and timesheet settings"
          },
          "defaultCodes": {
            "$ref": "#/components/schemas/DefaultCodesDetailsRequest",
            "description": "Default chart-of-accounts mapping"
          },
          "disbursements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DisbursementRequest"
            }
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmployeeTaskRequest"
            }
          },
          "organizationPayslips": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationPayslipRequest"
            }
          },
          "salaryCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalaryCodeRequest"
            },
            "uniqueItems": true
          },
          "mailServerConfig": {
            "$ref": "#/components/schemas/MailServerConfigRequest",
            "description": "Custom outgoing mail server configuration"
          },
          "employeeGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationEmployeeGroupRequest"
            }
          },
          "payslipLineCodes": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Payslip line codes applicable to this organization",
              "example": "AVS"
            }
          },
          "ebics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EbicsRequest"
            }
          },
          "unusedVacationsSettings": {
            "$ref": "#/components/schemas/UnusedVacationsSettingsRequest",
            "description": "Automatic accrual settings for unused vacation days"
          },
          "organizationTemplates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationTemplateRequest"
            }
          }
        },
        "required": [
          "currency",
          "mainLanguage",
          "name",
          "startDate"
        ]
      },
      "UnusedVacationsSettingsRequest": {
        "type": "object",
        "description": "Automatic accrual settings for unused vacation days",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "autoProvisionUnusedVacations": {
            "type": "boolean",
            "description": "Whether unused vacations are automatically provisioned",
            "example": false
          },
          "adminBalanceSheetAccountId": {
            "type": "integer",
            "description": "Admin staff balance sheet chart of accounts ID",
            "example": 12345678
          },
          "adminPlAccountId": {
            "type": "integer",
            "description": "Admin staff P&L chart of accounts ID",
            "example": 12345678
          },
          "operationsBalanceSheetAccountId": {
            "type": "integer",
            "description": "Operations staff balance sheet chart of accounts ID",
            "example": 12345678
          },
          "operationsPlAccountId": {
            "type": "integer",
            "description": "Operations staff P&L chart of accounts ID",
            "example": 12345678
          }
        }
      },
      "DefaultCodesDetails": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "clientBalanceSheet": {
            "type": "integer",
            "format": "int64"
          },
          "clientVAT": {
            "type": "integer",
            "format": "int64"
          },
          "clientVATPaid": {
            "type": "integer",
            "format": "int64"
          },
          "clientPrePayment": {
            "type": "integer",
            "format": "int64"
          },
          "clientPL": {
            "type": "integer",
            "format": "int64"
          },
          "supplierBalanceSheet": {
            "type": "integer",
            "format": "int64"
          },
          "supplierVAT": {
            "type": "integer",
            "format": "int64"
          },
          "supplierVATPaid": {
            "type": "integer",
            "format": "int64"
          },
          "supplierPrePayment": {
            "type": "integer",
            "format": "int64"
          },
          "retainedEarnings": {
            "type": "integer",
            "format": "int64"
          },
          "annualProfitLoss": {
            "type": "integer",
            "format": "int64"
          },
          "stock": {
            "type": "integer",
            "format": "int64"
          },
          "stockMovements": {
            "type": "integer",
            "format": "int64"
          },
          "bankExpenses": {
            "type": "integer",
            "format": "int64"
          },
          "transactionAdjustment": {
            "type": "integer",
            "format": "int64"
          },
          "accruedExpenses": {
            "type": "integer",
            "format": "int64"
          },
          "accruedRevenue": {
            "type": "integer",
            "format": "int64"
          },
          "compensation": {
            "type": "integer",
            "format": "int64"
          },
          "system": {
            "type": "integer",
            "format": "int64"
          },
          "lossOnDebtors": {
            "type": "integer",
            "format": "int64"
          },
          "workInProgress": {
            "type": "integer",
            "format": "int64"
          },
          "workInvoicedUpfront": {
            "type": "integer",
            "format": "int64"
          },
          "vatAccount": {
            "type": "integer",
            "format": "int64"
          },
          "depreciationAccount": {
            "type": "integer",
            "format": "int64"
          },
          "extraordinaryExpenseAccount": {
            "type": "integer",
            "format": "int64"
          },
          "extraordinaryIncomeAccount": {
            "type": "integer",
            "format": "int64"
          },
          "unrealizedFxGainLossChart": {
            "type": "integer",
            "format": "int64"
          },
          "clientUnrealizedFXProfitLoss": {
            "type": "integer",
            "format": "int64"
          },
          "supplierUnrealizedFXProfitLoss": {
            "type": "integer",
            "format": "int64"
          },
          "supplierDiscountAccount": {
            "type": "integer",
            "format": "int64"
          },
          "fXGainLoss": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "annualProfitLoss",
          "bankExpenses",
          "clientBalanceSheet",
          "clientPL",
          "clientPrePayment",
          "clientUnrealizedFXProfitLoss",
          "clientVAT",
          "clientVATPaid",
          "compensation",
          "depreciationAccount",
          "extraordinaryExpenseAccount",
          "extraordinaryIncomeAccount",
          "lossOnDebtors",
          "retainedEarnings",
          "stock",
          "stockMovements",
          "supplierBalanceSheet",
          "supplierDiscountAccount",
          "supplierUnrealizedFXProfitLoss",
          "supplierVAT",
          "supplierVATPaid",
          "system",
          "transactionAdjustment",
          "unrealizedFxGainLossChart",
          "vatAccount"
        ]
      },
      "Department": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "parentId": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Department"
            }
          },
          "isDeleted": {
            "type": "boolean"
          }
        }
      },
      "Ebics": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "ebicsServerId": {
            "type": "integer",
            "format": "int64"
          },
          "clientNumber": {
            "type": "string",
            "minLength": 1
          },
          "userNumber": {
            "type": "string",
            "minLength": 1
          },
          "status": {
            "type": "string"
          },
          "orderTransmission": {
            "type": "boolean"
          },
          "warnings": {
            "type": "string"
          },
          "ebicsServerName": {
            "type": "string"
          },
          "ebicsServerSwiftBic": {
            "type": "string"
          }
        },
        "required": [
          "clientNumber",
          "userNumber"
        ]
      },
      "EmployeeTask": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "archived": {
            "type": "boolean"
          }
        }
      },
      "MailServerConfig": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "host": {
            "type": "string",
            "minLength": 1
          },
          "port": {
            "type": "integer",
            "format": "int32"
          },
          "secureConnectionType": {
            "type": "string",
            "enum": [
              "TLS",
              "NONE"
            ]
          },
          "userName": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "useAuth": {
            "type": "boolean"
          },
          "fromEmail": {
            "type": "string"
          },
          "authType": {
            "type": "string",
            "enum": [
              "BASIC",
              "OAUTH2"
            ]
          },
          "oauthProvider": {
            "type": "string",
            "enum": [
              "GOOGLE",
              "MICROSOFT",
              "YAHOO"
            ]
          },
          "clientId": {
            "type": "string"
          },
          "oauthScopes": {
            "type": "string"
          },
          "requiresReauth": {
            "type": "boolean"
          },
          "basicAuth": {
            "type": "boolean"
          },
          "oauth": {
            "type": "boolean"
          }
        },
        "required": [
          "authType",
          "host",
          "port",
          "secureConnectionType"
        ]
      },
      "OrganizationEmployeeGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "payslipLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "required": [
          "name"
        ]
      },
      "SalaryTableLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "payslipEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "payslipLineId": {
            "type": "string"
          },
          "organizationPayslipEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "staffPayslipEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": "string"
          },
          "employeeValue": {
            "type": "string"
          },
          "employerValue": {
            "type": "string"
          },
          "quantity": {
            "type": "string"
          },
          "employeePercentage": {
            "type": "string"
          },
          "employerPercentage": {
            "type": "string"
          },
          "organizationEmployeeGroupId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "Order": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "contactName": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "status": {
            "type": "string",
            "enum": [
              "OFFERED",
              "OFFERED_SENT",
              "CONFIRMED",
              "CONFIRMED_SENT",
              "BILLABLE",
              "FINISHED",
              "CANCELLED"
            ]
          },
          "statusLastChangedDate": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "parentOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "department": {
            "type": "integer",
            "format": "int64"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "requestedPaymentTerms": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "orderValidity": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "minimumAmountToInvoice": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "ourContactId": {
            "type": "integer",
            "format": "int64"
          },
          "yourContactId": {
            "type": "integer",
            "format": "int64"
          },
          "periodicityConfiguration": {
            "$ref": "#/components/schemas/OrderPeriodicity"
          },
          "isTimesheetsEnabled": {
            "type": "boolean"
          },
          "timesheetsAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "fixedAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "timesheetsVatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "timesheetsVat": {
            "type": "string"
          },
          "timesheetsTotalPrice": {
            "type": "string"
          },
          "timesheetsDescription": {
            "type": "string"
          },
          "timesheetsLongDescription": {
            "type": "string"
          },
          "timesheetsDiscount": {
            "type": "number",
            "maximum": 99.99,
            "minimum": 0.0
          },
          "timesheetsDepartmentId": {
            "type": "integer",
            "format": "int64"
          },
          "timesheetsOfficeId": {
            "type": "integer",
            "format": "int64"
          },
          "isExpensesEnabled": {
            "type": "boolean"
          },
          "isDisbursementFeeEnabled": {
            "type": "boolean"
          },
          "disbursementDepartmentId": {
            "type": "integer",
            "format": "int64"
          },
          "expensesDepartmentId": {
            "type": "integer",
            "format": "int64"
          },
          "office": {
            "type": "integer",
            "format": "int64"
          },
          "disbursementOfficeId": {
            "type": "integer",
            "format": "int64"
          },
          "expensesOfficeId": {
            "type": "integer",
            "format": "int64"
          },
          "includedArticles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderArticle"
            }
          },
          "orderLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderLine"
            }
          },
          "orderElementsLayoutLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderElementsLayoutLine"
            }
          },
          "warnings": {
            "type": "string"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "isInvoiceGenerated": {
            "type": "boolean"
          },
          "hasOnlyPrepaymentsInvoices": {
            "type": "boolean"
          },
          "yourReference": {
            "type": "string"
          },
          "clientAddressId": {
            "type": "integer",
            "format": "int64"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "clientName": {
            "type": "string"
          },
          "statusHistories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderStatusHistory"
            }
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderTask"
            }
          },
          "clientHasVatType": {
            "type": "boolean"
          },
          "validated": {
            "type": "boolean"
          },
          "paymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "validatorUserIdsSize": {
            "type": "integer",
            "format": "int64"
          },
          "validatorUserIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "realValidated": {
            "type": "boolean"
          },
          "activeSubOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "activeSubOrderInvoicingDate": {
            "type": "string",
            "format": "date-time"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "hasProformaInvoice": {
            "type": "boolean"
          },
          "periodic": {
            "type": "boolean"
          }
        },
        "required": [
          "contactId",
          "currencyId",
          "name",
          "periodicityConfiguration"
        ]
      },
      "OrderArticle": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "tempId": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": "string"
          },
          "longDescription": {
            "type": "string"
          },
          "price": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "amount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "discount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "totalNet": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "vat": {
            "type": "string"
          },
          "totalPrice": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "SHIPPED",
              "PARTIALLY_SHIPPED",
              "NOT_SHIPPED",
              "SERVICE"
            ]
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderShipment"
            }
          },
          "articleName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "articleMeasurement": {
            "type": "string",
            "enum": [
              "UNIT",
              "ML",
              "DL",
              "L",
              "HL",
              "G",
              "KG",
              "T",
              "H",
              "M",
              "M_2",
              "M_3",
              "KM",
              "DAY"
            ],
            "readOnly": true
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "articleId"
        ]
      },
      "OrderElementsLayoutLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "parentId": {
            "type": "integer",
            "format": "int64"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderElementsLayoutLine"
            }
          },
          "lineType": {
            "type": "string",
            "enum": [
              "ARTICLE",
              "ORDER_LINE",
              "TIMESHEET",
              "TIMESHEET_FIXED",
              "EXPENSES",
              "DISBURSEMENT",
              "HEADER"
            ]
          },
          "orderElementId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OrderLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "tempId": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": "string"
          },
          "longDescription": {
            "type": "string"
          },
          "saleAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "price": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "amount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "discount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "totalNet": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "vat": {
            "type": "string"
          },
          "totalPrice": {
            "type": "string"
          },
          "saleAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OrderPeriodicity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "periodicityType": {
            "type": "string",
            "enum": [
              "NONE",
              "DAILY",
              "WEEKLY",
              "BI_WEEKLY",
              "EVERY_MONTH",
              "EVERY_2_MONTH",
              "EVERY_3_MONTH",
              "EVERY_4_MONTH",
              "EVERY_6_MONTH",
              "ANNUAL"
            ]
          },
          "dayOfWeek": {
            "type": "string",
            "enum": [
              "MONDAY",
              "TUESDAY",
              "WEDNESDAY",
              "THURSDAY",
              "FRIDAY",
              "SATURDAY",
              "SUNDAY"
            ]
          },
          "invoicingTime": {
            "type": "string",
            "enum": [
              "FIRST_DAY",
              "LAST_DAY",
              "FIRST_WORKING_DAY",
              "LAST_WORKING_DAY"
            ]
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "startDate"
        ]
      },
      "OrderStatusHistory": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "status": {
            "type": "string",
            "enum": [
              "OFFERED",
              "OFFERED_SENT",
              "CONFIRMED",
              "CONFIRMED_SENT",
              "BILLABLE",
              "FINISHED",
              "CANCELLED"
            ]
          },
          "date": {
            "type": "string"
          }
        }
      },
      "OrderTask": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "rate": {
            "type": "number"
          },
          "parentId": {
            "type": "integer",
            "format": "int64"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderTask"
            }
          },
          "archived": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "PrePayment": {
        "type": "object",
        "properties": {
          "netAmount": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "description": {
            "type": "string",
            "minLength": 1
          },
          "longDescription": {
            "type": "string"
          }
        },
        "required": [
          "date",
          "description"
        ]
      },
      "PartialPayment": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "articles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartialPaymentArticle"
            }
          },
          "orderLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartialPaymentOrderLine"
            }
          }
        },
        "required": [
          "date"
        ]
      },
      "PartialPaymentArticle": {
        "type": "object",
        "properties": {
          "orderArticleId": {
            "type": "integer",
            "format": "int64"
          },
          "amount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "totalNet": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          }
        }
      },
      "PartialPaymentOrderLine": {
        "type": "object",
        "properties": {
          "orderLineId": {
            "type": "integer",
            "format": "int64"
          },
          "amount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "totalNet": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          }
        }
      },
      "OrderArticleRequest": {
        "type": "object",
        "description": "Article line within an order (includedArticles)",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "tempId": {
            "type": "integer",
            "description": "Temporary negative ID used when this article is new. Must match id if id < 0",
            "example": -1
          },
          "orderId": {
            "type": "integer",
            "description": "Order ID this article belongs to",
            "example": 12345678
          },
          "articleId": {
            "type": "integer",
            "description": "Article ID",
            "example": 12345678
          },
          "description": {
            "type": "string",
            "description": "Description override",
            "example": "Custom widget"
          },
          "longDescription": {
            "type": "string",
            "description": "Long description"
          },
          "price": {
            "type": "string",
            "description": "Unit price as string",
            "example": "100.00"
          },
          "amount": {
            "type": "string",
            "description": "Quantity as string",
            "example": "5.00"
          },
          "discount": {
            "type": "string",
            "description": "Discount percentage as string. Defaults to 0",
            "example": "10.00"
          },
          "totalNet": {
            "type": "string",
            "description": "Net total as string",
            "example": "450.00"
          },
          "vatRateId": {
            "type": "integer",
            "description": "VAT rate ID. Send null or -1 for no VAT",
            "example": 12345678
          },
          "vat": {
            "type": "string",
            "description": "VAT amount as string",
            "example": "35.10"
          },
          "totalPrice": {
            "type": "string",
            "description": "Total price including VAT as string",
            "example": "485.10"
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderShipmentRequest",
              "description": "Shipment records for this article line"
            }
          },
          "departmentId": {
            "type": "integer",
            "description": "Department ID",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          }
        }
      },
      "OrderShipmentRequest": {
        "type": "object",
        "description": "Stock shipment linked to an order article line",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "shipmentDate": {
            "type": "string",
            "description": "Shipment date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "articleId": {
            "type": "integer",
            "description": "Article ID",
            "example": 12345678
          },
          "quantity": {
            "type": "string",
            "description": "Quantity as string",
            "example": "10.000"
          },
          "totalCost": {
            "type": "number",
            "description": "Total cost",
            "example": 250.0
          },
          "generatedStockMovementId": {
            "type": "integer",
            "description": "ID of the stock movement generated for this shipment",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          },
          "orderArticleId": {
            "type": "integer",
            "description": "Order article ID this shipment belongs to",
            "example": 12345678
          },
          "salesInvoiceLineId": {
            "type": "integer",
            "description": "Sales invoice line ID this shipment was billed through",
            "example": 12345678
          }
        }
      },
      "OrderLineRequest": {
        "type": "object",
        "description": "Free-text line within an order (orderLines)",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "tempId": {
            "type": "integer",
            "description": "Temporary negative ID used when this line is new. Must match id if id < 0",
            "example": -1
          },
          "orderId": {
            "type": "integer",
            "description": "Order ID this line belongs to",
            "example": 12345678
          },
          "description": {
            "type": "string",
            "description": "Line description",
            "example": "Project management fee"
          },
          "longDescription": {
            "type": "string",
            "description": "Long description"
          },
          "saleAccountId": {
            "type": "integer",
            "description": "Chart of accounts (sale account) ID",
            "example": 12345678
          },
          "price": {
            "type": "string",
            "description": "Unit price as string",
            "example": "200.00"
          },
          "amount": {
            "type": "string",
            "description": "Quantity as string",
            "example": "1.00"
          },
          "discount": {
            "type": "string",
            "description": "Discount percentage as string. Defaults to 0",
            "example": "0.00"
          },
          "totalNet": {
            "type": "string",
            "description": "Net total as string",
            "example": "200.00"
          },
          "vatRateId": {
            "type": "integer",
            "description": "VAT rate ID. Send null or -1 for no VAT",
            "example": 12345678
          },
          "vat": {
            "type": "string",
            "description": "VAT amount as string",
            "example": "15.60"
          },
          "totalPrice": {
            "type": "string",
            "description": "Total price including VAT as string",
            "example": "215.60"
          },
          "departmentId": {
            "type": "integer",
            "description": "Department ID",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          }
        }
      },
      "OrderElementsLayoutLineRequest": {
        "type": "object",
        "description": "Layout line for ordering/grouping order elements and tasks. Recursive structure: children have the same shape. Used for both orderElementsLayoutLines and tasks.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Display name of the group or section",
            "example": "Services"
          },
          "parentId": {
            "type": "integer",
            "description": "Parent layout line ID",
            "example": 12345678
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "description": "Position among siblings",
            "example": 1
          },
          "lineType": {
            "type": "string",
            "description": "Line type",
            "enum": [
              "ARTICLE",
              "ORDER_LINE",
              "TIMESHEET",
              "TIMESHEET_FIXED",
              "EXPENSES",
              "DISBURSEMENT",
              "HEADER"
            ],
            "example": "ARTICLE"
          },
          "orderElementId": {
            "type": "integer",
            "description": "ID of the order element (article or line) this layout entry refers to",
            "example": 12345678
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderElementsLayoutLineRequest",
              "description": "Child layout lines (recursive)"
            }
          }
        }
      },
      "OrderTaskRequest": {
        "type": "object",
        "description": "Task within an order's timesheet task tree (recursive)",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string",
            "description": "Task name",
            "example": "Development"
          },
          "rate": {
            "type": "number",
            "description": "Hourly rate",
            "example": 100.0
          },
          "parentId": {
            "type": "integer",
            "description": "Parent task ID",
            "example": 12345678
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "description": "Position among siblings",
            "example": 1
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderTaskRequest",
              "description": "Child tasks (recursive)"
            }
          },
          "archived": {
            "type": "boolean",
            "description": "Whether the task is archived",
            "example": false
          }
        },
        "required": [
          "name"
        ]
      },
      "OrderPeriodicityRequest": {
        "type": "object",
        "description": "Recurring invoicing configuration for an order",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "startDate": {
            "type": "string",
            "description": "Start date (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "endDate": {
            "type": "string",
            "description": "End date (format dd/MM/yyyy)",
            "example": "31/12/2026"
          },
          "periodicityType": {
            "type": "string",
            "description": "Periodicity type. NONE disables recurring invoicing",
            "enum": [
              "NONE",
              "DAILY",
              "WEEKLY",
              "BI_WEEKLY",
              "EVERY_MONTH",
              "EVERY_2_MONTH",
              "EVERY_3_MONTH",
              "EVERY_4_MONTH",
              "EVERY_6_MONTH",
              "ANNUAL"
            ],
            "example": "MONTHLY"
          },
          "dayOfWeek": {
            "type": "string",
            "description": "Day of week the invoice is generated on, when applicable",
            "enum": [
              "MONDAY",
              "TUESDAY",
              "WEDNESDAY",
              "THURSDAY",
              "FRIDAY",
              "SATURDAY",
              "SUNDAY"
            ],
            "example": "MONDAY"
          },
          "invoicingTime": {
            "type": "string",
            "description": "When during the period the invoice is generated",
            "enum": [
              "FIRST_DAY",
              "LAST_DAY",
              "FIRST_WORKING_DAY",
              "LAST_WORKING_DAY"
            ],
            "example": "START_OF_PERIOD"
          },
          "orderId": {
            "type": "integer",
            "description": "Order ID this periodicity belongs to",
            "example": 12345678
          }
        },
        "required": [
          "periodicityType"
        ]
      },
      "OrderRequest": {
        "type": "object",
        "description": "Request model for creating or updating an order",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "contactId": {
            "type": "integer",
            "description": "Client contact ID",
            "example": 12345678
          },
          "orderId": {
            "type": "string",
            "description": "Internal order number / code",
            "example": "ORD-2026-001"
          },
          "name": {
            "type": "string",
            "description": "Order name",
            "example": "Website Redesign"
          },
          "description": {
            "type": "string",
            "description": "Order description",
            "example": "Full redesign of the company website"
          },
          "parentOrderId": {
            "type": "integer",
            "description": "Parent order ID. Send -1 to indicate no parent",
            "example": -1
          },
          "department": {
            "type": "integer",
            "description": "Business unit (department) ID",
            "example": 12345678
          },
          "vatRateId": {
            "type": "integer",
            "description": "VAT rate ID. Send null or -1 for no VAT",
            "example": 12345678
          },
          "currencyId": {
            "type": "integer",
            "description": "Currency ID",
            "example": 12345678
          },
          "requestedPaymentTerms": {
            "type": "string",
            "description": "Requested payment terms in days",
            "example": "30"
          },
          "orderValidity": {
            "type": "string",
            "description": "Order validity in days",
            "example": "30"
          },
          "minimumAmountToInvoice": {
            "type": "string",
            "description": "Minimum invoiceable amount as string",
            "example": "100.00"
          },
          "ourContactId": {
            "type": "integer",
            "description": "Our contact ID",
            "example": 12345678
          },
          "yourContactId": {
            "type": "integer",
            "description": "Your contact ID (client's internal contact)",
            "example": 12345678
          },
          "isTimesheetsEnabled": {
            "type": "boolean",
            "description": "Whether timesheets are enabled for this order",
            "example": false
          },
          "timesheetsAccountId": {
            "type": "integer",
            "description": "Timesheets chart of accounts ID",
            "example": 12345678
          },
          "fixedAmount": {
            "type": "string",
            "description": "Fixed amount for TIMESHEET_FIXED type",
            "example": "5000.00"
          },
          "timesheetsVatRateId": {
            "type": "integer",
            "description": "VAT rate ID for fixed timesheets",
            "example": 12345678
          },
          "timesheetsVat": {
            "type": "string",
            "description": "VAT amount for fixed timesheets",
            "example": "400.00"
          },
          "timesheetsTotalPrice": {
            "type": "string",
            "description": "Total price for fixed timesheets",
            "example": "5400.00"
          },
          "timesheetsDescription": {
            "type": "string",
            "description": "Description for timesheet element",
            "example": "Monthly consulting"
          },
          "timesheetsLongDescription": {
            "type": "string",
            "description": "Long description for timesheet element"
          },
          "timesheetsDiscount": {
            "type": "number",
            "description": "Discount for timesheet element as BigDecimal",
            "example": 0.0
          },
          "timesheetsDepartmentId": {
            "type": "integer",
            "description": "Department ID for timesheet element",
            "example": 12345678
          },
          "timesheetsOfficeId": {
            "type": "integer",
            "description": "Office ID for timesheet element",
            "example": 12345678
          },
          "isExpensesEnabled": {
            "type": "boolean",
            "description": "Whether expenses are enabled for this order",
            "example": false
          },
          "isDisbursementFeeEnabled": {
            "type": "boolean",
            "description": "Whether disbursement fee is enabled",
            "example": false
          },
          "disbursementDepartmentId": {
            "type": "integer",
            "description": "Department ID for disbursement element",
            "example": 12345678
          },
          "disbursementOfficeId": {
            "type": "integer",
            "description": "Office ID for disbursement element",
            "example": 12345678
          },
          "expensesDepartmentId": {
            "type": "integer",
            "description": "Department ID for expenses element",
            "example": 12345678
          },
          "expensesOfficeId": {
            "type": "integer",
            "description": "Office ID for expenses element",
            "example": 12345678
          },
          "office": {
            "type": "integer",
            "description": "Primary office ID",
            "example": 12345678
          },
          "clientAddressId": {
            "type": "integer",
            "description": "Client address ID for delivery",
            "example": 12345678
          },
          "address": {
            "$ref": "#/components/schemas/AddressRequest",
            "description": "Delivery address for an order"
          },
          "validated": {
            "type": "boolean",
            "description": "Whether the order is validated",
            "example": false
          },
          "paymentAccountId": {
            "type": "integer",
            "description": "Payment chart of accounts ID",
            "example": 12345678
          },
          "validatorUserIdsSize": {
            "type": "integer",
            "description": "Validator user IDs size",
            "example": 2
          },
          "validatorUserIds": {
            "type": "array",
            "description": "Validator user IDs array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "systemValidated": {
            "type": "boolean",
            "description": "Whether validated by the system",
            "example": false
          },
          "hasProformaInvoice": {
            "type": "boolean",
            "description": "Whether there is a proforma invoice",
            "example": false
          },
          "warnings": {
            "type": "string",
            "description": "JSON-stringified warnings map. Send null to clear",
            "example": {
              "FIELD": "WARNING_CODE"
            }
          },
          "organizationId": {
            "type": "integer",
            "description": "Organization ID",
            "example": 12345678
          },
          "yourReference": {
            "type": "string",
            "description": "Your reference string",
            "example": "PO-2026-100"
          },
          "clientName": {
            "type": "string",
            "description": "Client name (for display in context without a separate lookup)",
            "example": "John Doe"
          },
          "periodicityConfiguration": {
            "$ref": "#/components/schemas/OrderPeriodicityRequest",
            "description": "Periodicity configuration for recurring orders"
          },
          "communicationEmail": {
            "type": "string",
            "description": "Communication email for this order",
            "example": "contact@example.com"
          },
          "orderEmail": {
            "type": "string",
            "description": "Order email address",
            "example": "orders@example.com"
          },
          "includedArticles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderArticleRequest"
            }
          },
          "orderLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderLineRequest"
            }
          },
          "orderElementsLayoutLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderElementsLayoutLineRequest"
            }
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderTaskRequest"
            }
          }
        }
      },
      "ChangePasswordMyAccount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "currentPassword": {
            "type": "string"
          },
          "newPassword": {
            "type": "string"
          }
        }
      },
      "TimeEntry": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNSUBMITTED",
              "SUBMITTED",
              "REJECTED",
              "APPROVED",
              "BILLED"
            ]
          },
          "isBillable": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "startTime": {
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "format": "date-time"
          },
          "time": {
            "type": "string",
            "pattern": "^(\\d+[.]\\d{2})|$"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "clientName": {
            "type": "string"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "orderName": {
            "type": "string"
          },
          "taskId": {
            "type": "integer",
            "format": "int64"
          },
          "taskName": {
            "type": "string"
          },
          "isLocked": {
            "type": "boolean"
          }
        },
        "required": [
          "date",
          "orderId"
        ]
      },
      "ExpenseRequest": {
        "type": "object",
        "description": "Request model for creating or updating an expense.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "reBill": {
            "type": "boolean",
            "description": "Whether this expense should be rebilled to the client",
            "example": false
          },
          "description": {
            "type": "string",
            "description": "Expense description / memo",
            "example": "Client lunch"
          },
          "date": {
            "type": "string",
            "description": "Expense date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "merchant": {
            "type": "string",
            "description": "Merchant name. This as a plain string. If a merchant with this name does not exist, one will be created.",
            "example": "Starbucks"
          },
          "currencyNetAmount": {
            "type": "string",
            "description": "Net amount in the original currency, as string",
            "example": "100.00"
          },
          "currencyVatAmount": {
            "type": "string",
            "description": "VAT amount in the original currency, as string",
            "example": "20.00"
          },
          "currencyTotalAmount": {
            "type": "string",
            "description": "Total amount in the original currency, as string",
            "example": "120.00"
          },
          "companyCurrencyTotalAmount": {
            "type": "string",
            "description": "Total amount in the company's currency, as string",
            "example": "120.00"
          },
          "paymentType": {
            "type": "string",
            "description": "Payment type",
            "enum": [
              "OWN_RESOURCES",
              "COMPANY_RESOURCES"
            ],
            "example": "CREDIT_CARD"
          },
          "currencyId": {
            "type": "integer",
            "description": "Currency ID",
            "example": 12345678
          },
          "chartOfAccountsId": {
            "type": "integer",
            "description": "Chart of accounts (expense category) ID",
            "example": 12345678
          },
          "departmentId": {
            "type": "integer",
            "description": "Department ID",
            "example": 12345678
          },
          "orderId": {
            "type": "integer",
            "description": "Order ID this expense is attributed to",
            "example": 12345678
          },
          "orderClientId": {
            "type": "integer",
            "description": "Client (contact) ID associated with the order",
            "example": 12345678
          },
          "vatRateId": {
            "type": "integer",
            "description": "VAT rate ID. Use null for \"Manual\" type VAT entries.",
            "example": 12345678
          },
          "receiptDocumentFileId": {
            "type": "integer",
            "description": "Receipt document file ID. Taken from the uploaded document's fileId",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          }
        },
        "required": [
          "chartOfAccountsId",
          "currencyId",
          "date",
          "merchant",
          "paymentType"
        ]
      },
      "Expense": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "reBill": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNSUBMITTED",
              "SUBMITTED",
              "APPROVED",
              "REFUSED",
              "BILLED"
            ]
          },
          "description": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "merchant": {
            "type": "string",
            "minLength": 1
          },
          "currencyNetAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "currencyVatAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "currencyTotalAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "companyCurrencyTotalAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "paymentType": {
            "type": "string",
            "enum": [
              "OWN_RESOURCES",
              "COMPANY_RESOURCES"
            ]
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "chartOfAccountsId": {
            "type": "integer",
            "format": "int64"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "orderClientId": {
            "type": "integer",
            "format": "int64"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "receiptDocumentFileId": {
            "type": "integer",
            "format": "int64"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "chartOfAccountsId",
          "currencyId",
          "date",
          "merchant",
          "paymentType"
        ]
      },
      "ConnectResponse": {
        "type": "object",
        "properties": {
          "isSuccessful": {
            "type": "boolean"
          },
          "errorType": {
            "type": "string",
            "enum": [
              "VALIDATION_ERROR",
              "SERVER_UNREACHABLE",
              "AUTHENTICATION_FAILED",
              "OTHER"
            ]
          },
          "message": {
            "type": "string"
          }
        }
      },
      "OAuthInitRequest": {
        "type": "object",
        "properties": {
          "mailServerConfigId": {
            "type": "integer",
            "format": "int64"
          },
          "provider": {
            "type": "string",
            "enum": [
              "GOOGLE",
              "MICROSOFT",
              "YAHOO"
            ]
          },
          "clientId": {
            "type": "string",
            "minLength": 1
          },
          "clientSecret": {
            "type": "string",
            "minLength": 1
          },
          "redirectUri": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "clientId",
          "clientSecret",
          "mailServerConfigId",
          "provider",
          "redirectUri"
        ]
      },
      "OAuthConsentUrlResponse": {
        "type": "object",
        "properties": {
          "consentUrl": {
            "type": "string"
          },
          "state": {
            "type": "string"
          }
        }
      },
      "OAuthCallbackRequest": {
        "type": "object",
        "properties": {
          "mailServerConfigId": {
            "type": "integer",
            "format": "int64"
          },
          "code": {
            "type": "string",
            "minLength": 1
          },
          "state": {
            "type": "string",
            "minLength": 1
          },
          "redirectUri": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "code",
          "mailServerConfigId",
          "redirectUri",
          "state"
        ]
      },
      "LateNoticeSendResult": {
        "type": "object",
        "properties": {
          "sent": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          }
        }
      },
      "JournalImportFileDto": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary",
            "description": "Excel file (.xlsx) to import"
          }
        },
        "required": [
          "file"
        ]
      },
      "JournalEntry": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "entryId": {
            "type": "integer",
            "format": "int64"
          },
          "entryDate": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "minLength": 1
          },
          "amount": {
            "type": "number"
          },
          "journalLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JournalLine"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "OPENING",
              "MANUAL",
              "PURCHASE_INVOICE",
              "SALES_INVOICE",
              "SALARY_SLIP",
              "STOCK",
              "CLOSING",
              "SYSTEM",
              "SYSTEM_FX",
              "SYSTEM_PFUV",
              "FIXED_ASSET"
            ]
          },
          "warnings": {
            "type": "string"
          },
          "isUnmodifiable": {
            "type": "boolean"
          }
        },
        "required": [
          "description"
        ]
      },
      "JournalLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "journalEntryId": {
            "type": "integer",
            "format": "int64"
          },
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "accountNumber": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "$ref": "#/components/schemas/Translation"
          },
          "accountCurrencyId": {
            "type": "integer",
            "format": "int64"
          },
          "accountCurrencyCode": {
            "type": "string"
          },
          "foreignCurrencyId": {
            "type": "integer",
            "format": "int64"
          },
          "foreignCurrencyCode": {
            "type": "string"
          },
          "accountDebit": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "accountCredit": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "foreignDebit": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "foreignCredit": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "companyDebit": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "companyCredit": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "departmentName": {
            "type": "string"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "contactName": {
            "type": "string"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "orderIdToDisplay": {
            "type": "string"
          },
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "articleIdToDisplay": {
            "$ref": "#/components/schemas/Translation"
          },
          "vatCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VatCode"
            }
          },
          "vatCodesConcatenated": {
            "$ref": "#/components/schemas/Translation"
          },
          "accountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "officeName": {
            "type": "string"
          }
        },
        "required": [
          "accountId"
        ]
      },
      "VatCode": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "code": {
            "type": "string"
          },
          "title": {
            "$ref": "#/components/schemas/Translation"
          },
          "countryId": {
            "type": "integer",
            "format": "int64"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "effectiveDate": {
            "type": "string"
          }
        }
      },
      "JournalLineVatCodeRequest": {
        "type": "object",
        "description": "VAT code reference. Only id is required on input",
        "properties": {
          "id": {
            "type": "integer",
            "description": "VAT code ID",
            "example": 12345678
          }
        },
        "required": [
          "id"
        ]
      },
      "JournalLineRequest": {
        "type": "object",
        "description": "Request model for a journal entry line",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "journalEntryId": {
            "type": "integer",
            "description": "Journal entry ID this line belongs to",
            "example": 12345678
          },
          "accountId": {
            "type": "integer",
            "description": "Chart of accounts ID",
            "example": 12345678
          },
          "description": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual description for the journal line"
          },
          "accountCurrencyId": {
            "type": "integer",
            "description": "Account currency ID",
            "example": 12345678
          },
          "foreignCurrencyId": {
            "type": "integer",
            "description": "Foreign currency ID",
            "example": 12345678
          },
          "accountDebit": {
            "type": "string",
            "description": "Debit amount in the account currency, as string",
            "example": "100.00"
          },
          "accountCredit": {
            "type": "string",
            "description": "Credit amount in the account currency, as string, sent as a negative value",
            "example": "-100.00"
          },
          "foreignDebit": {
            "type": "string",
            "description": "Debit amount in the foreign currency, as string",
            "example": "100.00"
          },
          "foreignCredit": {
            "type": "string",
            "description": "Credit amount in the foreign currency, as string, sent as a negative value",
            "example": "-100.00"
          },
          "companyDebit": {
            "type": "string",
            "description": "Debit amount in the company currency, as string",
            "example": "100.00"
          },
          "companyCredit": {
            "type": "string",
            "description": "Credit amount in the company currency, as string, sent as a negative value",
            "example": "-100.00"
          },
          "departmentId": {
            "type": "integer",
            "description": "Department ID",
            "example": 12345678
          },
          "contactId": {
            "type": "integer",
            "description": "Contact ID",
            "example": 12345678
          },
          "orderId": {
            "type": "integer",
            "description": "Order ID",
            "example": 12345678
          },
          "articleId": {
            "type": "integer",
            "description": "Article ID",
            "example": 12345678
          },
          "vatCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JournalLineVatCodeRequest",
              "description": "VAT codes applied to this line"
            }
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          }
        },
        "required": [
          "accountId"
        ]
      },
      "JournalEntryRequest": {
        "type": "object",
        "description": "Request model for creating or updating a journal entry",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "organizationId": {
            "type": "integer",
            "description": "Organization ID",
            "example": 12345678
          },
          "entryId": {
            "type": "integer",
            "description": "Entry reference ID (displayed as entry number)",
            "example": 12345678
          },
          "entryDate": {
            "type": "string",
            "description": "Entry date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "description": {
            "type": "string",
            "description": "Entry description",
            "example": "Office rent payment"
          },
          "amount": {
            "type": "number",
            "description": "Total amount of the entry, computed as the maximum of total debit and total credit in company currency",
            "example": 1200.0
          },
          "debitAccounts": {
            "type": "string",
            "description": "Slash-separated list of debit account numbers",
            "example": "1000/2000"
          },
          "creditAccounts": {
            "type": "string",
            "description": "Slash-separated list of credit account numbers",
            "example": "3000/4000"
          },
          "type": {
            "type": "string",
            "description": "Journal entry type",
            "enum": [
              "OPENING",
              "MANUAL",
              "PURCHASE_INVOICE",
              "SALES_INVOICE",
              "SALARY_SLIP",
              "STOCK",
              "CLOSING",
              "SYSTEM",
              "SYSTEM_FX",
              "SYSTEM_PFUV",
              "FIXED_ASSET"
            ],
            "example": "MANUAL"
          },
          "journalLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JournalLineRequest"
            }
          }
        },
        "required": [
          "description",
          "entryDate"
        ]
      },
      "PermissionEntry": {
        "type": "object",
        "description": "Role permission entry",
        "properties": {
          "id": {
            "type": "integer",
            "example": 12345678
          },
          "module": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ],
            "example": "CONTACTS"
          },
          "canView": {
            "type": [
              "boolean",
              "null"
            ],
            "example": true
          },
          "canCreate": {
            "type": [
              "boolean",
              "null"
            ],
            "example": false
          },
          "canModify": {
            "type": [
              "boolean",
              "null"
            ],
            "example": false
          },
          "canDelete": {
            "type": [
              "boolean",
              "null"
            ],
            "example": false
          },
          "canExport": {
            "type": [
              "boolean",
              "null"
            ],
            "example": false
          },
          "viewType": {
            "type": "string",
            "description": "Can be null",
            "enum": [
              "NONE",
              "ALL",
              "OWNER",
              "WORKFLOW"
            ],
            "example": "NONE"
          },
          "modifyType": {
            "type": "string",
            "description": "Can be null",
            "enum": [
              "NONE",
              "ALL",
              "OWNER",
              "WORKFLOW"
            ],
            "example": "NONE"
          },
          "deleteType": {
            "type": "string",
            "description": "Can be null",
            "enum": [
              "NONE",
              "ALL",
              "OWNER",
              "WORKFLOW"
            ],
            "example": "NONE"
          }
        }
      },
      "RoleRequest": {
        "type": "object",
        "description": "Request model for role",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "type": {
            "type": "string",
            "example": "ROLE"
          },
          "description": {
            "type": "string",
            "example": "string"
          },
          "isDefault": {
            "type": "boolean",
            "example": false
          },
          "name": {
            "type": "string",
            "example": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionEntry"
            }
          }
        }
      },
      "SuperRoleRequest": {
        "type": "object",
        "description": "Request model for super role",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "type": {
            "type": "string",
            "example": "SUPER_ROLE"
          },
          "description": {
            "type": "string",
            "example": "string"
          },
          "isDefault": {
            "type": "boolean",
            "example": false
          },
          "name": {
            "type": "string",
            "example": "string"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleRequest"
            }
          }
        }
      },
      "ExpenseDraftRequest": {
        "type": "object",
        "description": "Request model for creating or updating an expense draft. Amount fields are not strictly validated since a draft may be incomplete (e.g. freshly scanned from a receipt).",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "reBill": {
            "type": "boolean",
            "description": "Whether this expense should be rebilled to the client",
            "example": false
          },
          "description": {
            "type": "string",
            "description": "Expense description / memo",
            "example": "Client lunch"
          },
          "date": {
            "type": "string",
            "description": "Expense date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "merchant": {
            "type": "string",
            "description": "Merchant name. This as a plain string. If a merchant with this name does not exist, one will be created.",
            "example": "Starbucks"
          },
          "currencyNetAmount": {
            "type": "string",
            "description": "Net amount in the original currency, as string",
            "example": "100.00"
          },
          "currencyVatAmount": {
            "type": "string",
            "description": "VAT amount in the original currency, as string",
            "example": "20.00"
          },
          "currencyTotalAmount": {
            "type": "string",
            "description": "Total amount in the original currency, as string",
            "example": "120.00"
          },
          "companyCurrencyTotalAmount": {
            "type": "string",
            "description": "Total amount in the company's currency, as string",
            "example": "120.00"
          },
          "paymentType": {
            "type": "string",
            "description": "Payment type",
            "enum": [
              "OWN_RESOURCES",
              "COMPANY_RESOURCES"
            ],
            "example": "CREDIT_CARD"
          },
          "currencyId": {
            "type": "integer",
            "description": "Currency ID",
            "example": 12345678
          },
          "chartOfAccountsId": {
            "type": "integer",
            "description": "Chart of accounts (expense category) ID",
            "example": 12345678
          },
          "departmentId": {
            "type": "integer",
            "description": "Department ID",
            "example": 12345678
          },
          "orderId": {
            "type": "integer",
            "description": "Order ID this expense is attributed to",
            "example": 12345678
          },
          "orderClientId": {
            "type": "integer",
            "description": "Client (contact) ID associated with the order",
            "example": 12345678
          },
          "vatRateId": {
            "type": "integer",
            "description": "VAT rate ID. Use null for \"Manual\" type VAT entries.",
            "example": 12345678
          },
          "receiptDocumentFileId": {
            "type": "integer",
            "description": "Receipt document file ID. Taken from the uploaded document's fileId",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          }
        },
        "required": [
          "date"
        ]
      },
      "ExpenseDraft": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "reBill": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "merchant": {
            "type": "string"
          },
          "currencyNetAmount": {
            "type": "string"
          },
          "currencyVatAmount": {
            "type": "string"
          },
          "currencyTotalAmount": {
            "type": "string"
          },
          "companyCurrencyTotalAmount": {
            "type": "string"
          },
          "paymentType": {
            "type": "string",
            "enum": [
              "OWN_RESOURCES",
              "COMPANY_RESOURCES"
            ]
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "chartOfAccountsId": {
            "type": "integer",
            "format": "int64"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "orderClientId": {
            "type": "integer",
            "format": "int64"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "receiptDocumentFileId": {
            "type": "integer",
            "format": "int64"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "date"
        ]
      },
      "CurrencyConversion": {
        "type": "object",
        "properties": {
          "currencyFrom": {
            "type": "integer",
            "format": "int64"
          },
          "currencyTo": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string"
          },
          "requestedAmount": {
            "type": "number"
          },
          "convertedAmount": {
            "type": "number"
          }
        }
      },
      "MainUser": {
        "type": "object",
        "properties": {
          "isMainUser": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ChangePasswordForContact": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "newPassword": {
            "type": "string"
          }
        }
      },
      "MergeClientRequest": {
        "type": "object",
        "properties": {
          "targetId": {
            "type": "integer",
            "format": "int64"
          },
          "sourceId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ContactCommunicationRequest": {
        "type": "object",
        "description": "Communication log entry for a contact",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "date": {
            "type": "string",
            "description": "Communication date (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "type": {
            "type": "string",
            "description": "Communication type",
            "enum": [
              "PHONE_CALL",
              "EMAIL",
              "INTERNAL_MEETING",
              "EXTERNAL_MEETING",
              "NOTE"
            ],
            "example": "EMAIL"
          },
          "description": {
            "type": "string",
            "description": "Short description",
            "example": "Follow-up call"
          },
          "longDescription": {
            "type": "string",
            "description": "Detailed notes",
            "example": "Discussed contract renewal terms"
          },
          "ourContactId": {
            "type": "integer",
            "description": "Our contact ID (internal participant)",
            "example": 12345678
          },
          "externalContactId": {
            "type": "integer",
            "description": "External contact ID",
            "example": 12345678
          }
        }
      },
      "ContactAdditionalInfoRequest": {
        "type": "object",
        "description": "Additional information entry for a contact",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "note": {
            "type": "string",
            "description": "Note text",
            "example": "VIP client \u2014 handle with priority"
          },
          "tag": {
            "$ref": "#/components/schemas/TagReferenceRequest",
            "description": "Tag associated with this note"
          }
        }
      },
      "SupplierDelayDiscountRequest": {
        "type": "object",
        "description": "Early-payment discount tier for a supplier",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "delayDays": {
            "type": "integer",
            "format": "int32",
            "description": "Number of days before due date",
            "example": 10
          },
          "discountPercent": {
            "type": "number",
            "description": "Discount percentage, 0-100",
            "example": 2.0
          }
        },
        "required": [
          "delayDays",
          "discountPercent"
        ]
      },
      "ArticleDiscountRequest": {
        "type": "object",
        "description": "Article-specific discount for a client",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "articleId": {
            "type": "integer",
            "description": "Article ID",
            "example": 12345678
          },
          "discount": {
            "type": "number",
            "description": "Discount percentage, 0-100",
            "example": 10.0
          }
        },
        "required": [
          "articleId",
          "discount"
        ]
      },
      "FamilyMemberRequest": {
        "type": "object",
        "description": "Family member of a staff employee",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "familyMemberType": {
            "type": "string",
            "description": "Family member type",
            "enum": [
              "SPOUSE",
              "CHILD"
            ],
            "example": "CHILD"
          },
          "firstName": {
            "type": "string",
            "description": "First name",
            "example": "Anna"
          },
          "lastName": {
            "type": "string",
            "description": "Last name",
            "example": "Doe"
          },
          "birthDate": {
            "type": "string",
            "description": "Birth date (format dd/MM/yyyy)",
            "example": "01/01/2015"
          },
          "nationalityCountryId": {
            "type": "integer",
            "description": "Nationality country ID",
            "example": 12345678
          },
          "countryId": {
            "type": "integer",
            "description": "Spouse's employer country ID; meaningful only for the SPOUSE row when isSpouseWorking is true",
            "example": 12345678
          },
          "regionId": {
            "type": "integer",
            "description": "Spouse's employer region ID",
            "example": 12345678
          },
          "amount": {
            "type": "string",
            "description": "Spouse's employment amount as string",
            "example": "50000.00"
          },
          "startDate": {
            "type": "string",
            "description": "Spouse's employment start date (format dd/MM/yyyy)",
            "example": "01/01/2024"
          },
          "endDate": {
            "type": "string",
            "description": "Spouse's employment end date (format dd/MM/yyyy)",
            "example": "31/12/2024"
          }
        },
        "required": [
          "birthDate",
          "familyMemberType"
        ]
      },
      "BillableRateRequest": {
        "type": "object",
        "description": "Custom billable rate for an employee on a specific order/task",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "startDate": {
            "type": "string",
            "description": "Start date (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "endDate": {
            "type": "string",
            "description": "End date (format dd/MM/yyyy)",
            "example": "31/12/2026"
          },
          "orderId": {
            "type": "integer",
            "description": "Order ID",
            "example": 12345678
          },
          "taskId": {
            "type": "integer",
            "description": "Task ID",
            "example": 12345678
          },
          "rate": {
            "type": "string",
            "description": "Hourly rate as string",
            "example": "100.00"
          },
          "clientId": {
            "type": "integer",
            "description": "Client contact ID",
            "example": 12345678
          },
          "staffId": {
            "type": "integer",
            "description": "Staff ID this rate applies to",
            "example": 12345678
          }
        }
      },
      "StaffPayslipEmployeeGroupRequest": {
        "type": "object",
        "description": "Department/office allocation for a staff payslip",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "groupType": {
            "type": "string",
            "description": "Group type",
            "enum": [
              "ADMIN",
              "OPERATIONS"
            ],
            "example": "DEPARTMENT"
          },
          "departmentId": {
            "type": "integer",
            "description": "Department ID",
            "example": 12345678
          },
          "percentage": {
            "type": "string",
            "description": "Allocation percentage as string",
            "example": "100.00"
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          }
        }
      },
      "StaffPayslipOfficeWorkPercentRequest": {
        "type": "object",
        "description": "Work percentage allocated to an office for a staff payslip",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          },
          "percent": {
            "type": "string",
            "description": "Work percentage as string",
            "example": "50.00"
          },
          "csaEntryDate": {
            "type": "string",
            "description": "CSA (family allowance fund) entry date (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "csaEntryReason": {
            "type": "string",
            "description": "CSA entry reason",
            "enum": [
              "REASON_ENTRY_ORGANIZATION",
              "REASON_ENTRY_CHANGE"
            ],
            "example": "REASON_ENTRY_ORGANIZATION"
          },
          "csaExitDate": {
            "type": "string",
            "description": "CSA (family allowance fund) exit date (format dd/MM/yyyy)",
            "example": "31/12/2026"
          },
          "csaExitReason": {
            "type": "string",
            "description": "CSA exit reason",
            "enum": [
              "REASON_EXIT_ORGANIZATION",
              "REASON_EXIT_CHANGE"
            ],
            "example": "REASON_EXIT_ORGANIZATION"
          }
        },
        "required": [
          "officeId"
        ]
      },
      "SalaryInfoRequest": {
        "type": "object",
        "description": "Core salary and payroll configuration for an employee in a given year",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "organizationId": {
            "type": "integer",
            "description": "Organization ID",
            "example": 12345678
          },
          "staffId": {
            "type": "integer",
            "description": "Staff ID",
            "example": 12345678
          },
          "salaryType": {
            "type": "string",
            "description": "Salary type",
            "enum": [
              "MONTHLY",
              "HOURLY"
            ],
            "example": "MONTHLY"
          },
          "workingTime": {
            "type": "string",
            "description": "Working time type; UNSTEADY forces salaryType to HOURLY",
            "enum": [
              "STEADY",
              "UNSTEADY"
            ],
            "example": "STEADY"
          },
          "workOccupancy": {
            "type": "string",
            "description": "Work occupancy percentage as string",
            "example": "100.00"
          },
          "numberOfVacationDays": {
            "type": "string",
            "description": "Number of vacation days as string",
            "example": "25"
          },
          "salaryBase": {
            "type": "string",
            "description": "Salary base: RETROACTIVE or FORECAST",
            "enum": [
              "RETROACTIVE",
              "FORECAST"
            ],
            "example": "FORECAST"
          },
          "defaultPaymentAccountId": {
            "type": "integer",
            "description": "Default payment chart of accounts ID",
            "example": 12345678
          },
          "payrollCurrencyId": {
            "type": "integer",
            "description": "Payroll currency ID",
            "example": 12345678
          },
          "isSourceTaxEnabled": {
            "type": "boolean",
            "description": "Whether source tax withholding is enabled",
            "example": false
          },
          "capacity": {
            "type": "string",
            "description": "Capacity / role percentage as string",
            "example": "100.00"
          },
          "lesson": {
            "type": "string",
            "description": "Lesson as string",
            "example": "10"
          },
          "factor": {
            "type": "string",
            "description": "Factor as string; same settings as salary_code_line.factor, defaults to 12",
            "example": "12"
          },
          "hourlyRate": {
            "type": "string",
            "description": "Hourly rate as string",
            "example": "50.00"
          },
          "payableToBankId": {
            "type": "integer",
            "description": "Bank ID to pay salary to",
            "example": 12345678
          },
          "organizationEmployeeGroupId": {
            "type": "integer",
            "description": "Organization employee group ID",
            "example": 12345678
          },
          "sourceTaxCode": {
            "type": "string",
            "description": "Source tax code",
            "example": "A0"
          },
          "regionId": {
            "type": "integer",
            "description": "Region ID",
            "example": 12345678
          },
          "totalOccupancy": {
            "type": "string",
            "description": "Total occupancy percentage across all jobs, as string",
            "example": "100.00"
          },
          "hasOnlyOneJob": {
            "type": "boolean",
            "description": "Whether the employee has only one job",
            "example": true
          },
          "singleParentType": {
            "type": "string",
            "description": "Single parent status",
            "enum": [
              "NOCOHAB",
              "COHABSC",
              "COHABJC",
              "COHABO18"
            ],
            "example": "NOCOHAB"
          },
          "denominationType": {
            "type": "string",
            "description": "Denomination type",
            "enum": [
              "RCC",
              "CCC",
              "ERC",
              "IRC",
              "ONO"
            ],
            "example": "RCC"
          },
          "temporaryAgencyWorker": {
            "type": "boolean",
            "description": "Swissdec BFS statistics flag - employee is temporary agency staff (Personalverleih)",
            "example": false
          },
          "permanentStaffPublicAdmin": {
            "type": "boolean",
            "description": "Swissdec BFS statistics flag - employee is permanent staff of a public administration",
            "example": false
          },
          "flexProfiling": {
            "type": "string",
            "description": "Swissdec BFS statistics free-text profiling field; null when not set",
            "example": "Cost centre A / shift lead"
          },
          "subjectToAvs": {
            "type": "boolean",
            "description": "Whether the salary is subject to AVS/AC. When false, no AVS/AC1/AC2 contribution lines are generated on the payslip",
            "example": true
          },
          "taxAtSourceEntryDate": {
            "type": "string",
            "description": "Date the tax-at-source record starts, as a string. Mutually exclusive with taxAtSourceMutationDate",
            "example": "2026-01-01"
          },
          "taxAtSourceEntryReason": {
            "type": "string",
            "description": "Why the tax-at-source record starts; only set when taxAtSourceEntryDate is set",
            "enum": [
              "ENTRY",
              "CHANGE_OF_REGION",
              "OTHER"
            ],
            "example": "ENTRY"
          },
          "taxAtSourceMutationDate": {
            "type": "string",
            "description": "Date an existing tax-at-source record changes, as a string. Mutually exclusive with taxAtSourceEntryDate",
            "example": "2026-04-01"
          },
          "taxAtSourceMutationReason": {
            "type": "string",
            "description": "Why the tax-at-source record changes; only set when taxAtSourceMutationDate is set",
            "enum": [
              "CIVIL_STATUS",
              "PARTNER_EMPLOYMENT",
              "CHANGE_IN_PARTNER_INCOME",
              "RESIDENTIAL_ADDRESS",
              "CHILD_DEDUCTION",
              "CHURCH_TAX",
              "OTHER"
            ],
            "example": "CIVIL_STATUS"
          },
          "taxAtSourceCodeGranted": {
            "type": "boolean",
            "description": "The tax-at-source code was specially granted by the cantonal tax administration (ELM 5.0, 9.5.1.4)",
            "example": false
          },
          "contractType": {
            "type": "string",
            "description": "The contract of the period (BFS statistics)",
            "enum": [
              "OPEN_ENDED",
              "OPEN_ENDED_YEAR",
              "FIXED",
              "APPRENTICESHIP",
              "INTERN",
              "INDEFINITE_SALARY_NO_TIME_CONSTRAINT",
              "FIXED_SALARY_NO_TIME_CONSTRAINT",
              "ADMINISTRATIVE_BOARD"
            ],
            "example": "OPEN_ENDED"
          },
          "weeklyResidenceAddressId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "salaryBase",
          "salaryType",
          "workingTime"
        ]
      },
      "StaffPayslipBaseSalaryLineRequest": {
        "type": "object",
        "description": "Base salary line for a staff payslip",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "payslipLineEntityId": {
            "type": "integer",
            "description": "Payslip line template ID",
            "example": 12345678
          },
          "employeeAmount": {
            "type": "string",
            "description": "Employee amount as string",
            "example": "5000.00"
          },
          "employerAmount": {
            "type": "string",
            "description": "Employer amount as string",
            "example": "0.00"
          },
          "payslipValueSplitType": {
            "type": "string",
            "description": "How the value is split between employer/operations",
            "enum": [
              "EMPLOYEE",
              "EMPLOYER",
              "BOTH"
            ],
            "example": "NONE"
          }
        }
      },
      "StaffPayslipRequest": {
        "type": "object",
        "description": "Yearly payslip configuration for a staff employee",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "pensionStatement": {
            "type": "boolean",
            "description": "Salary certificate: pension statement",
            "example": false
          },
          "staffId": {
            "type": "integer",
            "description": "Staff ID this configuration belongs to",
            "example": 12345678
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32",
            "description": "Calendar year",
            "example": 2026
          },
          "employmentStartDate": {
            "type": "string",
            "description": "Employment start date within the year (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "employmentEndDate": {
            "type": "string",
            "description": "Employment end date within the year (format dd/MM/yyyy)",
            "example": "31/12/2026"
          },
          "salaryCertificateNotes": {
            "type": "string",
            "description": "Salary certificate notes",
            "example": "Special allowance included"
          },
          "isFreeTransportToWork": {
            "type": "boolean",
            "description": "Whether free transport to work is provided",
            "example": false
          },
          "isCanteenMealsOrMealsVouchers": {
            "type": "boolean",
            "description": "Whether canteen meals or meal vouchers are provided",
            "example": false
          },
          "salaryInfo": {
            "$ref": "#/components/schemas/SalaryInfoRequest",
            "description": "Core salary information"
          },
          "employeeGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StaffPayslipEmployeeGroupRequest"
            }
          },
          "systemLine": {
            "$ref": "#/components/schemas/StaffPayslipSystemLineRequest",
            "description": "System-defined salary line"
          },
          "baseSalaryLine": {
            "$ref": "#/components/schemas/StaffPayslipBaseSalaryLineRequest",
            "description": "Base salary line"
          },
          "payslipTableLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalaryTableLineRequest"
            }
          },
          "officeWorkPercents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StaffPayslipOfficeWorkPercentRequest"
            }
          }
        },
        "required": [
          "calendarYear"
        ]
      },
      "StaffPayslipSystemLineRequest": {
        "type": "object",
        "description": "System-defined salary line value for a staff payslip",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "payslipLineEntityId": {
            "type": "integer",
            "description": "Payslip line template ID",
            "example": 12345678
          },
          "bracket": {
            "type": "string",
            "description": "Salary bracket as string",
            "example": "1"
          },
          "rate": {
            "type": "string",
            "description": "Rate as string",
            "example": "5.25"
          },
          "localizations": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual name (TranslationEntity with language fields)"
          },
          "number": {
            "type": "integer",
            "description": "Line number",
            "example": 1000
          }
        }
      },
      "TreeRoleRequest": {
        "type": "object",
        "description": "Role assignment within a permissions tree",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Role ID",
            "example": 12345678
          },
          "type": {
            "type": "string",
            "description": "Role type",
            "enum": [
              "ROLE",
              "SUPER_ROLE"
            ],
            "example": "STANDARD"
          },
          "name": {
            "type": "string",
            "description": "Role name",
            "example": "Administrator"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Whether this is the default role",
            "example": false
          }
        },
        "required": [
          "id"
        ]
      },
      "ContactOrganizationAccessRequest": {
        "type": "object",
        "description": "Per-organization access and role assignment for a user contact",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "organizationId": {
            "type": "integer",
            "description": "Organization ID this access entry applies to",
            "example": 12345678
          },
          "isActive": {
            "type": "boolean",
            "description": "Whether access to this organization is active",
            "example": true
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TreeRoleRequest"
            }
          },
          "globalRoles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TreeRoleRequest"
            }
          },
          "subUserContactId": {
            "type": "integer",
            "description": "Sub-user contact ID this access is delegated to",
            "example": 12345678
          }
        },
        "required": [
          "organizationId"
        ]
      },
      "ContactClientRequest": {
        "type": "object",
        "description": "Client details for a customer contact",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "businessUnitId": {
            "type": "integer",
            "description": "Business unit ID",
            "example": 12345678
          },
          "paymentAccountId": {
            "type": "integer",
            "description": "Default payment chart of accounts ID",
            "example": 12345678
          },
          "balanceSheetAccountId": {
            "type": "integer",
            "description": "Balance sheet chart of accounts ID",
            "example": 12345678
          },
          "currencyId": {
            "type": "integer",
            "description": "Default currency ID",
            "example": 12345678
          },
          "orderAddressName": {
            "type": "string",
            "description": "Order address name. Resolved from the address list when orderAddressId is set; sent as the resolved name string, orderAddressId is sent as null",
            "example": "Main Office"
          },
          "invoiceAddressName": {
            "type": "string",
            "description": "Invoice address name. Resolved from the address list when invoiceAddressId is set; sent as the resolved name string, invoiceAddressId is sent as null",
            "example": "Billing Department"
          },
          "paymentTerms": {
            "type": "string",
            "description": "Payment terms in days",
            "example": "30"
          },
          "lateNoticeMargin": {
            "type": "string",
            "description": "Late notice margin in days",
            "example": "10"
          },
          "clientDiscountRate": {
            "type": "string",
            "description": "Client discount rate as string",
            "example": "5.00"
          },
          "creditLimit": {
            "type": "string",
            "description": "Credit limit as string",
            "example": "10000.00"
          },
          "contactId": {
            "type": "integer",
            "description": "Contact ID this client belongs to",
            "example": 12345678
          },
          "vatNumber": {
            "type": "string",
            "description": "VAT number",
            "example": "CHE-123.456.789 MWST"
          },
          "advancedInvoicingNote": {
            "type": "string",
            "description": "Advanced invoicing note",
            "example": "Net 30"
          },
          "vatTypeCodeId": {
            "type": "integer",
            "description": "VAT type code ID. Send null for no specific VAT type",
            "example": 12345678
          },
          "vatRateId": {
            "type": "integer",
            "description": "VAT rate ID",
            "example": 12345678
          },
          "orderValidity": {
            "type": "string",
            "description": "Order validity in days",
            "example": "30"
          },
          "articleDiscounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleDiscountRequest"
            }
          },
          "billingEmail": {
            "type": "string",
            "description": "Billing email address",
            "example": "billing@example.com"
          },
          "orderEmail": {
            "type": "string",
            "description": "Order confirmation email address",
            "example": "orders@example.com"
          },
          "lateNoticeEmail": {
            "type": "string",
            "description": "Late notice email address",
            "example": "latenotice@example.com"
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          },
          "placcountId": {
            "type": "integer"
          }
        }
      },
      "ContactSupplierRequest": {
        "type": "object",
        "description": "Supplier details for a vendor contact",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "businessUnitId": {
            "type": "integer",
            "description": "Business unit ID",
            "example": 12345678
          },
          "paymentAccountId": {
            "type": "integer",
            "description": "Default payment chart of accounts ID",
            "example": 12345678
          },
          "balanceSheetAccountId": {
            "type": "integer",
            "description": "Balance sheet chart of accounts ID",
            "example": 12345678
          },
          "currencyId": {
            "type": "integer",
            "description": "Default currency ID",
            "example": 12345678
          },
          "paymentTerms": {
            "type": "string",
            "description": "Payment terms",
            "example": "30"
          },
          "feeSplitType": {
            "type": "string",
            "description": "Fee split type",
            "enum": [
              "CHARGED_TO_THE_BENEFICIARY",
              "FIFTY_FIFTY_SPLIT",
              "CHARGED_TO_THE_ORDERER"
            ],
            "example": "NONE"
          },
          "contactId": {
            "type": "integer",
            "description": "Contact ID this supplier belongs to",
            "example": 12345678
          },
          "vatNumber": {
            "type": "string",
            "description": "VAT number",
            "example": "CHE-123.456.789 MWST"
          },
          "vatType": {
            "type": "string",
            "description": "VAT type",
            "enum": [
              "NO_VAT",
              "NATIVE",
              "IMPORT_OF_SERVICE"
            ],
            "example": "NO_VAT"
          },
          "vatTypeCodeId": {
            "type": "integer",
            "description": "VAT type code ID",
            "example": 12345678
          },
          "vatRateId": {
            "type": "integer",
            "description": "VAT rate ID",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Office ID",
            "example": 12345678
          },
          "delayDiscounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierDelayDiscountRequest"
            }
          },
          "placcountId": {
            "type": "integer"
          }
        }
      },
      "PersonContactRequest": {
        "type": "object",
        "description": "Request model for creating or updating a PERSON type contact. ",
        "properties": {
          "contactId": {
            "type": "integer",
            "description": "Contact ID. Negative value = new entity to create",
            "example": 12345678
          },
          "isCustomer": {
            "type": "boolean",
            "description": "Whether contact is a customer",
            "example": true
          },
          "isVendor": {
            "type": "boolean",
            "description": "Whether contact is a vendor/supplier",
            "example": false
          },
          "defaultLanguage": {
            "type": "string",
            "description": "Default language for the contact",
            "enum": [
              "EN",
              "FR",
              "DE",
              "IT",
              "UNDEFINED"
            ],
            "example": "EN"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "+41 22 000 00 00"
          },
          "fax": {
            "type": "string",
            "description": "Fax number",
            "example": "+41 22 000 00 01"
          },
          "mobile": {
            "type": "string",
            "description": "Mobile number",
            "example": "+41 79 000 00 00"
          },
          "email": {
            "type": "string",
            "description": "Email address",
            "example": "contact@example.com"
          },
          "webSite": {
            "type": "string",
            "description": "Website URL",
            "example": "https://example.com"
          },
          "archived": {
            "type": "boolean",
            "description": "Whether the contact is archived",
            "example": false
          },
          "externalId": {
            "type": "string",
            "description": "External identifier",
            "example": "EXT-001"
          },
          "organizationId": {
            "type": "integer",
            "description": "Organization ID",
            "example": 12345678
          },
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AddressRequest"
            }
          },
          "banks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactBankRequest"
            }
          },
          "communications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactCommunicationRequest"
            }
          },
          "additionalInformation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactAdditionalInfoRequest"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagReferenceRequest",
              "description": "Individual tags"
            }
          },
          "contactType": {
            "type": "string",
            "description": "Contact type.",
            "enum": [
              "PERSON"
            ],
            "example": "PERSON"
          },
          "firstName": {
            "type": "string",
            "description": "First name",
            "example": "John"
          },
          "middleName": {
            "type": "string",
            "description": "Middle name",
            "example": "Paul"
          },
          "lastName": {
            "type": "string",
            "description": "Last name",
            "example": "Doe"
          },
          "nationalityCountryId": {
            "type": "integer",
            "description": "Nationality country ID. `Required when isStaff = true`",
            "example": 12345678
          },
          "birthday": {
            "type": "string",
            "description": "Birthday (format dd/MM/yyyy). `Required when isStaff = true`",
            "example": "15/03/1985"
          },
          "gender": {
            "type": "string",
            "description": "Gender. `Required when isStaff = true`",
            "enum": [
              "MALE",
              "FEMALE",
              "OTHER"
            ],
            "example": "MALE"
          },
          "isStaff": {
            "type": "boolean",
            "description": "Whether contact is a staff member",
            "example": false
          },
          "isUser": {
            "type": "boolean",
            "description": "Whether contact has a user account",
            "example": false
          },
          "avatarId": {
            "type": "integer",
            "description": "Avatar document ID",
            "example": 12345678
          },
          "loginEmail": {
            "type": "string",
            "description": "Login email (for user accounts). `Required when isUser = true`",
            "example": "john.doe@example.com"
          },
          "isMainUser": {
            "type": "boolean",
            "description": "Whether the contact is the main user for the organization",
            "example": false
          },
          "isEmployee": {
            "type": "boolean",
            "description": "Whether the contact is an employee",
            "example": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Whether the user account is active",
            "example": true
          },
          "relatedOrganizationContactIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "IDs of related organization contacts",
              "example": 12345678
            },
            "uniqueItems": true
          },
          "supplier": {
            "$ref": "#/components/schemas/ContactSupplierRequest",
            "description": "Supplier details. Only included if isVendor = true"
          },
          "client": {
            "$ref": "#/components/schemas/ContactClientRequest",
            "description": "Client details. Only included if isCustomer = true"
          },
          "staff": {
            "$ref": "#/components/schemas/StaffRequest",
            "description": "Staff (employment) details. Only included if isStaff = true"
          },
          "permissionsTree": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactOrganizationAccessRequest",
              "description": "Per-organization access and role assignments. Only relevant if isUser = true"
            }
          },
          "ecorrespondence": {
            "type": "boolean"
          }
        },
        "required": [
          "contactType",
          "firstName",
          "lastName"
        ]
      },
      "StaffRequest": {
        "type": "object",
        "description": "Employment details for a staff contact",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "avsNumber": {
            "type": "string",
            "description": "AVS/social security number",
            "example": "756.1234.5678.90"
          },
          "permitExpiryDate": {
            "type": "string",
            "description": "Work permit expiry date (format dd/MM/yyyy)",
            "example": "31/12/2027"
          },
          "jobTitle": {
            "type": "string",
            "description": "Job title",
            "example": "Software Engineer"
          },
          "employmentStartDate": {
            "type": "string",
            "description": "Employment start date (format dd/MM/yyyy)",
            "example": "01/01/2024"
          },
          "employmentEndDate": {
            "type": "string",
            "description": "Employment end date (format dd/MM/yyyy)",
            "example": "31/12/2026"
          },
          "contactId": {
            "type": "integer",
            "description": "Contact ID this staff record belongs to",
            "example": 12345678
          },
          "workPermit": {
            "$ref": "#/components/schemas/WorkPermitRequest",
            "description": "Work permit. `Required when isStaff = true`"
          },
          "contractType": {
            "type": "string",
            "description": "Contract type",
            "enum": [
              "OPEN_ENDED",
              "OPEN_ENDED_YEAR",
              "FIXED",
              "APPRENTICESHIP",
              "INTERN",
              "INDEFINITE_SALARY_NO_TIME_CONSTRAINT",
              "FIXED_SALARY_NO_TIME_CONSTRAINT",
              "ADMINISTRATIVE_BOARD"
            ],
            "example": "FIXED"
          },
          "employeeDocumentType": {
            "type": "string",
            "description": "Employee identity document type",
            "enum": [
              "PASSPORT",
              "ID"
            ],
            "example": "PASSPORT"
          },
          "documentNumber": {
            "type": "string",
            "description": "Identity document number",
            "example": "X1234567"
          },
          "documentExpiryDate": {
            "type": "string",
            "description": "Identity document expiry date (format dd/MM/yyyy)",
            "example": "31/12/2030"
          },
          "maritalType": {
            "type": "string",
            "description": "Marital status",
            "enum": [
              "SINGLE",
              "MARRIED",
              "DIVORCED",
              "SEPARATED",
              "WIDOWED",
              "PARTNERED",
              "DISSOLVED_LAW",
              "DISSOLVED_LOST",
              "DISSOLVED_DEATH"
            ],
            "example": "SINGLE"
          },
          "maritalDate": {
            "type": "string",
            "description": "Marital status date (format dd/MM/yyyy)",
            "example": "01/06/2020"
          },
          "placeOfBirth": {
            "type": "string",
            "description": "Italy-only: place of birth",
            "example": "Milano"
          },
          "taxId": {
            "type": "string",
            "description": "Italy-only: codice fiscale (16 chars, pattern ^[A-Z]{6}[0-9]{2}(A|B|C|D|E|H|L|M|P|R|S|T)[0-9]{2}[A-Z]{1}[0-9A-Z]{3}[A-Z]{1}$|^$)",
            "example": "RSSMRA85T10A562S"
          },
          "crossborderValidAsOf": {
            "type": "string",
            "description": "Italy-only: cross-border worker status valid as of (format dd/MM/yyyy)",
            "example": "01/01/2026"
          },
          "isSpouseWorking": {
            "type": "boolean",
            "description": "Whether the spouse is working",
            "example": false
          },
          "enforceTimesheets": {
            "type": "boolean",
            "description": "Whether timesheets are mandatory for this employee",
            "example": false
          },
          "familyMembers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FamilyMemberRequest"
            }
          },
          "timesheetPricingLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillableRateRequest"
            }
          },
          "staffPayslips": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StaffPayslipRequest"
            }
          },
          "costCalculationType": {
            "type": "string",
            "description": "Cost calculation type",
            "enum": [
              "AUTOMATIC",
              "MANUAL"
            ],
            "example": "HOURLY_RATE"
          },
          "timesheetsCost": {
            "type": "string",
            "description": "Timesheet cost rate as string",
            "example": "50.00"
          },
          "trainingLevel": {
            "type": "string",
            "description": "Staff training level",
            "enum": [
              "PHD",
              "MASTER_ETH",
              "BACHELOR_ETH",
              "MASTER_UAS",
              "BACHELOR_UAS",
              "HES",
              "MASTER",
              "BACHELOR",
              "TC",
              "MATU",
              "CVT",
              "IN_HOUSE",
              "COMP_SCHOOL"
            ],
            "example": "PHD"
          },
          "position": {
            "type": "string",
            "description": "Staff position type",
            "enum": [
              "SENIOR",
              "MIDDLE",
              "LOWER",
              "RESP"
            ],
            "example": "MIDDLE"
          }
        }
      },
      "WorkPermitRequest": {
        "type": "object",
        "description": "Work permit type reference",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "countryId": {
            "type": "integer",
            "description": "Country ID this permit applies to",
            "example": 12345678
          },
          "nameId": {
            "type": "integer",
            "description": "Multilingual permit name reference ID",
            "example": 12345678
          },
          "code": {
            "type": "string",
            "description": "Stable machine code for the permit type; null for organization-specific permits",
            "example": "CROSS_BORDER_G"
          }
        }
      },
      "OrganizationContactRequest": {
        "type": "object",
        "description": "Request model for creating or updating an ORGANIZATION type contact. ",
        "properties": {
          "contactId": {
            "type": "integer",
            "description": "Contact ID. Negative value = new entity to create",
            "example": 12345678
          },
          "isCustomer": {
            "type": "boolean",
            "description": "Whether contact is a customer",
            "example": true
          },
          "isVendor": {
            "type": "boolean",
            "description": "Whether contact is a vendor/supplier",
            "example": false
          },
          "defaultLanguage": {
            "type": "string",
            "description": "Default language for the contact",
            "enum": [
              "EN",
              "FR",
              "DE",
              "IT",
              "UNDEFINED"
            ],
            "example": "EN"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "+41 22 000 00 00"
          },
          "fax": {
            "type": "string",
            "description": "Fax number",
            "example": "+41 22 000 00 01"
          },
          "mobile": {
            "type": "string",
            "description": "Mobile number",
            "example": "+41 79 000 00 00"
          },
          "email": {
            "type": "string",
            "description": "Email address",
            "example": "contact@example.com"
          },
          "webSite": {
            "type": "string",
            "description": "Website URL",
            "example": "https://example.com"
          },
          "archived": {
            "type": "boolean",
            "description": "Whether the contact is archived",
            "example": false
          },
          "externalId": {
            "type": "string",
            "description": "External identifier",
            "example": "EXT-001"
          },
          "organizationId": {
            "type": "integer",
            "description": "Organization ID",
            "example": 12345678
          },
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AddressRequest"
            }
          },
          "banks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactBankRequest"
            }
          },
          "communications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactCommunicationRequest"
            }
          },
          "additionalInformation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactAdditionalInfoRequest"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagReferenceRequest",
              "description": "Individual tags"
            }
          },
          "contactType": {
            "type": "string",
            "description": "Contact type.",
            "enum": [
              "ORGANIZATION"
            ],
            "example": "ORGANIZATION"
          },
          "name": {
            "type": "string",
            "description": "Organization name",
            "example": "Acme Corp"
          },
          "nogaCodeId": {
            "type": "integer",
            "description": "NOGA economic activity code ID",
            "example": 12345678
          },
          "uid": {
            "type": "string",
            "description": "UID / company registration number",
            "example": "CHE-123.456.789"
          },
          "relatedContactIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "IDs of related contacts",
              "example": 12345678
            },
            "uniqueItems": true
          },
          "supplier": {
            "$ref": "#/components/schemas/ContactSupplierRequest",
            "description": "Supplier details. Only included if isVendor = true"
          },
          "client": {
            "$ref": "#/components/schemas/ContactClientRequest",
            "description": "Client details. Only included if isCustomer = true"
          },
          "ecorrespondence": {
            "type": "boolean"
          }
        },
        "required": [
          "contactType",
          "name"
        ]
      },
      "AdditionalInformation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "note": {
            "type": "string"
          },
          "tag": {
            "$ref": "#/components/schemas/ContactTagEntity"
          }
        }
      },
      "ArticleDiscount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "discount": {
            "type": "number"
          },
          "articleIdName": {
            "$ref": "#/components/schemas/Translation"
          }
        },
        "required": [
          "articleId",
          "discount"
        ]
      },
      "BillableRate": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "task": {
            "$ref": "#/components/schemas/EmployeeTask"
          },
          "rate": {
            "type": "string"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "staffId": {
            "type": "integer",
            "format": "int64"
          },
          "clientName": {
            "type": "string"
          }
        },
        "required": [
          "startDate"
        ]
      },
      "Client": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int64"
          },
          "paymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "balanceSheetAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "orderAddressId": {
            "type": "integer",
            "format": "int64"
          },
          "orderAddressName": {
            "type": "string"
          },
          "invoiceAddressId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceAddressName": {
            "type": "string"
          },
          "paymentTerms": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "lateNoticeMargin": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "clientDiscountRate": {
            "type": "string"
          },
          "creditLimit": {
            "type": "string"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "vatNumber": {
            "type": "string"
          },
          "advancedInvoicingNote": {
            "type": "string"
          },
          "vatTypeCodeId": {
            "type": "integer",
            "format": "int64"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "orderValidity": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "articleDiscounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleDiscount"
            }
          },
          "businessUnitName": {
            "type": "string"
          },
          "paymentAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "balanceSheetAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "billingEmail": {
            "type": "string",
            "format": "email"
          },
          "orderEmail": {
            "type": "string",
            "format": "email"
          },
          "lateNoticeEmail": {
            "type": "string",
            "format": "email"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "placcountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "placcountId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "Communication": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "type": {
            "type": "string",
            "enum": [
              "PHONE_CALL",
              "EMAIL",
              "INTERNAL_MEETING",
              "EXTERNAL_MEETING",
              "NOTE"
            ]
          },
          "description": {
            "type": "string"
          },
          "longDescription": {
            "type": "string"
          },
          "ourContactId": {
            "type": "integer",
            "format": "int64"
          },
          "externalContactId": {
            "type": "integer",
            "format": "int64"
          },
          "externalContactName": {
            "type": "string"
          },
          "ourContactName": {
            "type": "string"
          },
          "externalContactIdName": {
            "type": "string"
          }
        },
        "required": [
          "date"
        ]
      },
      "Contact": {
        "type": "object",
        "discriminator": {
          "propertyName": "contactType"
        },
        "properties": {
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "contactType": {
            "type": "string",
            "enum": [
              "ORGANIZATION",
              "PERSON"
            ]
          },
          "isCustomer": {
            "type": "boolean"
          },
          "isVendor": {
            "type": "boolean"
          },
          "isStaff": {
            "type": "boolean"
          },
          "isUser": {
            "type": "boolean"
          },
          "defaultLanguage": {
            "type": "string",
            "enum": [
              "EN",
              "FR",
              "DE",
              "IT",
              "UNDEFINED"
            ]
          },
          "phone": {
            "type": "string"
          },
          "fax": {
            "type": "string"
          },
          "mobile": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "webSite": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "archived": {
            "type": "boolean"
          },
          "relatedOrganizationContactIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          },
          "relatedContactIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          },
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Address"
            }
          },
          "communications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Communication"
            }
          },
          "additionalInformation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdditionalInformation"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndividualTagEntity"
            }
          },
          "banks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Bank"
            }
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationUsesTimesheets": {
            "type": "boolean"
          },
          "permissionsTree": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactOrganizationAccess"
            }
          },
          "defaultModule": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "supplier": {
            "$ref": "#/components/schemas/Supplier"
          },
          "client": {
            "$ref": "#/components/schemas/Client"
          },
          "staff": {
            "$ref": "#/components/schemas/Staff"
          },
          "externalId": {
            "type": "string"
          },
          "groupRoles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BriefRole"
            }
          },
          "userGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserGroup"
            }
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "ecorrespondence": {
            "type": "boolean"
          }
        }
      },
      "ContactOrganizationAccess": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "parentOrganizationId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TreeRole"
            }
          },
          "globalRoles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TreeRole"
            }
          },
          "availableRoles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleView"
            }
          },
          "subUserContactId": {
            "type": "integer",
            "format": "int64"
          },
          "availableEmployees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactBrief"
            }
          }
        }
      },
      "ContactTagEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "EmployeeGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "staffPayslipEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "groupType": {
            "type": "string",
            "enum": [
              "ADMIN",
              "OPERATIONS"
            ]
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "percentage": {
            "type": "string"
          },
          "departmentName": {
            "type": "string"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "officeName": {
            "type": "string"
          }
        }
      },
      "FamilyMember": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "staffId": {
            "type": "integer",
            "format": "int64"
          },
          "familyMemberType": {
            "type": "string",
            "enum": [
              "SPOUSE",
              "CHILD"
            ]
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "birthDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "nationalityCountryId": {
            "type": "integer",
            "format": "int64"
          },
          "gender": {
            "type": "string",
            "enum": [
              "MALE",
              "FEMALE",
              "OTHER"
            ]
          },
          "avsNumber": {
            "type": "string"
          },
          "spouseAddressId": {
            "type": "integer",
            "format": "int64"
          },
          "countryId": {
            "type": "integer",
            "format": "int64"
          },
          "regionId": {
            "type": "integer",
            "format": "int64"
          },
          "amount": {
            "type": "string"
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          }
        },
        "required": [
          "birthDate",
          "familyMemberType",
          "gender"
        ]
      },
      "IndividualTagEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "OrganizationContact": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Contact"
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1
              },
              "nogaCodeId": {
                "type": "integer",
                "format": "int64"
              },
              "uid": {
                "type": "string"
              }
            }
          }
        ],
        "required": [
          "name"
        ]
      },
      "PersonContact": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Contact"
          },
          {
            "type": "object",
            "properties": {
              "firstName": {
                "type": "string",
                "minLength": 1
              },
              "middleName": {
                "type": "string"
              },
              "lastName": {
                "type": "string",
                "minLength": 1
              },
              "nationalityCountryId": {
                "type": "integer",
                "format": "int64"
              },
              "birthday": {
                "type": "string",
                "format": "date-time",
                "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
                "example": "2026-01-01T00:00:00.000Z"
              },
              "gender": {
                "type": "string",
                "enum": [
                  "MALE",
                  "FEMALE",
                  "OTHER"
                ]
              },
              "isImpersonateOthers": {
                "type": "boolean"
              },
              "isAdmin": {
                "type": "boolean"
              },
              "isMainUser": {
                "type": "boolean"
              },
              "isEmployee": {
                "type": "boolean"
              },
              "avatarId": {
                "type": "integer",
                "format": "int64"
              },
              "isActive": {
                "type": "boolean"
              },
              "isBlockedForLicenceNonPayment": {
                "type": "boolean"
              },
              "loginEmail": {
                "type": "string",
                "format": "email"
              }
            }
          }
        ],
        "required": [
          "firstName",
          "lastName"
        ]
      },
      "RoleView": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "ROLE",
              "SUPER_ROLE"
            ]
          },
          "name": {
            "type": "string"
          },
          "isDefault": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "realId": {
            "type": "integer",
            "format": "int64"
          },
          "roleType": {
            "type": "string",
            "enum": [
              "ORGANIZATION",
              "GLOBAL"
            ]
          }
        }
      },
      "SalaryInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "staffId": {
            "type": "integer",
            "format": "int64"
          },
          "staffPayslipEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "salaryType": {
            "type": "string",
            "enum": [
              "MONTHLY",
              "HOURLY"
            ]
          },
          "workingTime": {
            "type": "string",
            "enum": [
              "STEADY",
              "UNSTEADY"
            ]
          },
          "workOccupancy": {
            "type": "string"
          },
          "numberOfVacationDays": {
            "type": "string"
          },
          "salaryBase": {
            "type": "string",
            "enum": [
              "RETROACTIVE",
              "FORECAST"
            ]
          },
          "defaultPaymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "payrollCurrencyId": {
            "type": "integer",
            "format": "int64"
          },
          "isSourceTaxEnabled": {
            "type": "boolean"
          },
          "capacity": {
            "type": "string"
          },
          "lesson": {
            "type": "string"
          },
          "factor": {
            "type": "string"
          },
          "hourlyRate": {
            "type": "string"
          },
          "payableToBankId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationEmployeeGroupId": {
            "type": "integer",
            "format": "int64"
          },
          "sourceTaxCode": {
            "type": "string"
          },
          "regionId": {
            "type": "integer",
            "format": "int64"
          },
          "totalOccupancy": {
            "type": "string"
          },
          "defaultPaymentAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "hasOnlyOneJob": {
            "type": "boolean"
          },
          "singleParentType": {
            "type": "string",
            "enum": [
              "NOCOHAB",
              "COHABSC",
              "COHABJC",
              "COHABO18"
            ]
          },
          "denominationType": {
            "type": "string",
            "enum": [
              "RCC",
              "CCC",
              "ERC",
              "IRC",
              "ONO"
            ]
          },
          "temporaryAgencyWorker": {
            "type": "boolean"
          },
          "permanentStaffPublicAdmin": {
            "type": "boolean"
          },
          "flexProfiling": {
            "type": "string"
          },
          "subjectToAvs": {
            "type": "boolean"
          },
          "taxAtSourceEntryDate": {
            "type": "string"
          },
          "taxAtSourceEntryReason": {
            "type": "string",
            "enum": [
              "ENTRY",
              "CHANGE_OF_REGION",
              "OTHER"
            ]
          },
          "taxAtSourceMutationDate": {
            "type": "string"
          },
          "taxAtSourceMutationReason": {
            "type": "string",
            "enum": [
              "CIVIL_STATUS",
              "PARTNER_EMPLOYMENT",
              "CHANGE_IN_PARTNER_INCOME",
              "RESIDENTIAL_ADDRESS",
              "CHILD_DEDUCTION",
              "CHURCH_TAX",
              "OTHER"
            ]
          },
          "taxAtSourceCodeGranted": {
            "type": "boolean"
          },
          "contractType": {
            "type": "string",
            "enum": [
              "OPEN_ENDED",
              "OPEN_ENDED_YEAR",
              "FIXED",
              "APPRENTICESHIP",
              "INTERN",
              "INDEFINITE_SALARY_NO_TIME_CONSTRAINT",
              "FIXED_SALARY_NO_TIME_CONSTRAINT",
              "ADMINISTRATIVE_BOARD"
            ]
          },
          "weeklyResidenceAddressId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "salaryBase"
        ]
      },
      "Staff": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "avsNumber": {
            "type": "string"
          },
          "permitExpiryDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "jobTitle": {
            "type": "string"
          },
          "employmentStartDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "employmentEndDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "workPermit": {
            "$ref": "#/components/schemas/WorkPermit"
          },
          "contractType": {
            "type": "string",
            "enum": [
              "OPEN_ENDED",
              "OPEN_ENDED_YEAR",
              "FIXED",
              "APPRENTICESHIP",
              "INTERN",
              "INDEFINITE_SALARY_NO_TIME_CONSTRAINT",
              "FIXED_SALARY_NO_TIME_CONSTRAINT",
              "ADMINISTRATIVE_BOARD"
            ]
          },
          "employeeDocumentType": {
            "type": "string",
            "enum": [
              "PASSPORT",
              "ID"
            ]
          },
          "documentNumber": {
            "type": "string"
          },
          "documentExpiryDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "maritalType": {
            "type": "string",
            "enum": [
              "SINGLE",
              "MARRIED",
              "DIVORCED",
              "SEPARATED",
              "WIDOWED",
              "PARTNERED",
              "DISSOLVED_LAW",
              "DISSOLVED_LOST",
              "DISSOLVED_DEATH"
            ]
          },
          "maritalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "isSpouseWorking": {
            "type": "boolean"
          },
          "enforceTimesheets": {
            "type": "boolean"
          },
          "familyMembers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FamilyMember"
            }
          },
          "timesheetPricingLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillableRate"
            }
          },
          "staffPayslips": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StaffPayslip"
            }
          },
          "costCalculationType": {
            "type": "string",
            "enum": [
              "AUTOMATIC",
              "MANUAL"
            ]
          },
          "timesheetsCost": {
            "type": "string"
          },
          "pdfPassword": {
            "type": "string"
          },
          "trainingLevel": {
            "type": "string",
            "enum": [
              "PHD",
              "MASTER_ETH",
              "BACHELOR_ETH",
              "MASTER_UAS",
              "BACHELOR_UAS",
              "HES",
              "MASTER",
              "BACHELOR",
              "TC",
              "MATU",
              "CVT",
              "IN_HOUSE",
              "COMP_SCHOOL"
            ]
          },
          "position": {
            "type": "string",
            "enum": [
              "SENIOR",
              "MIDDLE",
              "LOWER",
              "RESP"
            ]
          },
          "placeOfBirth": {
            "type": "string"
          },
          "taxId": {
            "type": "string",
            "pattern": "^[A-Z]{6}[0-9]{2}(A|B|C|D|E|H|L|M|P|R|S|T)[0-9]{2}[A-Z]{1}[0-9A-Z]{3}[A-Z]{1}$|^$"
          },
          "crossborderValidAsOf": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          }
        }
      },
      "StaffPayslip": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "staffId": {
            "type": "integer",
            "format": "int64"
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32"
          },
          "employmentStartDate": {
            "type": "string"
          },
          "employmentEndDate": {
            "type": "string"
          },
          "salaryCertificateNotes": {
            "type": "string"
          },
          "pensionStatement": {
            "type": "boolean"
          },
          "continuedProvisionOfSalaryType": {
            "type": "boolean"
          },
          "continuedSalary": {
            "$ref": "#/components/schemas/StaffPayslipContinuedSalary"
          },
          "isFreeTransportToWork": {
            "type": "boolean"
          },
          "isCanteenMealsOrMealsVouchers": {
            "type": "boolean"
          },
          "salaryInfo": {
            "$ref": "#/components/schemas/SalaryInfo"
          },
          "employeeGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmployeeGroup"
            }
          },
          "systemLine": {
            "$ref": "#/components/schemas/StaffPayslipSystemLine"
          },
          "baseSalaryLine": {
            "$ref": "#/components/schemas/StaffPayslipBaseSalaryLine"
          },
          "payslipTableLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalaryTableLine"
            }
          },
          "officeWorkPercents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StaffPayslipOfficeWorkPercent"
            }
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StaffPayslipComment"
            }
          }
        }
      },
      "StaffPayslipBaseSalaryLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "staffPayslipEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "payslipLineEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "employeeAmount": {
            "type": "string"
          },
          "employerAmount": {
            "type": "string"
          },
          "payslipValueSplitType": {
            "type": "string",
            "enum": [
              "EMPLOYEE",
              "EMPLOYER",
              "BOTH"
            ]
          }
        }
      },
      "StaffPayslipComment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "staffPayslipEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "certificateCommentId": {
            "type": "integer",
            "format": "int64"
          },
          "commentType": {
            "type": "integer",
            "format": "int32"
          },
          "regionId": {
            "type": "integer",
            "format": "int64"
          },
          "regionName": {
            "type": "string"
          },
          "approbationDate": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          }
        }
      },
      "StaffPayslipContinuedSalary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          }
        }
      },
      "StaffPayslipOfficeWorkPercent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "staffPayslipEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "officeName": {
            "type": "string"
          },
          "percent": {
            "type": "string"
          },
          "csaEntryDate": {
            "type": "string"
          },
          "csaEntryReason": {
            "type": "string",
            "enum": [
              "REASON_ENTRY_ORGANIZATION",
              "REASON_ENTRY_CHANGE"
            ]
          },
          "csaExitDate": {
            "type": "string"
          },
          "csaExitReason": {
            "type": "string",
            "enum": [
              "REASON_EXIT_ORGANIZATION",
              "REASON_EXIT_CHANGE"
            ]
          }
        }
      },
      "StaffPayslipSystemLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "staffPayslipEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "payslipLineEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "bracket": {
            "type": "string"
          },
          "rate": {
            "type": "string"
          },
          "localizations": {
            "$ref": "#/components/schemas/TranslationEntity"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "Supplier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int64"
          },
          "paymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "balanceSheetAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "paymentTerms": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "feeSplitType": {
            "type": "string",
            "enum": [
              "CHARGED_TO_THE_BENEFICIARY",
              "FIFTY_FIFTY_SPLIT",
              "CHARGED_TO_THE_ORDERER"
            ]
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "vatNumber": {
            "type": "string"
          },
          "vatType": {
            "type": "string",
            "enum": [
              "NO_VAT",
              "NATIVE",
              "IMPORT_OF_SERVICE"
            ]
          },
          "vatTypeCodeId": {
            "type": "integer",
            "format": "int64"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "businessUnitName": {
            "type": "string"
          },
          "paymentAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "balanceSheetAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "delayDiscounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierDelayDiscount"
            }
          },
          "placcountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "placcountId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SupplierDelayDiscount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "delayDays": {
            "type": "integer",
            "format": "int32"
          },
          "discountPercent": {
            "type": "number"
          }
        }
      },
      "TreeRole": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string",
            "enum": [
              "ROLE",
              "SUPER_ROLE"
            ]
          },
          "name": {
            "type": "string"
          },
          "isDefault": {
            "type": "boolean"
          }
        }
      },
      "WorkPermit": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "countryId": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "$ref": "#/components/schemas/Translation"
          },
          "nameId": {
            "type": "integer",
            "format": "int64"
          },
          "code": {
            "type": "string"
          }
        }
      },
      "NewConsolidatedOrganization": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "mainLanguage": {
            "$ref": "#/components/schemas/Language"
          },
          "currency": {
            "type": "string",
            "minLength": 1
          },
          "fiscalYearStart": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "fiscalYearEnd": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "organizationIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "minItems": 1
          },
          "managingCompanyId": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "currency",
          "fiscalYearEnd",
          "fiscalYearStart",
          "mainLanguage",
          "managingCompanyId",
          "name",
          "organizationIds"
        ]
      },
      "BudgetImportFileDto": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary",
            "description": "Excel file (.xlsx) to import"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "parent": {
            "type": "integer",
            "format": "int64"
          },
          "periodId": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "reportType": {
            "type": "string",
            "enum": [
              "PL",
              "CASH_FLOW"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "INACTIVE"
            ]
          },
          "department": {
            "type": "integer",
            "format": "int64"
          },
          "article": {
            "type": "integer",
            "format": "int64"
          },
          "contact": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "file",
          "id",
          "name",
          "periodId",
          "reportType",
          "status"
        ]
      },
      "BrowserInfo": {
        "type": "object",
        "properties": {
          "browserAcceptHeader": {
            "type": "string"
          },
          "browserColorDepth": {
            "type": "string"
          },
          "browserJavaEnabled": {
            "type": "string"
          },
          "browserLanguage": {
            "type": "string"
          },
          "browserScreenHeight": {
            "type": "string"
          },
          "browserScreenWidth": {
            "type": "string"
          },
          "browserTimeZone": {
            "type": "string"
          },
          "browserUserAgent": {
            "type": "string"
          }
        },
        "required": [
          "browserAcceptHeader",
          "browserColorDepth",
          "browserJavaEnabled",
          "browserLanguage",
          "browserScreenHeight",
          "browserScreenWidth",
          "browserTimeZone",
          "browserUserAgent"
        ]
      },
      "CardInfo": {
        "type": "object",
        "properties": {
          "cardNumber": {
            "type": "integer",
            "format": "int64"
          },
          "cardholderName": {
            "type": "string",
            "minLength": 1
          },
          "cvv": {
            "type": "string",
            "minLength": 1
          },
          "expiryMonth": {
            "type": "integer",
            "format": "int32"
          },
          "expiryYear": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "cardNumber",
          "cardholderName",
          "cvv",
          "expiryMonth",
          "expiryYear"
        ]
      },
      "PaymentRequest": {
        "type": "object",
        "properties": {
          "cardInfo": {
            "$ref": "#/components/schemas/CardInfo"
          },
          "browserInfo": {
            "$ref": "#/components/schemas/BrowserInfo"
          },
          "redirectUrl": {
            "$ref": "#/components/schemas/RedirectUrl"
          },
          "nonInteractive": {
            "type": "boolean"
          },
          "modifyPaymentMethod": {
            "type": "boolean"
          }
        },
        "required": [
          "redirectUrl"
        ]
      },
      "RedirectUrl": {
        "type": "object",
        "properties": {
          "acceptUrl": {
            "type": "string",
            "minLength": 1
          },
          "declineUrl": {
            "type": "string",
            "minLength": 1
          },
          "exceptionUrl": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "acceptUrl",
          "declineUrl",
          "exceptionUrl"
        ]
      },
      "PaymentResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "paymentId": {
            "type": "string"
          }
        }
      },
      "BillingPlan": {
        "type": "object",
        "properties": {
          "billingUnitAmount": {
            "type": "integer",
            "format": "int64"
          },
          "billingUnitType": {
            "type": "string",
            "enum": [
              "ORGANIZATION",
              "EMPLOYEE",
              "PERSON"
            ]
          }
        },
        "required": [
          "billingUnitType"
        ]
      },
      "AdjustUnitsPaymentRequest": {
        "type": "object",
        "properties": {
          "paymentRequest": {
            "$ref": "#/components/schemas/PaymentRequest"
          },
          "billingPlans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillingPlan"
            }
          }
        }
      },
      "AttachmentEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "remark": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "mimeType": {
            "type": "string"
          },
          "content": {
            "type": "string",
            "format": "byte"
          }
        }
      },
      "BundleArticleItemRequest": {
        "type": "object",
        "description": "Item within a BUNDLE type article",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "articleId": {
            "type": "integer",
            "description": "ID of the article included in this bundle",
            "example": 12345678
          },
          "price": {
            "type": "string",
            "description": "Unit price of the item as string",
            "example": "50.00"
          },
          "amount": {
            "type": "string",
            "description": "Quantity of the item as string",
            "example": "2"
          },
          "discount": {
            "type": "string",
            "description": "Discount percentage as string. Defaults to 0 if null",
            "example": "10.00"
          },
          "totalPrice": {
            "type": "string",
            "description": "Total price of the item as string",
            "example": "90.00"
          }
        },
        "required": [
          "amount",
          "articleId",
          "totalPrice"
        ]
      },
      "ArticleCurrencyRequest": {
        "type": "object",
        "description": "Currency reference. Only id is required on input",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Currency ID",
            "example": 12345678
          }
        },
        "required": [
          "id"
        ]
      },
      "ArticleRequest": {
        "type": "object",
        "description": "Request model for creating or updating an article",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "type": {
            "type": "string",
            "description": "Article type",
            "enum": [
              "PRODUCT",
              "SERVICE",
              "BUNDLE"
            ],
            "example": "PRODUCT"
          },
          "articleId": {
            "type": "string",
            "description": "Article code / external identifier",
            "example": "ART-001"
          },
          "name": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual name of the article."
          },
          "description": {
            "$ref": "#/components/schemas/TranslationRequest",
            "description": "Multilingual description of the article."
          },
          "imageId": {
            "type": "integer",
            "description": "Image document ID",
            "example": 12345678
          },
          "categoryId": {
            "type": "integer",
            "description": "Article category ID",
            "example": 12345678
          },
          "measurement": {
            "type": "string",
            "description": "Unit of measurement. Not applicable for BUNDLE type",
            "enum": [
              "UNIT",
              "ML",
              "DL",
              "L",
              "HL",
              "G",
              "KG",
              "T",
              "H",
              "M",
              "M_2",
              "M_3",
              "KM",
              "DAY"
            ],
            "example": "UNIT"
          },
          "unitCost": {
            "type": "string",
            "description": "Unit cost as string. Not applicable for BUNDLE type",
            "example": "100.00"
          },
          "unitPrice": {
            "type": "string",
            "description": "Unit price as string",
            "example": "150.00"
          },
          "vatRateId": {
            "type": "integer",
            "description": "VAT rate ID",
            "example": 12345678
          },
          "saleAccountId": {
            "type": "integer",
            "description": "Chart of accounts sale account ID",
            "example": 12345678
          },
          "currency": {
            "$ref": "#/components/schemas/ArticleCurrencyRequest",
            "description": "Currency. Only id is required when sending. Null for BUNDLE type"
          },
          "ean": {
            "type": "string",
            "description": "EAN barcode",
            "example": "4006381333931"
          },
          "isManufactured": {
            "type": "boolean",
            "description": "Whether the article is manufactured. Only relevant for PRODUCT type"
          },
          "archived": {
            "type": "boolean",
            "description": "Whether the article is archived",
            "example": false
          },
          "quantity": {
            "type": "number",
            "description": "Quantity in stock (informational, managed by stock movements)",
            "example": 10.0
          },
          "startDate": {
            "type": "string",
            "description": "Validity start date (ISO 8601)",
            "example": "2024-01-01"
          },
          "endDate": {
            "type": "string",
            "description": "Validity end date (ISO 8601)",
            "example": "2024-12-31"
          },
          "margin": {
            "type": "number",
            "description": "Margin value",
            "example": 25.0
          },
          "weightKg": {
            "type": "number",
            "description": "Weight in kg, up to 3 decimal places",
            "example": 1.255,
            "multipleOf": 0.001
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BundleArticleItemRequest",
              "description": "Bundle items. Only applicable for BUNDLE type"
            }
          }
        },
        "required": [
          "articleId",
          "type"
        ]
      },
      "Article": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string",
            "enum": [
              "PRODUCT",
              "SERVICE",
              "BUNDLE"
            ]
          },
          "articleId": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "$ref": "#/components/schemas/TranslationEntity"
          },
          "description": {
            "$ref": "#/components/schemas/TranslationEntity"
          },
          "imageId": {
            "type": "integer",
            "format": "int64"
          },
          "categoryId": {
            "type": "integer",
            "format": "int64"
          },
          "measurement": {
            "type": "string",
            "enum": [
              "UNIT",
              "ML",
              "DL",
              "L",
              "HL",
              "G",
              "KG",
              "T",
              "H",
              "M",
              "M_2",
              "M_3",
              "KM",
              "DAY"
            ]
          },
          "unitCost": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "unitPrice": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "saleAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "saleAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "categoryName": {
            "type": "string"
          },
          "currency": {
            "$ref": "#/components/schemas/CurrencyEntity"
          },
          "ean": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BundleArticleItem"
            }
          },
          "isManufactured": {
            "type": "boolean"
          },
          "isLinkedToShipments": {
            "type": "boolean"
          },
          "archived": {
            "type": "boolean"
          },
          "quantity": {
            "type": "number"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "margin": {
            "type": "number"
          },
          "weightKg": {
            "type": "number"
          },
          "localizations": {
            "$ref": "#/components/schemas/TranslationEntity"
          }
        },
        "required": [
          "articleId",
          "type"
        ]
      },
      "BundleArticleItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "price": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "amount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "discount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "totalPrice": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "articleName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          }
        },
        "required": [
          "articleId"
        ]
      },
      "CurrencyEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "AllocationRequest": {
        "type": "object",
        "description": "Request model for allocation rules",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "moduleType": {
            "type": "string",
            "enum": [
              "PURCHASE_INVOICES",
              "SALES_INVOICES"
            ]
          },
          "filters": {
            "type": "string",
            "description": "JSON string with allocation filters.\n\nSupported structures depend on moduleType.\n\nSALES_INVOICES example:\n{\n  \"street\": \"Street\",\n  \"clientId\": [\"1\"],\n  \"houseNumber\": \"1\",\n  \"city\": \"City\",\n  \"account\": [\"1\"],\n  \"postCode\": \"PO Box\",\n  \"zipCode\": \"1\",\n  \"ourContactId\": \"1\",\n  \"currency\": \"1\",\n  \"status\": [\"OPEN\"],\n  \"country\": \"1\",\n  \"yourReference\": \"You Ref\",\n  \"ourReference\": \"Ref\"\n}\n\nPURCHASE_INVOICES example:\n{\n  \"supplierId\": [\"1\"],\n  \"reference\": \"Ref\",\n  \"status\": [\"OPEN\"],\n  \"account\": [\"1\"],\n  \"currency\": \"1\"\n}\n"
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "format": "date-time"
          },
          "active": {
            "type": "boolean"
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AllocationRuleActionEntry"
            }
          }
        },
        "required": [
          "dateFrom"
        ]
      },
      "AllocationRuleActionEntry": {
        "type": "object",
        "description": "Single allocation rule entry.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "position": {
            "type": "integer",
            "description": "Order of the allocation entry.",
            "example": 0
          },
          "departmentId": {
            "type": "integer",
            "description": "Identifier of the target department.",
            "example": 12345678
          },
          "officeId": {
            "type": "integer",
            "description": "Identifier of the target office.",
            "example": 12345678
          },
          "accountId": {
            "type": "integer",
            "description": "Identifier of the target account.",
            "example": 12345678
          },
          "percentage": {
            "type": "number",
            "description": "Percentage value. May be negative, but the sum of all percentage values must equal 100.",
            "example": 25
          }
        },
        "required": [
          "percentage"
        ]
      },
      "AllocationRule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "moduleType": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "filters": {
            "type": "string"
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "format": "date-time"
          },
          "active": {
            "type": "boolean"
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AllocationRuleAction"
            }
          }
        },
        "required": [
          "dateFrom",
          "filters",
          "moduleType",
          "name"
        ]
      },
      "AllocationRuleAction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "position": {
            "type": "integer",
            "format": "int64"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "percentage": {
            "type": "number"
          },
          "validAllocationUnit": {
            "type": "boolean"
          }
        },
        "required": [
          "percentage"
        ]
      },
      "AccountingPeriodRequest": {
        "type": "object",
        "description": "Request model for batch update",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Entity ID. If negative value, a new entity will be created",
            "example": 12345678
          },
          "fiscalYear": {
            "type": "integer",
            "format": "int32",
            "example": 2026
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "example": "2026-01-01T00:00:00.000Z"
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "example": "2026-12-31T00:00:00.000Z"
          },
          "vatRule": {
            "$ref": "#/components/schemas/VatRuleIdOnly",
            "description": "Accounting period Vat rule"
          },
          "ntdrRate_1": {
            "type": "string",
            "example": "0.00"
          },
          "ntdrRate1AccountsIds": {
            "type": "string",
            "example": []
          },
          "ntdrRate_2": {
            "type": "string",
            "example": "0.00"
          },
          "ntdrRate2AccountsIds": {
            "type": "string",
            "example": []
          },
          "flatRateAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlatRateAccount"
            }
          },
          "lockedUntil": {
            "type": "string",
            "format": "date-time",
            "example": "2026-12-31T00:00:00.000Z"
          }
        }
      },
      "FlatRateAccount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "flatRate": {
            "type": "string"
          },
          "flatRateChartAccountsIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        }
      },
      "VatRuleIdOnly": {
        "type": "object",
        "description": "Reference to VatRule by id",
        "properties": {
          "id": {
            "type": "integer",
            "description": "VatRule ID",
            "example": 1
          }
        }
      },
      "AccountingPeriod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "fiscalYear": {
            "type": "integer",
            "format": "int32"
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "vatRule": {
            "$ref": "#/components/schemas/VatRule"
          },
          "ntdrRate_1": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "ntdrRate1AccountsIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "ntdrRate_2": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "ntdrRate2AccountsIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "flatRateAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlatRateAccount"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "OPEN",
              "CLOSED",
              "INACTIVE"
            ]
          },
          "isLocked": {
            "type": "boolean"
          },
          "budgetExist": {
            "type": "boolean"
          },
          "lockedUntil": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          }
        },
        "required": [
          "endDate",
          "fiscalYear",
          "lockedUntil",
          "startDate",
          "vatRule"
        ]
      },
      "VatRule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "$ref": "#/components/schemas/Translation"
          },
          "rule": {
            "type": "string",
            "enum": [
              "NONE",
              "AGREED_SERVICE",
              "RECEIVED_COMPENSATION",
              "NTDR_AGREED_SERVICE",
              "NTDR_RECEIVED_COMPENSATION",
              "FLAT_RATE_RECEIVED_COMPENSATION",
              "FLAT_RATE_AGREED_SERVICE",
              "SIMPLE_TAX_RATE"
            ]
          }
        }
      },
      "PaymentsRequest": {
        "type": "object",
        "description": "Request model for batch payment processing",
        "properties": {
          "valueDate": {
            "type": "string",
            "description": "Value date of the payment batch (format dd/MM/yyyy)",
            "example": "01/06/2026"
          },
          "chartOfAccountsId": {
            "type": "integer",
            "format": "int64",
            "description": "Chart of accounts ID used as the payment account",
            "example": 12345678
          },
          "purchasePayments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64",
              "description": "IDs of purchase invoice payments to process",
              "example": 12345678
            }
          },
          "salesPayments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64",
              "description": "IDs of sales invoice payments to process",
              "example": 12345678
            }
          },
          "payrollPayments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64",
              "description": "IDs of payroll payments to process",
              "example": 12345678
            }
          },
          "bankCharges": {
            "type": "string",
            "description": "Bank charges amount as string",
            "example": "10.00"
          },
          "lossOnDebtors": {
            "type": "string",
            "description": "Loss on debtors amount as string",
            "example": "5.00"
          }
        },
        "required": [
          "chartOfAccountsId",
          "valueDate"
        ]
      },
      "Payments": {
        "type": "object",
        "properties": {
          "valueDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "chartOfAccountsId": {
            "type": "integer",
            "format": "int64"
          },
          "purchasePayments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "salesPayments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "payrollPayments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "bankCharges": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "lossOnDebtors": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          }
        },
        "required": [
          "chartOfAccountsId",
          "valueDate"
        ]
      },
      "ChartOfAccountOnlyIdRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Chart of account ID",
            "example": 12345678
          }
        }
      },
      "WorkflowView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "moduleType": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "Ratio": {
        "type": "object",
        "properties": {
          "ratioType": {
            "type": "string",
            "enum": [
              "CASH_RATIO",
              "QUICK_RATIO",
              "CURRENT_RATIO",
              "GROSS_MARGIN",
              "NET_MARGIN",
              "RETURN_ON_ASSETS",
              "RETURN_ON_EQUITY",
              "RETURN_ON_CAPITAL",
              "INTEREST_COVERAGE",
              "DEBT_RATIO",
              "DEBT_TO_EQUITY",
              "CAPITALIZATION_RATIO",
              "ASSET_TURNOVER",
              "INVENTORY_TURNOVER"
            ]
          },
          "ratioGroup": {
            "type": "string",
            "enum": [
              "LIQUIDITY_RATIOS",
              "PROFITABILITY_RATIOS",
              "DEBT_RATIOS",
              "EFFICIENCY_RATIOS"
            ]
          },
          "value": {
            "type": "number"
          },
          "lastYearValue": {
            "type": "number"
          },
          "industryAverage": {
            "type": "number"
          }
        }
      },
      "VatSubmissionStatus": {
        "type": "object",
        "description": "Whether a VAT declaration for a period has already been submitted",
        "properties": {
          "submitted": {
            "type": "boolean",
            "description": "True when the declaration for this period and submission type has already been submitted"
          },
          "submittedOn": {
            "type": "string",
            "format": "date-time",
            "description": "When it was submitted, if known. Null for declarations filed before submission timestamps were recorded."
          }
        }
      },
      "VatPreview": {
        "type": "object",
        "properties": {
          "previousPeriods": {
            "$ref": "#/components/schemas/VatPreviewLine"
          },
          "currentQuarter": {
            "$ref": "#/components/schemas/VatPreviewLine"
          }
        }
      },
      "VatPreviewLine": {
        "type": "object",
        "properties": {
          "quarter": {
            "type": "integer",
            "format": "int32"
          },
          "year": {
            "type": "integer",
            "format": "int32"
          },
          "asOf": {
            "type": "string",
            "format": "date-time"
          },
          "amount": {
            "type": "number"
          }
        }
      },
      "VacationBaseView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "employeeName": {
            "type": "string"
          }
        }
      },
      "Period": {
        "type": "object",
        "properties": {
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "VacationAvailability": {
        "type": "object",
        "properties": {
          "employeeId": {
            "type": "integer",
            "format": "int64"
          },
          "employeeName": {
            "type": "string",
            "writeOnly": true
          },
          "salaryPeriods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Period"
            }
          },
          "employeeIdName": {
            "type": "string"
          }
        }
      },
      "UserGroupView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string",
            "enum": [
              "GROUP",
              "SUPER_GROUP"
            ]
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "UserGroupAdvancedView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string",
            "enum": [
              "GROUP",
              "SUPER_GROUP"
            ]
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "userIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        }
      },
      "TreasuryInfo": {
        "type": "object",
        "properties": {
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TreasuryLine"
            }
          },
          "totalLine": {
            "$ref": "#/components/schemas/TreasuryLine"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "TreasuryLine": {
        "type": "object",
        "properties": {
          "chartOfAccount": {
            "$ref": "#/components/schemas/UserLanguageChartOfAccountsView"
          },
          "currency": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "lastEntryDate": {
            "type": "string",
            "format": "date-time"
          },
          "chartOfAccountsName": {
            "$ref": "#/components/schemas/Translation"
          }
        }
      },
      "UserLanguageChartOfAccountsView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "accountNumber": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "$ref": "#/components/schemas/Translation"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "currency": {
            "type": "string"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "warnings": {
            "type": "string"
          },
          "isCashAccountEnabled": {
            "type": "boolean"
          },
          "hasDepreciation": {
            "type": "boolean"
          },
          "isPurchaseInvoicesEnabled": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "TrashCanView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "time": {
            "type": "string",
            "format": "date-time"
          },
          "localTime": {
            "type": "string",
            "format": "date-time"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "contactEmail": {
            "type": "string"
          },
          "module": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "entityId": {
            "type": "integer",
            "format": "int64"
          },
          "entityName": {
            "type": "string"
          },
          "systemInfo": {
            "type": "string"
          },
          "entityCreatorContactId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "TimesheetView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "employeeContactId": {
            "type": "integer",
            "format": "int64"
          },
          "employee": {
            "type": "string"
          },
          "client": {
            "type": "string"
          },
          "clientContactId": {
            "type": "integer",
            "format": "int64"
          },
          "order": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "time": {
            "type": "number"
          },
          "isBillable": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNSUBMITTED",
              "SUBMITTED",
              "REJECTED",
              "APPROVED",
              "BILLED"
            ]
          },
          "billableAmount": {
            "type": "number"
          },
          "costAmount": {
            "type": "number"
          },
          "taskName": {
            "type": "string"
          },
          "billableRate": {
            "type": "number"
          },
          "costRate": {
            "type": "number"
          },
          "departmentId": {
            "type": "number"
          },
          "orderIdOriginal": {
            "type": "string"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "TeamReview": {
        "type": "object",
        "properties": {
          "hours": {
            "type": "number"
          },
          "hoursByStatus": {
            "type": "object",
            "additionalProperties": {
              "type": "number"
            }
          },
          "billableHours": {
            "type": "number"
          },
          "billableHoursPercent": {
            "type": "number"
          },
          "capacity": {
            "type": "number"
          },
          "employeeContactId": {
            "type": "integer",
            "format": "int64"
          },
          "employeeName": {
            "type": "string"
          },
          "containSubmitted": {
            "type": "boolean"
          }
        }
      },
      "EmployeeTeamReview": {
        "type": "object",
        "properties": {
          "hours": {
            "type": "number"
          },
          "hoursByStatus": {
            "type": "object",
            "additionalProperties": {
              "type": "number"
            }
          },
          "billableHours": {
            "type": "number"
          },
          "billableHoursPercent": {
            "type": "number"
          },
          "capacity": {
            "type": "number"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "containSubmitted": {
            "type": "boolean"
          }
        }
      },
      "OrderForTimesheet": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "clientContactId": {
            "type": "integer",
            "format": "int64"
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderTask"
            }
          }
        }
      },
      "OrderBrief": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "clientContactId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "TimesheetFilter": {
        "type": "object",
        "properties": {
          "employees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactBrief"
            },
            "uniqueItems": true
          },
          "clientIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          },
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderBrief"
            },
            "uniqueItems": true
          }
        }
      },
      "TimesheetAdvancedView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "employeeContactId": {
            "type": "integer",
            "format": "int64"
          },
          "employee": {
            "type": "string"
          },
          "client": {
            "type": "string"
          },
          "clientContactId": {
            "type": "integer",
            "format": "int64"
          },
          "order": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "time": {
            "type": "number"
          },
          "isBillable": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNSUBMITTED",
              "SUBMITTED",
              "REJECTED",
              "APPROVED",
              "BILLED"
            ]
          },
          "billableAmount": {
            "type": "number"
          },
          "costAmount": {
            "type": "number"
          },
          "taskName": {
            "type": "string"
          },
          "billableRate": {
            "type": "number"
          },
          "costRate": {
            "type": "number"
          },
          "departmentId": {
            "type": "number"
          },
          "orderIdOriginal": {
            "type": "string"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "orderContactId": {
            "type": "integer",
            "format": "int64"
          },
          "orderName": {
            "type": "string"
          },
          "orderJoinedId": {
            "type": "string"
          },
          "orderStatus": {
            "type": "string"
          },
          "parentOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "orderDepartmentId": {
            "type": "integer",
            "format": "int64"
          },
          "orderHistoryStatus": {
            "type": "string",
            "enum": [
              "OFFERED",
              "OFFERED_SENT",
              "CONFIRMED",
              "CONFIRMED_SENT",
              "BILLABLE",
              "FINISHED",
              "CANCELLED"
            ]
          },
          "orderHistoryDate": {
            "type": "string",
            "format": "date-time"
          },
          "orderVatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "orderRequestedPaymentTerms": {
            "type": "integer",
            "format": "int32"
          },
          "orderOurContactName": {
            "type": "string"
          },
          "orderCurrencyId": {
            "type": "integer",
            "format": "int64"
          },
          "orderMinimumAmountToInvoice": {
            "type": "number"
          },
          "orderYourContactName": {
            "type": "string"
          },
          "orderPeriodicityType": {
            "type": "string",
            "enum": [
              "NONE",
              "DAILY",
              "WEEKLY",
              "BI_WEEKLY",
              "EVERY_MONTH",
              "EVERY_2_MONTH",
              "EVERY_3_MONTH",
              "EVERY_4_MONTH",
              "EVERY_6_MONTH",
              "ANNUAL"
            ]
          },
          "orderDayOfWeek": {
            "type": "string",
            "enum": [
              "MONDAY",
              "TUESDAY",
              "WEDNESDAY",
              "THURSDAY",
              "FRIDAY",
              "SATURDAY",
              "SUNDAY"
            ]
          },
          "orderInvoicingTime": {
            "type": "string",
            "enum": [
              "FIRST_DAY",
              "LAST_DAY",
              "FIRST_WORKING_DAY",
              "LAST_WORKING_DAY"
            ]
          },
          "orderPeriodicityStartDate": {
            "type": "string",
            "format": "date-time"
          },
          "orderIsDisbursementFeeEnabled": {
            "type": "boolean"
          },
          "orderIsExpensesEnabled": {
            "type": "boolean"
          },
          "orderIsTimesheetsEnabled": {
            "type": "boolean"
          },
          "orderFixedAmount": {
            "type": "number"
          },
          "orderOfficeId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SalaryDeclarationStatusDto": {
        "type": "object",
        "properties": {
          "jobFinished": {
            "type": "boolean"
          },
          "stillChecking": {
            "type": "boolean"
          }
        }
      },
      "Awaited": {
        "type": "object",
        "properties": {
          "validAsOf": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "applied": {
            "type": "boolean"
          }
        }
      },
      "Figures": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string"
          },
          "taxableEarning": {
            "type": "number"
          },
          "ascertainedTaxableEarning": {
            "type": "number"
          },
          "taxAtSource": {
            "type": "number"
          },
          "sporadicBenefits": {
            "type": "number"
          }
        }
      },
      "Note": {
        "type": "object",
        "properties": {
          "level": {
            "type": "string",
            "enum": [
              "WARNING",
              "INFO"
            ]
          },
          "qualityLevel": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        }
      },
      "Person": {
        "type": "object",
        "properties": {
          "staffId": {
            "type": "integer",
            "format": "int64"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "socialInsuranceId": {
            "type": "string"
          },
          "employeeNumber": {
            "type": "string"
          },
          "lastname": {
            "type": "string"
          },
          "firstname": {
            "type": "string"
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date"
          },
          "notes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "salaries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Salary"
            }
          }
        }
      },
      "Reversal": {
        "type": "object",
        "properties": {
          "month": {
            "type": "string"
          },
          "old": {
            "$ref": "#/components/schemas/Figures"
          },
          "replacement": {
            "$ref": "#/components/schemas/Figures"
          },
          "netTaxableEarning": {
            "type": "number"
          },
          "netTaxAtSource": {
            "type": "number"
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "confirmedByJobKey": {
            "type": "string"
          },
          "confirmedInMonth": {
            "type": "string"
          }
        }
      },
      "Salary": {
        "type": "object",
        "properties": {
          "canton": {
            "type": "string"
          },
          "municipalityId": {
            "type": "integer",
            "format": "int32"
          },
          "currentMonth": {
            "type": "string"
          },
          "confirmed": {
            "type": "boolean"
          },
          "reversals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Reversal"
            }
          },
          "awaited": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Awaited"
            }
          }
        }
      },
      "SwissdecTaxAtSourceResultDto": {
        "type": "object",
        "properties": {
          "canton": {
            "type": "string"
          },
          "customerIdentity": {
            "type": "string"
          },
          "changesConsideredUpTo": {
            "type": "string",
            "format": "date"
          },
          "withoutCompletion": {
            "type": "boolean"
          },
          "tags": {
            "type": "integer",
            "format": "int64"
          },
          "quittance": {
            "$ref": "#/components/schemas/Totals"
          },
          "corrections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Totals"
            }
          },
          "persons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Person"
            }
          }
        }
      },
      "Totals": {
        "type": "object",
        "properties": {
          "month": {
            "type": "string"
          },
          "taxableEarning": {
            "type": "number"
          },
          "taxAtSource": {
            "type": "number"
          },
          "commission": {
            "type": "number"
          }
        }
      },
      "SwissdecBvgReceiptDto": {
        "type": "object",
        "properties": {
          "changesConsideredUpTo": {
            "type": "string",
            "format": "date"
          },
          "persons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Person"
            }
          }
        }
      },
      "SwissdecRectificationOptionsDto": {
        "type": "object",
        "properties": {
          "calendarYear": {
            "type": "integer",
            "format": "int32"
          },
          "persons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Person"
            }
          }
        }
      },
      "SwissdecAhvNotificationPersonDto": {
        "type": "object",
        "properties": {
          "staffId": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "avsNumber": {
            "type": "string"
          },
          "annualAhvIncome": {
            "type": "number"
          }
        }
      },
      "SwissdecDispatchOptionsDto": {
        "type": "object",
        "properties": {
          "testCaseDefault": {
            "type": "boolean"
          },
          "pendingDeclaration": {
            "type": "boolean"
          },
          "substitutionAvailable": {
            "type": "boolean"
          },
          "predecessorJobKey": {
            "type": "string"
          },
          "predecessorDeclarationId": {
            "type": "string"
          },
          "predecessorAcceptedAt": {
            "type": "string",
            "format": "date-time"
          },
          "predecessorResultStatus": {
            "type": "string",
            "enum": [
              "ACCEPTED",
              "PARTIAL",
              "REJECTED",
              "UNKNOWN"
            ]
          },
          "plausibility": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecPlausibilityFindingDto"
            }
          },
          "domains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecDomainOptionDto"
            }
          },
          "negativeAhvPersons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecAhvNotificationPersonDto"
            }
          },
          "plausibilityErrors": {
            "type": "integer",
            "format": "int32"
          },
          "plausibilityWarnings": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "SwissdecDomainOptionDto": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "enum": [
              "AHV_AVS",
              "BVG_LPP",
              "UVG_LAA",
              "UVGZ_LAAC",
              "KTG_AMC",
              "FAK_CAF",
              "TAX",
              "TAX_AT_SOURCE",
              "TAX_CROSSBORDER",
              "STATISTIC",
              "UNEMPLOYMENT_CERTIFICATES"
            ]
          },
          "supported": {
            "type": "boolean"
          },
          "available": {
            "type": "boolean"
          },
          "defaultSelected": {
            "type": "boolean"
          },
          "institutionId": {
            "type": "string"
          },
          "institutionName": {
            "type": "string"
          }
        }
      },
      "SwissdecPlausibilityFindingDto": {
        "type": "object",
        "properties": {
          "level": {
            "type": "string",
            "enum": [
              "ERROR",
              "WARNING",
              "INFO"
            ]
          },
          "code": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "field": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "SwissdecMonthlyDispatchOptionsDto": {
        "type": "object",
        "properties": {
          "calendarYear": {
            "type": "integer",
            "format": "int32"
          },
          "monthType": {
            "type": "string",
            "enum": [
              "JANUARY",
              "FEBRUARY",
              "MARCH",
              "APRIL",
              "MAY",
              "JUNE",
              "JULY",
              "AUGUST",
              "SEPTEMBER",
              "OCTOBER",
              "NOVEMBER",
              "DECEMBER"
            ]
          },
          "testCaseDefault": {
            "type": "boolean"
          },
          "submissionInProgress": {
            "type": "boolean"
          },
          "cantons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecTaxAtSourceCantonOptionDto"
            }
          },
          "statisticAvailable": {
            "type": "boolean"
          },
          "statisticInstitutionId": {
            "type": "string"
          },
          "statisticDeclaredBy": {
            "type": "string"
          },
          "plausibility": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SwissdecPlausibilityFindingDto"
            }
          }
        }
      },
      "SwissdecTaxAtSourceCantonOptionDto": {
        "type": "object",
        "properties": {
          "canton": {
            "type": "string"
          },
          "institutionId": {
            "type": "string"
          },
          "customerIdentity": {
            "type": "string"
          },
          "persons": {
            "type": "integer",
            "format": "int32"
          },
          "declaredBy": {
            "type": "string"
          },
          "available": {
            "type": "boolean"
          }
        }
      },
      "SwissdecInstitutionDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "domain": {
            "type": "string",
            "enum": [
              "AHV_AVS",
              "BVG_LPP",
              "UVG_LAA",
              "UVGZ_LAAC",
              "KTG_AMC",
              "FAK_CAF",
              "TAX",
              "TAX_AT_SOURCE",
              "TAX_CROSSBORDER",
              "STATISTIC",
              "UNEMPLOYMENT_CERTIFICATES"
            ]
          },
          "organizationEmployeeGroupId": {
            "type": "integer",
            "format": "int64"
          },
          "institutionKey": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "institutionId": {
            "type": "string"
          },
          "customerIdentity": {
            "type": "string"
          },
          "contractIdentity": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          }
        }
      },
      "SwissdecInsuranceEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "insurerNumber": {
            "type": "string"
          },
          "uid": {
            "type": "string"
          }
        }
      },
      "SubOrderView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "invoicingDate": {
            "type": "string",
            "format": "date-time"
          },
          "contactName": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "orderName": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "orderPeriodicityType": {
            "type": "string",
            "enum": [
              "NONE",
              "DAILY",
              "WEEKLY",
              "BI_WEEKLY",
              "EVERY_MONTH",
              "EVERY_2_MONTH",
              "EVERY_3_MONTH",
              "EVERY_4_MONTH",
              "EVERY_6_MONTH",
              "ANNUAL"
            ]
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "totalAmount": {
            "type": "number"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "orderOriginalId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "StockReportLineView": {
        "type": "object",
        "properties": {
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "articleName": {
            "$ref": "#/components/schemas/Translation"
          },
          "measurement": {
            "type": "string",
            "enum": [
              "UNIT",
              "ML",
              "DL",
              "L",
              "HL",
              "G",
              "KG",
              "T",
              "H",
              "M",
              "M_2",
              "M_3",
              "KM",
              "DAY"
            ]
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "articleIdToDisplay": {
            "type": "string"
          },
          "totalQuantity": {
            "type": "number"
          },
          "totalCost": {
            "type": "number"
          },
          "outQuantity": {
            "type": "number"
          },
          "inQuantity": {
            "type": "number"
          },
          "quantityProjection": {
            "type": "number"
          },
          "departmentId": {
            "type": "number"
          },
          "categoryId": {
            "type": "number"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "StockMovementLineView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "articleRealId": {
            "type": "integer",
            "format": "int64"
          },
          "articleId": {
            "$ref": "#/components/schemas/Translation"
          },
          "movementDirection": {
            "type": "string",
            "enum": [
              "IN",
              "OUT"
            ]
          },
          "quantity": {
            "type": "number"
          },
          "type": {
            "type": "string",
            "enum": [
              "MANUAL",
              "SHIPMENT"
            ]
          },
          "cost": {
            "type": "number"
          },
          "currencyCode": {
            "type": "string"
          },
          "quantityLeft": {
            "type": "number"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "ownerId": {
            "type": "integer",
            "format": "int64"
          },
          "ownerType": {
            "type": "string",
            "enum": [
              "PURCHASE_INVOICE",
              "SALES_INVOICE",
              "ORDER"
            ]
          },
          "measurement": {
            "type": "string",
            "enum": [
              "UNIT",
              "ML",
              "DL",
              "L",
              "HL",
              "G",
              "KG",
              "T",
              "H",
              "M",
              "M_2",
              "M_3",
              "KM",
              "DAY"
            ]
          },
          "entityCreatorContactId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "StockMovementLineAdvancedView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "articleRealId": {
            "type": "integer",
            "format": "int64"
          },
          "articleId": {
            "$ref": "#/components/schemas/Translation"
          },
          "movementDirection": {
            "type": "string",
            "enum": [
              "IN",
              "OUT"
            ]
          },
          "quantity": {
            "type": "number"
          },
          "type": {
            "type": "string",
            "enum": [
              "MANUAL",
              "SHIPMENT"
            ]
          },
          "cost": {
            "type": "number"
          },
          "currencyCode": {
            "type": "string"
          },
          "quantityLeft": {
            "type": "number"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "ownerId": {
            "type": "integer",
            "format": "int64"
          },
          "ownerType": {
            "type": "string",
            "enum": [
              "PURCHASE_INVOICE",
              "SALES_INVOICE",
              "ORDER"
            ]
          },
          "measurement": {
            "type": "string",
            "enum": [
              "UNIT",
              "ML",
              "DL",
              "L",
              "HL",
              "G",
              "KG",
              "T",
              "H",
              "M",
              "M_2",
              "M_3",
              "KM",
              "DAY"
            ]
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "comment": {
            "type": "string"
          },
          "ean": {
            "type": "string"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "DeletedSalesInvoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "journalEntryId": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "clientAddressId": {
            "type": "integer",
            "format": "int64"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "ourContactId": {
            "type": "integer",
            "format": "int64"
          },
          "yourContactId": {
            "type": "integer",
            "format": "int64"
          },
          "clientName": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "yourReference": {
            "type": "string"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": "string"
          },
          "comments": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "receivableAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "vatTypeCodeId": {
            "type": "integer",
            "format": "int64"
          },
          "excludedFromVat": {
            "type": "boolean"
          },
          "invoiceLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesInvoiceLine"
            },
            "minItems": 1
          },
          "invoiceLinesLayout": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesInvoiceLineLayout"
            }
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesPayment"
            }
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderShipment"
            }
          },
          "timesheetInfoItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvoiceTimesheetInfo"
            }
          },
          "sourceOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "sourceSubOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "bvrGenerationAvailability": {
            "type": "boolean"
          },
          "qrGenerationAvailability": {
            "type": "boolean"
          },
          "isFromLockedAccountingPeriod": {
            "type": "boolean"
          },
          "isContainsFixedAsset": {
            "type": "boolean"
          },
          "accrualFrom": {
            "type": "string"
          },
          "accrualTo": {
            "type": "string"
          },
          "accrualEntriesAmount": {
            "type": "integer",
            "format": "int32"
          },
          "validated": {
            "type": "boolean"
          },
          "validatorUserIdsSize": {
            "type": "integer",
            "format": "int64"
          },
          "validatorUserIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "realValidated": {
            "type": "boolean"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "canEditProformaFlag": {
            "type": "boolean"
          },
          "isDocSent": {
            "type": "boolean",
            "readOnly": true
          },
          "ourContactName": {
            "type": "string"
          },
          "yourContactName": {
            "type": "string"
          },
          "receivableAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "clientAddressName": {
            "type": "string"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "proforma": {
            "type": "boolean"
          }
        },
        "required": [
          "clientId",
          "currencyId",
          "date",
          "invoiceLines"
        ]
      },
      "SalesInvoiceBaseView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "client": {
            "type": "string"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "reference": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "referenceAndDescriptionJoined": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "netAmount": {
            "type": "number"
          },
          "totalAmount": {
            "type": "number"
          },
          "receivable": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "OPEN",
              "UNPAID",
              "PAID",
              "PARTIALLY_PAID",
              "OVERDUE",
              "PRO_FORMA"
            ]
          },
          "comments": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "ourContactName": {
            "type": "string"
          },
          "clientEmail": {
            "type": "string"
          },
          "clientAdvancedInvoicingNote": {
            "type": "string"
          },
          "clientECorrespondence": {
            "type": "boolean"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "bvrGenerationAvailability": {
            "type": "boolean"
          },
          "qrGenerationAvailability": {
            "type": "boolean"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "validated": {
            "type": "boolean"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "hasComments": {
            "type": "boolean"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "clientBillingEmail": {
            "type": "string"
          },
          "hasShipments": {
            "type": "boolean"
          },
          "isDocSent": {
            "type": "boolean"
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "inWorkflow": {
            "type": "boolean"
          }
        }
      },
      "SalesInvoiceBaseAdvancedView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "client": {
            "type": "string"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "reference": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "referenceAndDescriptionJoined": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "netAmount": {
            "type": "number"
          },
          "totalAmount": {
            "type": "number"
          },
          "receivable": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "OPEN",
              "UNPAID",
              "PAID",
              "PARTIALLY_PAID",
              "OVERDUE",
              "PRO_FORMA"
            ]
          },
          "comments": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "ourContactName": {
            "type": "string"
          },
          "clientEmail": {
            "type": "string"
          },
          "clientAdvancedInvoicingNote": {
            "type": "string"
          },
          "clientECorrespondence": {
            "type": "boolean"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "bvrGenerationAvailability": {
            "type": "boolean"
          },
          "qrGenerationAvailability": {
            "type": "boolean"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "validated": {
            "type": "boolean"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "hasComments": {
            "type": "boolean"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "clientBillingEmail": {
            "type": "string"
          },
          "hasShipments": {
            "type": "boolean"
          },
          "isDocSent": {
            "type": "boolean"
          },
          "addressClientName": {
            "type": "string"
          },
          "addressStreet": {
            "type": "string"
          },
          "addressStreetPoBox": {
            "type": "string"
          },
          "addressZipCode": {
            "type": "string"
          },
          "addressCity": {
            "type": "string"
          },
          "addressCountryCode": {
            "type": "string"
          },
          "addressRegionCode": {
            "type": "string"
          },
          "addressToTheAttentionOf": {
            "type": "string"
          },
          "salesInvoiceLineId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceLineDescription": {
            "type": "string"
          },
          "invoiceLineSaleAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceLineSaleAccountNumber": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceLineQuantity": {
            "type": "number"
          },
          "invoiceLineTotalNet": {
            "type": "number"
          },
          "invoiceLineVatPercent": {
            "type": "number"
          },
          "invoiceLineVat": {
            "type": "number"
          },
          "invoiceLineTotalPrice": {
            "type": "number"
          },
          "invoiceLineNetPrice": {
            "type": "number"
          },
          "invoiceLineDiscount": {
            "type": "number"
          },
          "invoiceLineDepartmentId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceLineDepartmentName": {
            "type": "string"
          },
          "invoiceLineArticleId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceLineArticleIdToDisplay": {
            "type": "string"
          },
          "invoiceLineAllocationKeys": {
            "type": "string"
          },
          "invoiceLineOfficeId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceLineOfficeName": {
            "type": "string"
          },
          "specificBalanceSheetAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "vatCodeEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "excludedFromVat": {
            "type": "boolean"
          },
          "yourReference": {
            "type": "string"
          },
          "ourContactId": {
            "type": "integer",
            "format": "int64"
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "inWorkflow": {
            "type": "boolean"
          }
        }
      },
      "SalesInvoiceAdvancedSummary": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "totals": {
            "$ref": "#/components/schemas/SalesInvoiceBaseAdvancedView"
          }
        }
      },
      "InvoiceAccounting": {
        "type": "object",
        "properties": {
          "emissionEntry": {
            "$ref": "#/components/schemas/JournalEntry"
          },
          "paymentEntries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JournalEntry"
            }
          }
        }
      },
      "OrganizationRegistry": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "lastRegistryPublicationDate": {
            "type": "string"
          },
          "deletionDate": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "uid": {
            "type": "string"
          },
          "purpose": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "BEING_CANCELLED",
              "CANCELLED"
            ]
          },
          "nominalCapital": {
            "type": "integer",
            "format": "int64"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "currencyCode": {
            "type": "string"
          },
          "legalFormLocalizations": {
            "$ref": "#/components/schemas/Translation"
          },
          "registryOfCommerceName": {
            "type": "string"
          },
          "auditCompanyName": {
            "type": "string"
          }
        }
      },
      "RegistryOfCommerce": {
        "type": "object",
        "properties": {
          "organizationRegistryName": {
            "type": "string"
          },
          "publicationDate": {
            "type": "string",
            "format": "date"
          },
          "publication": {
            "type": "string"
          }
        }
      },
      "ReconciliationLineView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "processDate": {
            "type": "string",
            "format": "date-time"
          },
          "movementDirection": {
            "type": "string",
            "enum": [
              "IN",
              "OUT"
            ]
          },
          "contactName": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "valueDate": {
            "type": "string",
            "format": "date-time"
          },
          "paidCurrencyCode": {
            "type": "string"
          },
          "paidAmount": {
            "type": "number"
          },
          "referredDocumentType": {
            "type": "string",
            "enum": [
              "PURCHASE_INVOICE",
              "SALES_INVOICE",
              "PAYSLIP",
              "MANUAL"
            ]
          },
          "isMatch": {
            "type": "boolean"
          },
          "isInternalContact": {
            "type": "boolean"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ReceivableView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "module": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "paymentId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceDate": {
            "type": "string",
            "format": "date"
          },
          "requestedDate": {
            "type": "string",
            "format": "date"
          },
          "invoiceNumber": {
            "type": "string"
          },
          "requestedAmount": {
            "type": "number"
          },
          "comment": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "chartId": {
            "type": "integer",
            "format": "int64"
          },
          "contact": {
            "type": "string"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "chartName": {
            "$ref": "#/components/schemas/Translation"
          },
          "chartNumber": {
            "type": "integer",
            "format": "int64"
          },
          "currency": {
            "type": "string"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "entityCreatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "paymentFileReference": {
            "type": "string"
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "InvoiceContactInfo": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "contactName": {
            "type": "string"
          },
          "periods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PeriodContainerBigDecimal"
            }
          },
          "total": {
            "type": "number"
          }
        }
      },
      "PeriodContainerBigDecimal": {
        "type": "object",
        "properties": {
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "data": {
            "type": "number"
          }
        }
      },
      "PurchaseInvoiceView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "journalEntryId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "supplier": {
            "type": "string"
          },
          "supplierId": {
            "type": "integer",
            "format": "int64"
          },
          "reference": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "netAmount": {
            "type": "number"
          },
          "totalAmount": {
            "type": "number"
          },
          "payable": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNPAID",
              "OVERDUE",
              "PAID",
              "PARTIALLY_PAID",
              "WIRED",
              "DRAFT"
            ]
          },
          "validated": {
            "type": "boolean"
          },
          "comment": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "fileId": {
            "type": "integer",
            "format": "int64"
          },
          "fileExtension": {
            "type": "string"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "shipmentsCount": {
            "type": "integer",
            "format": "int64"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "hasComments": {
            "type": "boolean"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "systemValidated": {
            "type": "boolean"
          }
        }
      },
      "DeletedPurchaseInvoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "journalEntryId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')",
            "example": "2026-01-01T00:00:00.000Z",
            "minLength": 1
          },
          "supplierId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "reference": {
            "type": "string",
            "minLength": 1
          },
          "description": {
            "type": "string"
          },
          "comment": {
            "type": "string"
          },
          "validated": {
            "type": "boolean"
          },
          "vatType": {
            "type": "string",
            "enum": [
              "NO_VAT",
              "NATIVE",
              "IMPORT_OF_SERVICE"
            ]
          },
          "vatTypeCodeId": {
            "type": "integer",
            "format": "int64"
          },
          "paymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "amounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Amount"
            },
            "minItems": 1
          },
          "attributions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attribution"
            }
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchasePayment"
            },
            "minItems": 1
          },
          "warnings": {
            "type": "string"
          },
          "isFromLockedAccountingPeriod": {
            "type": "boolean"
          },
          "accrualEntriesAmount": {
            "type": "integer",
            "format": "int32"
          },
          "isDraft": {
            "type": "boolean"
          },
          "validatorUserIdsSize": {
            "type": "integer",
            "format": "int64"
          },
          "validatorUserIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "realValidated": {
            "type": "boolean"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "isContainsSoldFixedAsset": {
            "type": "boolean"
          },
          "supplierName": {
            "type": "string"
          },
          "paymentAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          }
        },
        "required": [
          "amounts",
          "currencyId",
          "date",
          "payments",
          "reference",
          "supplierId"
        ]
      },
      "PurchaseInvoiceBaseView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "journalEntryId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "supplier": {
            "type": "string"
          },
          "supplierId": {
            "type": "integer",
            "format": "int64"
          },
          "reference": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "netAmount": {
            "type": "number"
          },
          "totalAmount": {
            "type": "number"
          },
          "payable": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNPAID",
              "OVERDUE",
              "PAID",
              "PARTIALLY_PAID",
              "WIRED",
              "DRAFT"
            ]
          },
          "validated": {
            "type": "boolean"
          },
          "comment": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "fileId": {
            "type": "integer",
            "format": "int64"
          },
          "fileExtension": {
            "type": "string"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "shipmentsCount": {
            "type": "integer",
            "format": "int64"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "hasComments": {
            "type": "boolean"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "systemValidated": {
            "type": "boolean"
          }
        }
      },
      "BaseAdvancedFilterPurchaseInvoiceView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "journalEntryId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "supplier": {
            "type": "string"
          },
          "supplierId": {
            "type": "integer",
            "format": "int64"
          },
          "reference": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "netAmount": {
            "type": "number"
          },
          "totalAmount": {
            "type": "number"
          },
          "payable": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNPAID",
              "OVERDUE",
              "PAID",
              "PARTIALLY_PAID",
              "WIRED",
              "DRAFT"
            ]
          },
          "validated": {
            "type": "boolean"
          },
          "comment": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "fileId": {
            "type": "integer",
            "format": "int64"
          },
          "fileExtension": {
            "type": "string"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "shipmentsCount": {
            "type": "integer",
            "format": "int64"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "hasComments": {
            "type": "boolean"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "vatAmount": {
            "type": "number"
          },
          "attributionId": {
            "type": "integer",
            "format": "int64"
          },
          "chartOfAccountsId": {
            "type": "integer",
            "format": "int64"
          },
          "attributionAccountNumber": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceLineDepartmentId": {
            "type": "integer",
            "format": "int64"
          },
          "departmentName": {
            "type": "string"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "orderIdToDisplay": {
            "type": "string"
          },
          "invoiceLineOfficeId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceLineOfficeName": {
            "type": "string"
          },
          "reBill": {
            "type": "boolean"
          },
          "reBilled": {
            "type": "boolean"
          },
          "reBilledDate": {
            "type": "string",
            "format": "date"
          },
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "articleIdToDisplay": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          },
          "ruleName": {
            "type": "string"
          },
          "dateFrom": {
            "type": "string",
            "format": "date"
          },
          "dateTo": {
            "type": "string",
            "format": "date"
          },
          "attributionNet": {
            "type": "number"
          },
          "percent": {
            "type": "number"
          },
          "requestedCurrency": {
            "type": "string"
          },
          "paymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "vatType": {
            "type": "string",
            "enum": [
              "NO_VAT",
              "NATIVE",
              "IMPORT_OF_SERVICE"
            ]
          },
          "documentsExist": {
            "type": "boolean"
          }
        }
      },
      "PurchaseInvoiceAdvancedSummary": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "totals": {
            "$ref": "#/components/schemas/BaseAdvancedFilterPurchaseInvoiceView"
          }
        }
      },
      "PurchaseInvoiceScanView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationName": {
            "type": "string"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "supplier": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "totalAmount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "NEW",
              "PROCESS",
              "CONVERT",
              "RECOGNIZING"
            ]
          },
          "isOrganizationNameIncluded": {
            "type": "boolean"
          },
          "isTreatedByManagingOrganization": {
            "type": "boolean"
          },
          "fileId": {
            "type": "integer",
            "format": "int64"
          },
          "warnings": {
            "type": "string"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "comment": {
            "type": "string"
          }
        }
      },
      "RecognizedDocument": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "templateId": {
            "type": "integer",
            "format": "int64"
          },
          "documentFileId": {
            "type": "integer",
            "format": "int64"
          },
          "documentWidth": {
            "type": "integer",
            "format": "int64"
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "IN_PROGRESS",
              "FAIL",
              "SUCCESS"
            ]
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecognizedDocumentField"
            }
          },
          "notPurchaseInvoice": {
            "type": "boolean"
          }
        }
      },
      "RecognizedDocumentField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "recognizedDocumentId": {
            "type": "integer",
            "format": "int64"
          },
          "fieldId": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "anchor": {
            "type": "boolean"
          }
        }
      },
      "Budget": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number"
          },
          "change": {
            "type": "number"
          },
          "difference": {
            "type": "number"
          }
        }
      },
      "PLAccountBalance": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "accountNumber": {
            "type": "integer",
            "format": "int64"
          },
          "account": {
            "$ref": "#/components/schemas/Translation"
          },
          "balance": {
            "type": "number"
          },
          "lastYearBalance": {
            "type": "number"
          },
          "margin": {
            "type": "number"
          },
          "lastYearMargin": {
            "type": "number"
          },
          "change": {
            "type": "number"
          },
          "changeAmount": {
            "type": "number"
          },
          "changeAmountProportion": {
            "type": "number"
          },
          "budget": {
            "$ref": "#/components/schemas/Budget"
          },
          "lastYearBudget": {
            "$ref": "#/components/schemas/Budget"
          },
          "ytdBudget": {
            "$ref": "#/components/schemas/Budget"
          },
          "ytdBalance": {
            "type": "number"
          },
          "ytdMargin": {
            "type": "number"
          },
          "ytdLastYearBalance": {
            "type": "number"
          },
          "ytdLastYearMargin": {
            "type": "number"
          },
          "hasWarnings": {
            "type": "boolean"
          }
        }
      },
      "PLReportLine": {
        "type": "object",
        "properties": {
          "templateLineName": {
            "$ref": "#/components/schemas/TranslationEntity"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PLReportLine"
            }
          },
          "sign": {
            "type": "string",
            "enum": [
              "ASSETS",
              "LIABILITY",
              "INCOME",
              "EXPENSE"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "NONE",
              "ACCOUNTS",
              "CALCULATIONS"
            ]
          },
          "calculationTemplateLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "periods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PeriodContainerPeriodData"
            }
          },
          "accountBalances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PeriodContainerListPLAccountBalance"
            }
          },
          "total": {
            "type": "number"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "parentId": {
            "type": "integer",
            "format": "int64"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "PeriodContainerListPLAccountBalance": {
        "type": "object",
        "properties": {
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PLAccountBalance"
            }
          }
        }
      },
      "PeriodContainerPeriodData": {
        "type": "object",
        "properties": {
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "data": {
            "$ref": "#/components/schemas/PeriodData"
          }
        }
      },
      "PeriodData": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number"
          },
          "margin": {
            "type": "number"
          },
          "lastYearTotal": {
            "type": "number"
          },
          "lastYearMargin": {
            "type": "number"
          },
          "change": {
            "type": "number"
          },
          "changeAmount": {
            "type": "number"
          },
          "changeAmountProportion": {
            "type": "number"
          },
          "budget": {
            "$ref": "#/components/schemas/Budget"
          },
          "lastYearBudget": {
            "$ref": "#/components/schemas/Budget"
          },
          "ytdBudget": {
            "$ref": "#/components/schemas/Budget"
          },
          "ytd": {
            "type": "number"
          },
          "ytdMargin": {
            "type": "number"
          },
          "ytdLastYear": {
            "type": "number"
          },
          "ytdLastYearMargin": {
            "type": "number"
          }
        }
      },
      "PdfTemplateView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "templateType": {
            "type": "string",
            "enum": [
              "SALES_INVOICE",
              "LATE_NOTICE",
              "SALARY_SLIP",
              "MY_SALARY_SLIP",
              "SALES_ORDER",
              "VAT_REPORT",
              "DELIVERY_NOTE",
              "GENERAL_LEDGER"
            ]
          },
          "sourceTemplateId": {
            "type": "integer",
            "format": "int64"
          },
          "previewTemplateId": {
            "type": "integer",
            "format": "int64"
          },
          "previewImageId": {
            "type": "integer",
            "format": "int64"
          },
          "previewExists": {
            "type": "boolean"
          },
          "moduleAvailabilityType": {
            "type": "string",
            "enum": [
              "ORGANIZATION",
              "GLOBAL"
            ]
          },
          "description": {
            "type": "string"
          }
        }
      },
      "PayslipView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32"
          },
          "countryName": {
            "$ref": "#/components/schemas/Translation"
          },
          "countryId": {
            "type": "integer",
            "format": "int64"
          },
          "regionName": {
            "type": "string"
          },
          "cla": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "COUNTRY",
              "REGION",
              "CLA"
            ]
          },
          "isRegionAvailable": {
            "type": "boolean"
          },
          "warnings": {
            "type": "string"
          }
        }
      },
      "PayslipLineView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "payslipId": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "$ref": "#/components/schemas/Translation"
          },
          "type": {
            "type": "string",
            "enum": [
              "EMPLOYEE_LINE",
              "COMPANY_LINE",
              "BOTH",
              "CALCULATION",
              "SYSTEM"
            ]
          },
          "sign": {
            "type": "string",
            "enum": [
              "INCOME",
              "CHARGES"
            ]
          },
          "isAutomaticallyAdded": {
            "type": "boolean"
          },
          "usedInRegionConfigWithinCalendarYear": {
            "type": "boolean"
          },
          "usedInClaConfigWithinCalendarYear": {
            "type": "boolean"
          },
          "visible": {
            "type": "boolean"
          }
        }
      },
      "SourceTaxLine": {
        "type": "object",
        "properties": {
          "regionId": {
            "type": "integer",
            "format": "int64"
          },
          "regionCode": {
            "type": "string"
          },
          "regionName": {
            "type": "string"
          },
          "isUploaded": {
            "type": "boolean"
          }
        }
      },
      "PayslipLineNameNumber": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "$ref": "#/components/schemas/Translation"
          },
          "systemLine": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/SystemLine"
              },
              {
                "$ref": "#/components/schemas/BothLine"
              },
              {
                "$ref": "#/components/schemas/CalculationLine"
              },
              {
                "$ref": "#/components/schemas/CompanyLine"
              },
              {
                "$ref": "#/components/schemas/EmployeeLine"
              }
            ]
          },
          "payslipEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32"
          },
          "isAutomaticallyAdded": {
            "type": "boolean"
          },
          "isHourlyWageLine": {
            "type": "boolean"
          },
          "isLessonWageLine": {
            "type": "boolean"
          },
          "payslipLineType": {
            "type": "string",
            "enum": [
              "EMPLOYEE_LINE",
              "COMPANY_LINE",
              "BOTH",
              "CALCULATION",
              "SYSTEM"
            ]
          }
        }
      },
      "PayslipLineNumberContainer": {
        "type": "object",
        "properties": {
          "claContributionTableLines": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PayslipLineNameNumber"
              }
            }
          },
          "claSalaryTableLines": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PayslipLineNameNumber"
              }
            }
          }
        }
      },
      "PayrollView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32"
          },
          "monthNumber": {
            "type": "integer",
            "format": "int32"
          },
          "monthType": {
            "type": "string",
            "enum": [
              "JANUARY",
              "FEBRUARY",
              "MARCH",
              "APRIL",
              "MAY",
              "JUNE",
              "JULY",
              "AUGUST",
              "SEPTEMBER",
              "OCTOBER",
              "NOVEMBER",
              "DECEMBER"
            ]
          },
          "paymentDate": {
            "type": "string",
            "format": "date-time"
          },
          "employee": {
            "type": "string"
          },
          "employeeId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyCode": {
            "type": "string"
          },
          "grossSalary": {
            "type": "number"
          },
          "netSalary": {
            "type": "number"
          },
          "payable": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNPAID",
              "PAID",
              "PARTIALLY_PAID",
              "WIRED"
            ]
          },
          "warnings": {
            "type": "string"
          },
          "employeeEmail": {
            "type": "string"
          },
          "employeeECorrespondence": {
            "type": "boolean"
          },
          "organizationEmployeeGroupName": {
            "type": "string"
          },
          "organizationEmployeeGroupIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "isDocSent": {
            "type": "boolean"
          }
        }
      },
      "PayslipLicenceUsage": {
        "type": "object",
        "properties": {
          "capacity": {
            "type": "integer",
            "format": "int64"
          },
          "staffWithPayslip": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          },
          "poolOrganizationIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          },
          "unlimited": {
            "type": "boolean"
          },
          "remaining": {
            "type": "integer",
            "format": "int64"
          },
          "used": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "EmployeePayrollView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "staffId": {
            "type": "integer",
            "format": "int64"
          },
          "payrollCurrencyId": {
            "type": "integer",
            "format": "int64"
          },
          "staffPayslipId": {
            "type": "integer",
            "format": "int64"
          },
          "staffAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "salaryType": {
            "type": "string",
            "enum": [
              "MONTHLY",
              "HOURLY"
            ]
          },
          "genderType": {
            "type": "string",
            "enum": [
              "MALE",
              "FEMALE",
              "OTHER"
            ]
          },
          "birthday": {
            "type": "string",
            "format": "date-time"
          },
          "isPayrollGenerated": {
            "type": "boolean"
          },
          "payableToBankId": {
            "type": "integer",
            "format": "int64"
          },
          "orgEmployeeGroupIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "orgEmployeeGroupName": {
            "type": "string"
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SalaryDeclarationLockStatus": {
        "type": "object",
        "properties": {
          "blocked": {
            "type": "boolean"
          },
          "pending": {
            "type": "boolean"
          },
          "resultStatus": {
            "type": "string"
          },
          "declaredAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PayrollBaseView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32"
          },
          "monthNumber": {
            "type": "integer",
            "format": "int32"
          },
          "monthType": {
            "type": "string",
            "enum": [
              "JANUARY",
              "FEBRUARY",
              "MARCH",
              "APRIL",
              "MAY",
              "JUNE",
              "JULY",
              "AUGUST",
              "SEPTEMBER",
              "OCTOBER",
              "NOVEMBER",
              "DECEMBER"
            ]
          },
          "paymentDate": {
            "type": "string",
            "format": "date-time"
          },
          "employee": {
            "type": "string"
          },
          "employeeId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyCode": {
            "type": "string"
          },
          "grossSalary": {
            "type": "number"
          },
          "netSalary": {
            "type": "number"
          },
          "payable": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNPAID",
              "PAID",
              "PARTIALLY_PAID",
              "WIRED"
            ]
          },
          "warnings": {
            "type": "string"
          },
          "employeeEmail": {
            "type": "string"
          },
          "employeeECorrespondence": {
            "type": "boolean"
          },
          "organizationEmployeeGroupName": {
            "type": "string"
          },
          "organizationEmployeeGroupIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "isDocSent": {
            "type": "boolean"
          }
        }
      },
      "OrganizationView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "parentCompanyName": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "archived": {
            "type": "boolean"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "managingOrganizationId": {
            "type": "integer",
            "format": "int64"
          },
          "managingOrganizationName": {
            "type": "string"
          },
          "isConsolidated": {
            "type": "boolean"
          },
          "canViewDetails": {
            "type": "boolean"
          }
        }
      },
      "OrganizationTemplateShortInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "TaxAttachmentType": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "code": {
            "type": "string"
          },
          "label": {
            "type": "string"
          }
        }
      },
      "TaxAdjustmentReason": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "code": {
            "type": "string"
          },
          "direction": {
            "type": "string",
            "enum": [
              "INCREASE",
              "DECREASE"
            ]
          },
          "label": {
            "type": "string"
          },
          "freeText": {
            "type": "boolean"
          }
        }
      },
      "DataForSalaryCodeView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "countryId": {
            "type": "integer",
            "format": "int64"
          },
          "calendarYear": {
            "type": "integer",
            "format": "int32"
          },
          "payslipLineEntityId": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "localizations": {
            "$ref": "#/components/schemas/Translation"
          },
          "payslipLineType": {
            "type": "string",
            "enum": [
              "EMPLOYEE_LINE",
              "COMPANY_LINE",
              "BOTH",
              "CALCULATION",
              "SYSTEM"
            ]
          },
          "payslipValueSplitType": {
            "type": "string",
            "enum": [
              "EMPLOYEE",
              "EMPLOYER",
              "BOTH"
            ]
          },
          "specialAttributionType": {
            "type": "string",
            "enum": [
              "BASE_SALARY",
              "GROSS_SALARY",
              "NET_SALARY",
              "PAYABLE",
              "CHARGES",
              "EMPLOYEE_ALLOCATION",
              "SYSTEM_LINE_ADJUSTMENT"
            ]
          }
        }
      },
      "SalaryCodesContainer": {
        "type": "object",
        "properties": {
          "yearToSalaryCodes": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DataForSalaryCodeView"
              }
            }
          },
          "yearToClaSalaryCodes": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DataForSalaryCodeView"
              }
            }
          },
          "yearToRegionSalaryCodes": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DataForSalaryCodeView"
              }
            }
          }
        }
      },
      "EbicsServer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "swiftBic": {
            "type": "string"
          }
        }
      },
      "OrganizationCurrencyExchangeView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "currencyFrom": {
            "type": "string"
          },
          "currencyTo": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          }
        }
      },
      "OrderView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "contactName": {
            "type": "string"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "warnings": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "OFFERED",
              "OFFERED_SENT",
              "CONFIRMED",
              "CONFIRMED_SENT",
              "BILLABLE",
              "FINISHED",
              "CANCELLED"
            ]
          },
          "isExpensesEnabled": {
            "type": "boolean"
          },
          "isPrePaymentAvailable": {
            "type": "boolean"
          },
          "isPartialPaymentAvailable": {
            "type": "boolean"
          },
          "orderAmount": {
            "type": "number"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "validated": {
            "type": "boolean"
          },
          "clientEmail": {
            "type": "string"
          },
          "clientECorrespondence": {
            "type": "boolean"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "isInvoiceGenerated": {
            "type": "boolean"
          },
          "isPeriodic": {
            "type": "boolean"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "activeSubOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "activeSubOrderInvoicingDate": {
            "type": "string",
            "format": "date-time"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "clientOrderEmail": {
            "type": "string"
          },
          "clientAdvancedInvoicingNote": {
            "type": "string"
          },
          "hasProformaInvoice": {
            "type": "boolean"
          },
          "orderIdNameConcat": {
            "type": "string"
          },
          "inWorkflow": {
            "type": "boolean"
          },
          "expensesEnabled": {
            "type": "boolean"
          },
          "prePaymentAvailable": {
            "type": "boolean"
          },
          "partialPaymentAvailable": {
            "type": "boolean"
          },
          "invoiceGenerated": {
            "type": "boolean"
          },
          "periodic": {
            "type": "boolean"
          }
        }
      },
      "PartiallyPaidOrderBrief": {
        "type": "object",
        "properties": {
          "articleIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          },
          "orderLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          }
        }
      },
      "OrderAndView": {
        "type": "object",
        "properties": {
          "order": {
            "$ref": "#/components/schemas/Order"
          },
          "view": {
            "$ref": "#/components/schemas/OrderBaseView"
          }
        }
      },
      "OrderBaseView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "contactName": {
            "type": "string"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "warnings": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "OFFERED",
              "OFFERED_SENT",
              "CONFIRMED",
              "CONFIRMED_SENT",
              "BILLABLE",
              "FINISHED",
              "CANCELLED"
            ]
          },
          "isExpensesEnabled": {
            "type": "boolean"
          },
          "isPrePaymentAvailable": {
            "type": "boolean"
          },
          "isPartialPaymentAvailable": {
            "type": "boolean"
          },
          "orderAmount": {
            "type": "number"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "validated": {
            "type": "boolean"
          },
          "clientEmail": {
            "type": "string"
          },
          "clientECorrespondence": {
            "type": "boolean"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "isInvoiceGenerated": {
            "type": "boolean"
          },
          "isPeriodic": {
            "type": "boolean"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "activeSubOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "activeSubOrderInvoicingDate": {
            "type": "string",
            "format": "date-time"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "clientOrderEmail": {
            "type": "string"
          },
          "clientAdvancedInvoicingNote": {
            "type": "string"
          },
          "hasProformaInvoice": {
            "type": "boolean"
          },
          "inWorkflow": {
            "type": "boolean"
          },
          "expensesEnabled": {
            "type": "boolean"
          },
          "prePaymentAvailable": {
            "type": "boolean"
          },
          "partialPaymentAvailable": {
            "type": "boolean"
          },
          "invoiceGenerated": {
            "type": "boolean"
          },
          "periodic": {
            "type": "boolean"
          }
        }
      },
      "DeletedOrder": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "contactName": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "status": {
            "type": "string",
            "enum": [
              "OFFERED",
              "OFFERED_SENT",
              "CONFIRMED",
              "CONFIRMED_SENT",
              "BILLABLE",
              "FINISHED",
              "CANCELLED"
            ]
          },
          "statusLastChangedDate": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "parentOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "department": {
            "type": "integer",
            "format": "int64"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "requestedPaymentTerms": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "orderValidity": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "minimumAmountToInvoice": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "ourContactId": {
            "type": "integer",
            "format": "int64"
          },
          "yourContactId": {
            "type": "integer",
            "format": "int64"
          },
          "periodicityConfiguration": {
            "$ref": "#/components/schemas/OrderPeriodicity"
          },
          "isTimesheetsEnabled": {
            "type": "boolean"
          },
          "timesheetsAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "fixedAmount": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "timesheetsVatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "timesheetsVat": {
            "type": "string"
          },
          "timesheetsTotalPrice": {
            "type": "string"
          },
          "timesheetsDescription": {
            "type": "string"
          },
          "timesheetsLongDescription": {
            "type": "string"
          },
          "timesheetsDiscount": {
            "type": "number",
            "maximum": 99.99,
            "minimum": 0.0
          },
          "timesheetsDepartmentId": {
            "type": "integer",
            "format": "int64"
          },
          "timesheetsOfficeId": {
            "type": "integer",
            "format": "int64"
          },
          "isExpensesEnabled": {
            "type": "boolean"
          },
          "isDisbursementFeeEnabled": {
            "type": "boolean"
          },
          "disbursementDepartmentId": {
            "type": "integer",
            "format": "int64"
          },
          "expensesDepartmentId": {
            "type": "integer",
            "format": "int64"
          },
          "office": {
            "type": "integer",
            "format": "int64"
          },
          "disbursementOfficeId": {
            "type": "integer",
            "format": "int64"
          },
          "expensesOfficeId": {
            "type": "integer",
            "format": "int64"
          },
          "includedArticles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderArticle"
            }
          },
          "orderLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderLine"
            }
          },
          "orderElementsLayoutLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderElementsLayoutLine"
            }
          },
          "warnings": {
            "type": "string"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "isInvoiceGenerated": {
            "type": "boolean"
          },
          "hasOnlyPrepaymentsInvoices": {
            "type": "boolean"
          },
          "yourReference": {
            "type": "string"
          },
          "clientAddressId": {
            "type": "integer",
            "format": "int64"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "clientName": {
            "type": "string"
          },
          "statusHistories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderStatusHistory"
            }
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderTask"
            }
          },
          "clientHasVatType": {
            "type": "boolean"
          },
          "validated": {
            "type": "boolean"
          },
          "paymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "validatorUserIdsSize": {
            "type": "integer",
            "format": "int64"
          },
          "validatorUserIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "realValidated": {
            "type": "boolean"
          },
          "activeSubOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "activeSubOrderInvoicingDate": {
            "type": "string",
            "format": "date-time"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "hasProformaInvoice": {
            "type": "boolean"
          },
          "parentOrderName": {
            "type": "string"
          },
          "departmentName": {
            "type": "string"
          },
          "clientAddressName": {
            "type": "string"
          },
          "ourContactName": {
            "type": "string"
          },
          "yourContactName": {
            "type": "string"
          },
          "timesheetsAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "paymentAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "periodic": {
            "type": "boolean"
          }
        },
        "required": [
          "contactId",
          "currencyId",
          "name",
          "periodicityConfiguration"
        ]
      },
      "OrderAdvancedView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "contactName": {
            "type": "string"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "warnings": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "OFFERED",
              "OFFERED_SENT",
              "CONFIRMED",
              "CONFIRMED_SENT",
              "BILLABLE",
              "FINISHED",
              "CANCELLED"
            ]
          },
          "isExpensesEnabled": {
            "type": "boolean"
          },
          "isPrePaymentAvailable": {
            "type": "boolean"
          },
          "isPartialPaymentAvailable": {
            "type": "boolean"
          },
          "orderAmount": {
            "type": "number"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "validated": {
            "type": "boolean"
          },
          "clientEmail": {
            "type": "string"
          },
          "clientECorrespondence": {
            "type": "boolean"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "isInvoiceGenerated": {
            "type": "boolean"
          },
          "isPeriodic": {
            "type": "boolean"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "activeSubOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "activeSubOrderInvoicingDate": {
            "type": "string",
            "format": "date-time"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "clientOrderEmail": {
            "type": "string"
          },
          "clientAdvancedInvoicingNote": {
            "type": "string"
          },
          "hasProformaInvoice": {
            "type": "boolean"
          },
          "parentOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "parentOrderName": {
            "type": "string"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "departmentName": {
            "type": "string"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "officeName": {
            "type": "string"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "vatRateName": {
            "$ref": "#/components/schemas/Translation"
          },
          "requestedPaymentTerms": {
            "type": "integer",
            "format": "int32"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "currency": {
            "type": "string"
          },
          "minimumAmountToInvoice": {
            "type": "number"
          },
          "ourContactName": {
            "type": "string"
          },
          "yourContactName": {
            "type": "string"
          },
          "periodicityStartDate": {
            "type": "string",
            "format": "date-time"
          },
          "periodicityType": {
            "type": "string",
            "enum": [
              "NONE",
              "DAILY",
              "WEEKLY",
              "BI_WEEKLY",
              "EVERY_MONTH",
              "EVERY_2_MONTH",
              "EVERY_3_MONTH",
              "EVERY_4_MONTH",
              "EVERY_6_MONTH",
              "ANNUAL"
            ]
          },
          "dayOfWeek": {
            "type": "string",
            "enum": [
              "MONDAY",
              "TUESDAY",
              "WEDNESDAY",
              "THURSDAY",
              "FRIDAY",
              "SATURDAY",
              "SUNDAY"
            ]
          },
          "invoicingTime": {
            "type": "string",
            "enum": [
              "FIRST_DAY",
              "LAST_DAY",
              "FIRST_WORKING_DAY",
              "LAST_WORKING_DAY"
            ]
          },
          "invoicingDay": {
            "type": "string"
          },
          "isDisbursementFeeEnabled": {
            "type": "boolean"
          },
          "isTimesheetsEnabled": {
            "type": "boolean"
          },
          "timesheetsAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "fixedAmount": {
            "type": "number"
          },
          "orderArticleId": {
            "type": "integer",
            "format": "int64"
          },
          "orderArticleName": {
            "$ref": "#/components/schemas/Translation"
          },
          "orderArticleMeasurement": {
            "type": "string",
            "enum": [
              "UNIT",
              "ML",
              "DL",
              "L",
              "HL",
              "G",
              "KG",
              "T",
              "H",
              "M",
              "M_2",
              "M_3",
              "KM",
              "DAY"
            ]
          },
          "orderArticleUnitPrice": {
            "type": "number"
          },
          "orderArticleAmount": {
            "type": "number"
          },
          "orderArticleDiscount": {
            "type": "number"
          },
          "orderArticleTotalNet": {
            "type": "number"
          },
          "orderArticleStatus": {
            "type": "string",
            "enum": [
              "SHIPPED",
              "PARTIALLY_SHIPPED",
              "NOT_SHIPPED",
              "SERVICE"
            ]
          },
          "historyStatus": {
            "type": "string",
            "enum": [
              "OFFERED",
              "OFFERED_SENT",
              "CONFIRMED",
              "CONFIRMED_SENT",
              "BILLABLE",
              "FINISHED",
              "CANCELLED"
            ]
          },
          "historyDate": {
            "type": "string",
            "format": "date-time"
          },
          "statusLastChangedDate": {
            "type": "string",
            "format": "date-time"
          },
          "addressName": {
            "type": "string"
          },
          "addressClientName": {
            "type": "string"
          },
          "addressStreet": {
            "type": "string"
          },
          "addressStreetPoBox": {
            "type": "string"
          },
          "addressZipCode": {
            "type": "string"
          },
          "addressCity": {
            "type": "string"
          },
          "addressCountryCode": {
            "type": "string"
          },
          "addressRegionCode": {
            "type": "string"
          },
          "addressToTheAttentionOf": {
            "type": "string"
          },
          "yourReference": {
            "type": "string"
          },
          "orderValidity": {
            "type": "integer",
            "format": "int64"
          },
          "paymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "inWorkflow": {
            "type": "boolean"
          },
          "expensesEnabled": {
            "type": "boolean"
          },
          "prePaymentAvailable": {
            "type": "boolean"
          },
          "partialPaymentAvailable": {
            "type": "boolean"
          },
          "invoiceGenerated": {
            "type": "boolean"
          },
          "periodic": {
            "type": "boolean"
          }
        }
      },
      "OrderAdvancedSummary": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "totals": {
            "$ref": "#/components/schemas/OrderBaseView"
          }
        }
      },
      "OrderInvoiceView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "number": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "reference": {
            "type": "string"
          },
          "netAmount": {
            "type": "number"
          },
          "totalAmount": {
            "type": "number"
          },
          "receivable": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "OPEN",
              "UNPAID",
              "PAID",
              "PARTIALLY_PAID",
              "OVERDUE",
              "PRO_FORMA"
            ]
          },
          "invoicedPercent": {
            "type": "number"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "entityCreatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string",
            "enum": [
              "PREPAYMENT",
              "PARTIAL",
              "FINAL"
            ]
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OrderExpenseView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "supplier": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "reBillable": {
            "type": "boolean"
          },
          "purchaseInvoiceId": {
            "type": "integer",
            "format": "int64"
          },
          "salesInvoiceId": {
            "type": "integer",
            "format": "int64"
          },
          "reBillDate": {
            "type": "string",
            "format": "date-time"
          },
          "invoiceNumber": {
            "type": "string"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "purchaseInvoiceCreatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "salesInvoiceCreatorContactId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OrderAdvancedBaseView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "contactName": {
            "type": "string"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "warnings": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "OFFERED",
              "OFFERED_SENT",
              "CONFIRMED",
              "CONFIRMED_SENT",
              "BILLABLE",
              "FINISHED",
              "CANCELLED"
            ]
          },
          "isExpensesEnabled": {
            "type": "boolean"
          },
          "isPrePaymentAvailable": {
            "type": "boolean"
          },
          "isPartialPaymentAvailable": {
            "type": "boolean"
          },
          "orderAmount": {
            "type": "number"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "validated": {
            "type": "boolean"
          },
          "clientEmail": {
            "type": "string"
          },
          "clientECorrespondence": {
            "type": "boolean"
          },
          "workflowPermissions": {
            "type": "string"
          },
          "isInvoiceGenerated": {
            "type": "boolean"
          },
          "isPeriodic": {
            "type": "boolean"
          },
          "isInWorkflow": {
            "type": "boolean"
          },
          "flagsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "activeSubOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "activeSubOrderInvoicingDate": {
            "type": "string",
            "format": "date-time"
          },
          "systemValidated": {
            "type": "boolean"
          },
          "clientOrderEmail": {
            "type": "string"
          },
          "clientAdvancedInvoicingNote": {
            "type": "string"
          },
          "hasProformaInvoice": {
            "type": "boolean"
          },
          "parentOrderId": {
            "type": "integer",
            "format": "int64"
          },
          "parentOrderName": {
            "type": "string"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "departmentName": {
            "type": "string"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "officeName": {
            "type": "string"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "vatRateName": {
            "$ref": "#/components/schemas/Translation"
          },
          "requestedPaymentTerms": {
            "type": "integer",
            "format": "int32"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "currency": {
            "type": "string"
          },
          "minimumAmountToInvoice": {
            "type": "number"
          },
          "ourContactName": {
            "type": "string"
          },
          "yourContactName": {
            "type": "string"
          },
          "periodicityStartDate": {
            "type": "string",
            "format": "date-time"
          },
          "periodicityType": {
            "type": "string",
            "enum": [
              "NONE",
              "DAILY",
              "WEEKLY",
              "BI_WEEKLY",
              "EVERY_MONTH",
              "EVERY_2_MONTH",
              "EVERY_3_MONTH",
              "EVERY_4_MONTH",
              "EVERY_6_MONTH",
              "ANNUAL"
            ]
          },
          "dayOfWeek": {
            "type": "string",
            "enum": [
              "MONDAY",
              "TUESDAY",
              "WEDNESDAY",
              "THURSDAY",
              "FRIDAY",
              "SATURDAY",
              "SUNDAY"
            ]
          },
          "invoicingTime": {
            "type": "string",
            "enum": [
              "FIRST_DAY",
              "LAST_DAY",
              "FIRST_WORKING_DAY",
              "LAST_WORKING_DAY"
            ]
          },
          "invoicingDay": {
            "type": "string"
          },
          "isDisbursementFeeEnabled": {
            "type": "boolean"
          },
          "isTimesheetsEnabled": {
            "type": "boolean"
          },
          "timesheetsAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "fixedAmount": {
            "type": "number"
          },
          "orderArticleId": {
            "type": "integer",
            "format": "int64"
          },
          "orderArticleName": {
            "$ref": "#/components/schemas/Translation"
          },
          "orderArticleMeasurement": {
            "type": "string",
            "enum": [
              "UNIT",
              "ML",
              "DL",
              "L",
              "HL",
              "G",
              "KG",
              "T",
              "H",
              "M",
              "M_2",
              "M_3",
              "KM",
              "DAY"
            ]
          },
          "orderArticleUnitPrice": {
            "type": "number"
          },
          "orderArticleAmount": {
            "type": "number"
          },
          "orderArticleDiscount": {
            "type": "number"
          },
          "orderArticleTotalNet": {
            "type": "number"
          },
          "orderArticleStatus": {
            "type": "string",
            "enum": [
              "SHIPPED",
              "PARTIALLY_SHIPPED",
              "NOT_SHIPPED",
              "SERVICE"
            ]
          },
          "historyStatus": {
            "type": "string",
            "enum": [
              "OFFERED",
              "OFFERED_SENT",
              "CONFIRMED",
              "CONFIRMED_SENT",
              "BILLABLE",
              "FINISHED",
              "CANCELLED"
            ]
          },
          "historyDate": {
            "type": "string",
            "format": "date-time"
          },
          "statusLastChangedDate": {
            "type": "string",
            "format": "date-time"
          },
          "addressName": {
            "type": "string"
          },
          "addressClientName": {
            "type": "string"
          },
          "addressStreet": {
            "type": "string"
          },
          "addressStreetPoBox": {
            "type": "string"
          },
          "addressZipCode": {
            "type": "string"
          },
          "addressCity": {
            "type": "string"
          },
          "addressCountryCode": {
            "type": "string"
          },
          "addressRegionCode": {
            "type": "string"
          },
          "addressToTheAttentionOf": {
            "type": "string"
          },
          "yourReference": {
            "type": "string"
          },
          "orderValidity": {
            "type": "integer",
            "format": "int64"
          },
          "paymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "inWorkflow": {
            "type": "boolean"
          },
          "expensesEnabled": {
            "type": "boolean"
          },
          "prePaymentAvailable": {
            "type": "boolean"
          },
          "partialPaymentAvailable": {
            "type": "boolean"
          },
          "invoiceGenerated": {
            "type": "boolean"
          },
          "periodic": {
            "type": "boolean"
          }
        }
      },
      "OrderReportsView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "string"
          },
          "orderName": {
            "type": "string"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "type": {
            "type": "string",
            "enum": [
              "NONE",
              "DAILY",
              "WEEKLY",
              "BI_WEEKLY",
              "EVERY_MONTH",
              "EVERY_2_MONTH",
              "EVERY_3_MONTH",
              "EVERY_4_MONTH",
              "EVERY_6_MONTH",
              "ANNUAL"
            ]
          },
          "clientName": {
            "type": "string"
          },
          "ourContactName": {
            "type": "string"
          },
          "totalRevenue": {
            "type": "number"
          },
          "totalCost": {
            "type": "number"
          },
          "profitability": {
            "type": "number"
          },
          "entityCreatorContactId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OrderReportsDetailsLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "revenue": {
            "type": "number"
          },
          "cost": {
            "type": "number"
          },
          "profitability": {
            "type": "number"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderReportsDetailsLine"
            }
          }
        }
      },
      "SupplierExpenseReportView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "reference": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "netAmount": {
            "type": "number"
          },
          "totalAmount": {
            "type": "number"
          },
          "payable": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNPAID",
              "OVERDUE",
              "PAID",
              "PARTIALLY_PAID",
              "WIRED",
              "DRAFT"
            ]
          },
          "validated": {
            "type": "boolean"
          }
        }
      },
      "CurrentOrganizationDetails": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "countryCode2": {
            "type": "string"
          },
          "regionId": {
            "type": "integer",
            "format": "int64"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "stockStrategy": {
            "type": "string",
            "enum": [
              "FIFO",
              "LIFO",
              "AVERAGE",
              "UNIT",
              "TRADING"
            ]
          },
          "defaultPaymentTerms": {
            "type": "integer",
            "format": "int32"
          },
          "mainLanguage": {
            "$ref": "#/components/schemas/Language"
          },
          "useTimesheets": {
            "type": "boolean"
          },
          "isCustomEmailServerConfigured": {
            "type": "boolean"
          },
          "employeeGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationEmployeeGroup"
            }
          },
          "payslipLineCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "plannedPaymentDateOffset": {
            "type": "integer",
            "format": "int32"
          },
          "purchasePaymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "salesPaymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "usePurchaseAccrualAccounting": {
            "type": "boolean"
          },
          "useSalesAccrualAccounting": {
            "type": "boolean"
          },
          "validatePurchaseInvoicesByDefaultType": {
            "type": "string",
            "enum": [
              "NONE",
              "SINGLE",
              "DOUBLE"
            ]
          },
          "validateSalesInvoicesByDefaultType": {
            "type": "string",
            "enum": [
              "NONE",
              "SINGLE",
              "DOUBLE"
            ]
          },
          "validateOrdersByDefaultType": {
            "type": "string",
            "enum": [
              "NONE",
              "SINGLE",
              "DOUBLE"
            ]
          },
          "useUnsentPayrollStatus": {
            "type": "boolean"
          },
          "useUnsentSalesStatus": {
            "type": "boolean"
          },
          "useUnsentOrdersStatus": {
            "type": "boolean"
          },
          "automaticSynchronizationOfContacts": {
            "type": "boolean"
          },
          "isConsolidated": {
            "type": "boolean"
          }
        }
      },
      "WorkflowNotificationView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "workflowId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "moduleType": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "realModuleType": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "actionType": {
            "type": "string",
            "enum": [
              "APPROVE",
              "STATUS_CONFIRMED",
              "ADVANCED_INVOICING",
              "GENERATE_PAYMENT",
              "GENERATE_PDF_SEND",
              "SEND_CONFIRMATION",
              "SEND_OFFER",
              "STATUS_BILLABLE",
              "VALIDATE"
            ]
          },
          "entitiesAmount": {
            "type": "integer",
            "format": "int32"
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        }
      },
      "DayTimesheet": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "timeEntries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeEntry"
            }
          },
          "total": {
            "type": "number"
          }
        }
      },
      "WeekTimesheet": {
        "type": "object",
        "properties": {
          "dayTimesheets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DayTimesheet"
            }
          },
          "total": {
            "type": "number"
          },
          "locked": {
            "type": "boolean"
          }
        }
      },
      "ExpenseBaseView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "merchant": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "reBill": {
            "type": "boolean"
          },
          "currency": {
            "type": "string"
          },
          "currencyNetAmount": {
            "type": "number"
          },
          "currencyVatAmount": {
            "type": "number"
          },
          "currencyTotalAmount": {
            "type": "number"
          },
          "companyCurrencyTotalAmount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNSUBMITTED",
              "SUBMITTED",
              "APPROVED",
              "REFUSED",
              "BILLED"
            ]
          },
          "receipt": {
            "type": "boolean"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OrderForMyExpense": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "isExpensesEnabled": {
            "type": "boolean"
          },
          "orderIdNameConcat": {
            "type": "string"
          }
        }
      },
      "Merchant": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "chartOfAccountsId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "MyExpenseView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "merchant": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "reBill": {
            "type": "boolean"
          },
          "currency": {
            "type": "string"
          },
          "currencyNetAmount": {
            "type": "number"
          },
          "currencyVatAmount": {
            "type": "number"
          },
          "currencyTotalAmount": {
            "type": "number"
          },
          "companyCurrencyTotalAmount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNSUBMITTED",
              "SUBMITTED",
              "APPROVED",
              "REFUSED",
              "BILLED"
            ]
          },
          "receipt": {
            "type": "boolean"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "TranslatedWorkflowActionTypeDetails": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "supportedBlockTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "TRIGGER",
                "ACTION"
              ]
            }
          }
        }
      },
      "VatRate": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "title": {
            "$ref": "#/components/schemas/Translation"
          },
          "percent": {
            "type": "number"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "effectiveDate": {
            "type": "string"
          }
        }
      },
      "RegistryMutation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "title": {
            "$ref": "#/components/schemas/Translation"
          }
        }
      },
      "PaymentPurposeCode": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "countryId": {
            "type": "integer",
            "format": "int64"
          },
          "code": {
            "type": "string"
          },
          "purpose": {
            "$ref": "#/components/schemas/Translation"
          }
        }
      },
      "NogaCode": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "section": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "$ref": "#/components/schemas/Translation"
          }
        }
      },
      "Country": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "$ref": "#/components/schemas/Translation"
          },
          "code2": {
            "type": "string"
          },
          "code3": {
            "type": "string"
          }
        }
      },
      "Canton": {
        "type": "object",
        "properties": {
          "bfsCode": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "cantonCode": {
            "type": "string"
          },
          "countryCode2": {
            "type": "string"
          }
        }
      },
      "LanguageEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "CertificateComment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "commentType": {
            "type": "integer",
            "format": "int32"
          },
          "commentTypeTranslation": {
            "$ref": "#/components/schemas/Translation"
          },
          "commentTranslation": {
            "$ref": "#/components/schemas/Translation"
          }
        }
      },
      "GeneralLedgerBaseView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "entryId": {
            "type": "integer",
            "format": "int64"
          },
          "entryDate": {
            "type": "string",
            "format": "date-time"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "entryType": {
            "type": "string",
            "enum": [
              "OPENING",
              "MANUAL",
              "PURCHASE_INVOICE",
              "SALES_INVOICE",
              "SALARY_SLIP",
              "STOCK",
              "CLOSING",
              "SYSTEM",
              "SYSTEM_FX",
              "SYSTEM_PFUV",
              "FIXED_ASSET"
            ]
          },
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "foreignCurrencyCode": {
            "type": "string"
          },
          "foreignDebit": {
            "type": "number"
          },
          "foreignCredit": {
            "type": "number"
          },
          "foreignTotal": {
            "type": "number"
          },
          "companyDebit": {
            "type": "number"
          },
          "companyCredit": {
            "type": "number"
          },
          "companyTotal": {
            "type": "number"
          },
          "account": {
            "$ref": "#/components/schemas/Translation"
          },
          "description": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "GeneralLedgerView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "entryId": {
            "type": "integer",
            "format": "int64"
          },
          "entryDate": {
            "type": "string",
            "format": "date-time"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "entryType": {
            "type": "string",
            "enum": [
              "OPENING",
              "MANUAL",
              "PURCHASE_INVOICE",
              "SALES_INVOICE",
              "SALARY_SLIP",
              "STOCK",
              "CLOSING",
              "SYSTEM",
              "SYSTEM_FX",
              "SYSTEM_PFUV",
              "FIXED_ASSET"
            ]
          },
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "foreignCurrencyCode": {
            "type": "string"
          },
          "foreignDebit": {
            "type": "number"
          },
          "foreignCredit": {
            "type": "number"
          },
          "foreignTotal": {
            "type": "number"
          },
          "companyDebit": {
            "type": "number"
          },
          "companyCredit": {
            "type": "number"
          },
          "companyTotal": {
            "type": "number"
          },
          "account": {
            "$ref": "#/components/schemas/Translation"
          },
          "description": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "AdvancedGeneralLedgerView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "entryId": {
            "type": "integer",
            "format": "int64"
          },
          "entryDate": {
            "type": "string",
            "format": "date-time"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "entryType": {
            "type": "string",
            "enum": [
              "OPENING",
              "MANUAL",
              "PURCHASE_INVOICE",
              "SALES_INVOICE",
              "SALARY_SLIP",
              "STOCK",
              "CLOSING",
              "SYSTEM",
              "SYSTEM_FX",
              "SYSTEM_PFUV",
              "FIXED_ASSET"
            ]
          },
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "foreignCurrencyCode": {
            "type": "string"
          },
          "foreignDebit": {
            "type": "number"
          },
          "foreignCredit": {
            "type": "number"
          },
          "foreignTotal": {
            "type": "number"
          },
          "companyDebit": {
            "type": "number"
          },
          "companyCredit": {
            "type": "number"
          },
          "companyTotal": {
            "type": "number"
          },
          "account": {
            "$ref": "#/components/schemas/Translation"
          },
          "description": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "departmentName": {
            "type": "string"
          },
          "contactName": {
            "type": "string"
          },
          "articleName": {
            "$ref": "#/components/schemas/Translation"
          },
          "orderName": {
            "type": "string"
          },
          "vatCodeNames": {
            "$ref": "#/components/schemas/Translation"
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "LateNoticeLine": {
        "type": "object",
        "properties": {
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "clientName": {
            "type": "string"
          },
          "clientEmail": {
            "type": "string"
          },
          "clientECorrespondence": {
            "type": "boolean"
          },
          "overdueAmount": {
            "type": "number"
          },
          "openAmount": {
            "type": "number"
          },
          "qrBillDataExists": {
            "type": "boolean"
          },
          "clientLateNoticeEmail": {
            "type": "string"
          }
        }
      },
      "LateNoticeSummary": {
        "type": "object",
        "properties": {
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LateNoticeLine"
            }
          },
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "totals": {
            "$ref": "#/components/schemas/LateNoticeLine"
          }
        }
      },
      "LateNoticeView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "salesInvoiceId": {
            "type": "integer",
            "format": "int64"
          },
          "salesInvoiceNumber": {
            "type": "string"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "overdueAmount": {
            "type": "number"
          },
          "noticeGeneratedQuantity": {
            "type": "integer",
            "format": "int32"
          },
          "lastNoticeGeneratedDate": {
            "type": "string",
            "format": "date-time"
          },
          "clientContactId": {
            "type": "integer",
            "format": "int64"
          },
          "overdueDate": {
            "type": "string",
            "format": "date-time"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "daysOverdue": {
            "type": "integer",
            "format": "int32"
          },
          "qrBillData": {
            "type": "string"
          },
          "bvrGenerationAvailability": {
            "type": "boolean"
          },
          "clientEmail": {
            "type": "string"
          },
          "clientECorrespondence": {
            "type": "boolean"
          },
          "entityCreatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "clientLateNoticeEmail": {
            "type": "string"
          }
        }
      },
      "JournalEntryView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "entryId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "entryDate": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "OPENING",
              "MANUAL",
              "PURCHASE_INVOICE",
              "SALES_INVOICE",
              "SALARY_SLIP",
              "STOCK",
              "CLOSING",
              "SYSTEM",
              "SYSTEM_FX",
              "SYSTEM_PFUV",
              "FIXED_ASSET"
            ]
          },
          "amount": {
            "type": "number"
          },
          "debitAccounts": {
            "type": "string"
          },
          "creditAccounts": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "GlobalRoleView": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "ROLE",
              "SUPER_ROLE"
            ]
          },
          "name": {
            "type": "string"
          },
          "isDefault": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "FixedAssetReportView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "periodFrom": {
            "type": "string",
            "format": "date-time"
          },
          "periodTo": {
            "type": "string",
            "format": "date-time"
          },
          "period": {
            "type": "string"
          },
          "amortizationType": {
            "type": "string",
            "enum": [
              "LINEAR_DEPRECIATION_DIRECT",
              "NON_LINEAR_DEPRECIATION_DIRECT",
              "LINEAR_DEPRECIATION_INDIRECT",
              "NON_LINEAR_DEPRECIATION_INDIRECT"
            ]
          },
          "initialValue": {
            "type": "number"
          },
          "amortization": {
            "type": "number"
          },
          "actualValue": {
            "type": "number"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "chartOfAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "soldOrDeleted": {
            "type": "boolean"
          }
        }
      },
      "FixedAsset": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "saleDate": {
            "type": "string",
            "format": "date-time"
          },
          "deletionDate": {
            "type": "string",
            "format": "date-time"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "salesInvoiceId": {
            "type": "integer",
            "format": "int64"
          },
          "attributionId": {
            "type": "integer",
            "format": "int64"
          },
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ExpenseView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "merchant": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "reBill": {
            "type": "boolean"
          },
          "currency": {
            "type": "string"
          },
          "currencyNetAmount": {
            "type": "number"
          },
          "currencyVatAmount": {
            "type": "number"
          },
          "currencyTotalAmount": {
            "type": "number"
          },
          "companyCurrencyTotalAmount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNSUBMITTED",
              "SUBMITTED",
              "APPROVED",
              "REFUSED",
              "BILLED"
            ]
          },
          "receipt": {
            "type": "boolean"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "employeeId": {
            "type": "integer",
            "format": "int64"
          },
          "employeeName": {
            "type": "string"
          }
        }
      },
      "ExpenseDraftView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "merchant": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "reBill": {
            "type": "boolean"
          },
          "currency": {
            "type": "string"
          },
          "currencyNetAmount": {
            "type": "number"
          },
          "currencyVatAmount": {
            "type": "number"
          },
          "currencyTotalAmount": {
            "type": "number"
          },
          "companyCurrencyTotalAmount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNSUBMITTED",
              "SUBMITTED",
              "APPROVED",
              "REFUSED",
              "BILLED"
            ]
          },
          "receipt": {
            "type": "boolean"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "employeeId": {
            "type": "integer",
            "format": "int64"
          },
          "employeeName": {
            "type": "string"
          }
        }
      },
      "HierarchyElementObject": {
        "type": "object",
        "properties": {
          "children": {
            "type": "array",
            "items": {}
          },
          "parentId": {
            "type": "integer",
            "format": "int64"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "DocumentView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "entityId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string"
          },
          "tags": {
            "type": "string"
          },
          "tagsCount": {
            "type": "integer",
            "format": "int32"
          },
          "contact": {
            "type": "string"
          },
          "isContactStaff": {
            "type": "boolean"
          },
          "module": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "fileId": {
            "type": "integer",
            "format": "int64"
          },
          "fileName": {
            "type": "string"
          },
          "fileExtension": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "creatorId": {
            "type": "integer",
            "format": "int64"
          },
          "comments": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "entityCreatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "self": {
            "type": "boolean"
          },
          "deleted": {
            "type": "boolean"
          }
        }
      },
      "DocumentScanView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "entityId": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string"
          },
          "tags": {
            "type": "string"
          },
          "tagsCount": {
            "type": "integer",
            "format": "int32"
          },
          "contact": {
            "type": "string"
          },
          "isContactStaff": {
            "type": "boolean"
          },
          "module": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "fileId": {
            "type": "integer",
            "format": "int64"
          },
          "fileName": {
            "type": "string"
          },
          "fileExtension": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "creatorId": {
            "type": "integer",
            "format": "int64"
          },
          "comments": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "entityCreatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "deleted": {
            "type": "boolean"
          }
        }
      },
      "CurrencyExchangeView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "currencyFrom": {
            "type": "string"
          },
          "currencyTo": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          }
        }
      },
      "ContactListView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "contactType": {
            "type": "string",
            "enum": [
              "ORGANIZATION",
              "PERSON"
            ]
          },
          "name": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "isCustomer": {
            "type": "boolean"
          },
          "isVendor": {
            "type": "boolean"
          },
          "isStaff": {
            "type": "boolean"
          },
          "isUser": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "clientOrderValidity": {
            "type": "integer",
            "format": "int64"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "archived": {
            "type": "boolean"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "isEmployee": {
            "type": "boolean"
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ContactSupplier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int64"
          },
          "paymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "balanceSheetAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "paymentTerms": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "feeSplitType": {
            "type": "string",
            "enum": [
              "CHARGED_TO_THE_BENEFICIARY",
              "FIFTY_FIFTY_SPLIT",
              "CHARGED_TO_THE_ORDERER"
            ]
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "vatNumber": {
            "type": "string"
          },
          "vatType": {
            "type": "string",
            "enum": [
              "NO_VAT",
              "NATIVE",
              "IMPORT_OF_SERVICE"
            ]
          },
          "vatTypeCodeId": {
            "type": "integer",
            "format": "int64"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "businessUnitName": {
            "type": "string"
          },
          "paymentAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "balanceSheetAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "delayDiscounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierDelayDiscount"
            }
          },
          "countryId": {
            "type": "integer",
            "format": "int64"
          },
          "banks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Bank"
            }
          },
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Address"
            }
          },
          "placcountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "placcountId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ContactClient": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int64"
          },
          "paymentAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "balanceSheetAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "orderAddressId": {
            "type": "integer",
            "format": "int64"
          },
          "orderAddressName": {
            "type": "string"
          },
          "invoiceAddressId": {
            "type": "integer",
            "format": "int64"
          },
          "invoiceAddressName": {
            "type": "string"
          },
          "paymentTerms": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "lateNoticeMargin": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "clientDiscountRate": {
            "type": "string"
          },
          "creditLimit": {
            "type": "string"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "vatNumber": {
            "type": "string"
          },
          "advancedInvoicingNote": {
            "type": "string"
          },
          "vatTypeCodeId": {
            "type": "integer",
            "format": "int64"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "orderValidity": {
            "type": "string",
            "description": "Numeric value represented as string",
            "example": "100.55"
          },
          "articleDiscounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleDiscount"
            }
          },
          "businessUnitName": {
            "type": "string"
          },
          "paymentAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "balanceSheetAccountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "billingEmail": {
            "type": "string",
            "format": "email"
          },
          "orderEmail": {
            "type": "string",
            "format": "email"
          },
          "lateNoticeEmail": {
            "type": "string",
            "format": "email"
          },
          "officeId": {
            "type": "integer",
            "format": "int64"
          },
          "countryId": {
            "type": "integer",
            "format": "int64"
          },
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Address"
            }
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "placcountName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          },
          "placcountId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "BalanceOfTheContact": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number"
          },
          "currencyCode": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "entryDate": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "SupplierContactListView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "contactType": {
            "type": "string",
            "enum": [
              "ORGANIZATION",
              "PERSON"
            ]
          },
          "name": {
            "type": "string"
          },
          "warnings": {
            "type": "string"
          },
          "isCustomer": {
            "type": "boolean"
          },
          "isVendor": {
            "type": "boolean"
          },
          "isStaff": {
            "type": "boolean"
          },
          "isUser": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "clientOrderValidity": {
            "type": "integer",
            "format": "int64"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "archived": {
            "type": "boolean"
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "isEmployee": {
            "type": "boolean"
          },
          "uid": {
            "type": "string"
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "StaffPayslipContainer": {
        "type": "object",
        "properties": {
          "systemLine": {
            "$ref": "#/components/schemas/PayslipLine"
          },
          "baseSalaryLine": {
            "$ref": "#/components/schemas/PayslipLine"
          },
          "employeeLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayslipLine"
            }
          }
        }
      },
      "BankMasterInfo": {
        "type": "object",
        "properties": {
          "swiftBic": {
            "type": "string"
          },
          "bankName": {
            "type": "string"
          }
        }
      },
      "ContactBalanceReportSummary": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactBalanceReportView"
            }
          },
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "totalBalance": {
            "type": "number"
          }
        }
      },
      "ContactBalanceReportView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "contactName": {
            "type": "string"
          },
          "contactRoleType": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "balance": {
            "type": "number"
          }
        }
      },
      "ChartOfAccountsView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "accountNumber": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "$ref": "#/components/schemas/Translation"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "currency": {
            "type": "string"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "warnings": {
            "type": "string"
          },
          "isCashAccountEnabled": {
            "type": "boolean"
          },
          "hasDepreciation": {
            "type": "boolean"
          },
          "isPurchaseInvoicesEnabled": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "AccountMovement": {
        "type": "object",
        "properties": {
          "companyDebit": {
            "type": "number"
          },
          "companyCredit": {
            "type": "number"
          }
        }
      },
      "JournalChartOfAccountLine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "accountNumber": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "$ref": "#/components/schemas/Translation"
          },
          "currencyId": {
            "type": "integer",
            "format": "int64"
          },
          "currency": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          },
          "hasDepreciation": {
            "type": "boolean"
          },
          "isPurchaseInvoicesEnabled": {
            "type": "boolean"
          }
        }
      },
      "ExtrapolatedCashFlow": {
        "type": "object",
        "properties": {
          "week": {
            "type": "integer",
            "format": "int32"
          },
          "cashInflow": {
            "type": "number"
          },
          "cashOutflow": {
            "type": "number"
          },
          "cashPosition": {
            "type": "number"
          }
        }
      },
      "BudgetView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "fiscalYear": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "reportType": {
            "type": "string",
            "enum": [
              "PL",
              "CASH_FLOW"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "INACTIVE"
            ]
          },
          "parent": {
            "type": "integer",
            "format": "int64"
          },
          "articleId": {
            "type": "integer",
            "format": "int64"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "format": "int64"
          },
          "departmentId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "BreakdownData": {
        "type": "object",
        "properties": {
          "contactName": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          }
        }
      },
      "BillingUnitView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "targetContactId": {
            "type": "integer",
            "format": "int64"
          },
          "unitId": {
            "type": "integer",
            "format": "int64"
          },
          "unitName": {
            "type": "string"
          },
          "unitOrganizationId": {
            "type": "integer",
            "format": "int64"
          },
          "unitType": {
            "type": "string",
            "enum": [
              "ORGANIZATION",
              "EMPLOYEE",
              "PERSON"
            ]
          }
        }
      },
      "PaymentInfo": {
        "type": "object",
        "properties": {
          "cardNumber": {
            "type": "string"
          },
          "expiryMonth": {
            "type": "integer",
            "format": "int32"
          },
          "expiryYear": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "BillingPlanView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "billingUnitAmount": {
            "type": "integer",
            "format": "int64"
          },
          "availableBillingUnitsAmount": {
            "type": "integer",
            "format": "int64"
          },
          "billingUnitType": {
            "type": "string",
            "enum": [
              "ORGANIZATION",
              "EMPLOYEE",
              "PERSON"
            ]
          }
        }
      },
      "BillingPlanWithPrice": {
        "type": "object",
        "properties": {
          "billingPlan": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillingPlanView"
            }
          },
          "price": {
            "type": "number"
          }
        }
      },
      "BalanceView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "accountNumber": {
            "type": "integer",
            "format": "int64"
          },
          "accountType": {
            "type": "string",
            "enum": [
              "BALANCE_SHEET",
              "PL",
              "SYSTEM"
            ]
          },
          "account": {
            "$ref": "#/components/schemas/Translation"
          },
          "debit": {
            "type": "number"
          },
          "credit": {
            "type": "number"
          },
          "endingBalance": {
            "type": "number"
          },
          "lastYearDebit": {
            "type": "number"
          },
          "lastYearCredit": {
            "type": "number"
          },
          "lastYearEndingBalance": {
            "type": "number"
          },
          "warnings": {
            "type": "string"
          },
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "AccountBalance": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "accountNumber": {
            "type": "integer",
            "format": "int64"
          },
          "account": {
            "$ref": "#/components/schemas/Translation"
          },
          "balance": {
            "type": "number"
          },
          "lastYearBalance": {
            "type": "number"
          },
          "margin": {
            "type": "number"
          },
          "lastYearMargin": {
            "type": "number"
          },
          "change": {
            "type": "number"
          },
          "changeAmount": {
            "type": "number"
          },
          "changeAmountProportion": {
            "type": "number"
          },
          "hasWarnings": {
            "type": "boolean"
          }
        }
      },
      "BalanceSheetLine": {
        "type": "object",
        "properties": {
          "templateLineName": {
            "$ref": "#/components/schemas/TranslationEntity"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BalanceSheetLine"
            }
          },
          "sign": {
            "type": "string",
            "enum": [
              "ASSETS",
              "LIABILITY",
              "INCOME",
              "EXPENSE"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "NONE",
              "ACCOUNTS",
              "CALCULATIONS"
            ]
          },
          "calculationTemplateLineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "total": {
            "type": "number"
          },
          "margin": {
            "type": "number"
          },
          "lastYearTotal": {
            "type": "number"
          },
          "lastYearMargin": {
            "type": "number"
          },
          "change": {
            "type": "number"
          },
          "changeAmount": {
            "type": "number"
          },
          "changeAmountProportion": {
            "type": "number"
          },
          "accountBalances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountBalance"
            }
          },
          "hasWarnings": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "parentId": {
            "type": "integer",
            "format": "int64"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "MonthlyCash": {
        "type": "object",
        "properties": {
          "month": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "number"
          },
          "lastYearTotal": {
            "type": "number"
          }
        }
      },
      "ArticleView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string",
            "enum": [
              "PRODUCT",
              "SERVICE",
              "BUNDLE"
            ]
          },
          "articleId": {
            "type": "string"
          },
          "name": {
            "$ref": "#/components/schemas/Translation"
          },
          "articleIdName": {
            "$ref": "#/components/schemas/Translation"
          },
          "description": {
            "$ref": "#/components/schemas/Translation"
          },
          "categoryId": {
            "type": "integer",
            "format": "int64"
          },
          "categoryName": {
            "type": "string"
          },
          "measurement": {
            "type": "string",
            "enum": [
              "UNIT",
              "ML",
              "DL",
              "L",
              "HL",
              "G",
              "KG",
              "T",
              "H",
              "M",
              "M_2",
              "M_3",
              "KM",
              "DAY"
            ]
          },
          "unitCost": {
            "type": "number"
          },
          "unitPrice": {
            "type": "number"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "archived": {
            "type": "boolean"
          },
          "ean": {
            "type": "string"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "quantity": {
            "type": "number"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "weightKg": {
            "type": "number"
          }
        }
      },
      "LiteArticleItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "articleIdName": {
            "$ref": "#/components/schemas/Translation",
            "readOnly": true
          }
        }
      },
      "UserLanguageArticleView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string",
            "enum": [
              "PRODUCT",
              "SERVICE",
              "BUNDLE"
            ]
          },
          "articleId": {
            "type": "string"
          },
          "name": {
            "$ref": "#/components/schemas/Translation"
          },
          "articleIdName": {
            "$ref": "#/components/schemas/Translation"
          },
          "description": {
            "$ref": "#/components/schemas/Translation"
          },
          "categoryId": {
            "type": "integer",
            "format": "int64"
          },
          "categoryName": {
            "type": "string"
          },
          "measurement": {
            "type": "string",
            "enum": [
              "UNIT",
              "ML",
              "DL",
              "L",
              "HL",
              "G",
              "KG",
              "T",
              "H",
              "M",
              "M_2",
              "M_3",
              "KM",
              "DAY"
            ]
          },
          "unitCost": {
            "type": "number"
          },
          "unitPrice": {
            "type": "number"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "archived": {
            "type": "boolean"
          },
          "ean": {
            "type": "string"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "quantity": {
            "type": "number"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "weightKg": {
            "type": "number"
          }
        }
      },
      "TranslatedArticleView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string",
            "enum": [
              "PRODUCT",
              "SERVICE",
              "BUNDLE"
            ]
          },
          "articleId": {
            "type": "string"
          },
          "name": {
            "$ref": "#/components/schemas/Translation"
          },
          "articleIdName": {
            "$ref": "#/components/schemas/Translation"
          },
          "description": {
            "$ref": "#/components/schemas/Translation"
          },
          "categoryId": {
            "type": "integer",
            "format": "int64"
          },
          "categoryName": {
            "type": "string"
          },
          "measurement": {
            "type": "string",
            "enum": [
              "UNIT",
              "ML",
              "DL",
              "L",
              "HL",
              "G",
              "KG",
              "T",
              "H",
              "M",
              "M_2",
              "M_3",
              "KM",
              "DAY"
            ]
          },
          "unitCost": {
            "type": "number"
          },
          "unitPrice": {
            "type": "number"
          },
          "vatRateId": {
            "type": "integer",
            "format": "int64"
          },
          "archived": {
            "type": "boolean"
          },
          "ean": {
            "type": "string"
          },
          "creatorContactId": {
            "type": "integer",
            "format": "int64"
          },
          "quantity": {
            "type": "number"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "weightKg": {
            "type": "number"
          }
        }
      },
      "AllocationRuleView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "moduleType": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "isActive": {
            "type": "boolean"
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ActivityLogView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "dateTime": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "integer",
            "format": "int64"
          },
          "contactId": {
            "type": "integer",
            "format": "int64"
          },
          "entityId": {
            "type": "integer",
            "format": "int64"
          },
          "wtUser": {
            "type": "string"
          },
          "contact": {
            "type": "string"
          },
          "entity": {
            "type": "string"
          },
          "module": {
            "type": "string",
            "enum": [
              "ALL",
              "NONE",
              "CONTACTS",
              "CONTACTS_DETAILS",
              "CONTACTS_SUPPLIER",
              "CONTACTS_CLIENT",
              "CONTACTS_BALANCE",
              "CONTACTS_STAFF",
              "CONTACTS_STAFF_DOCUMENTS",
              "CONTACTS_USER",
              "CONTACTS_MAIN_USER",
              "CONTACTS_USER_SECURITY",
              "CONTACTS_USER_PERMISSIONS",
              "CONTACTS_SYSTEM",
              "CONTACTS_DOCUMENTS",
              "CONTACTS_ROLES",
              "CONTACTS_ROLES_SUPPLIER",
              "CONTACTS_ROLES_CLIENT",
              "CONTACTS_ROLES_STAFF",
              "CONTACTS_ROLES_USER",
              "CONTACTS_COMMUNICATIONS",
              "ORGANIZATIONS_USERS_MANAGER",
              "ORGANIZATIONS",
              "ORGANIZATIONS_DETAILS",
              "ORGANIZATIONS_TEMPLATES",
              "ORGANIZATIONS_ACCOUNTING",
              "ORGANIZATIONS_INVOICES",
              "ORGANIZATIONS_SYSTEM",
              "ORGANIZATIONS_SYSTEM_ALLOCATION_KEYS",
              "ORGANIZATIONS_SYSTEM_CODES",
              "ORGANIZATIONS_SYSTEM_EBICS",
              "ORGANIZATIONS_SYSTEM_INVENTORY",
              "ORGANIZATIONS_DOCUMENTS",
              "ORGANIZATIONS_DETAILS_INVOICING",
              "PERMISSION_ROLES",
              "PERMISSION_ROLES_DETAILS",
              "BUSINESS_UNITS",
              "ARTICLE_CATEGORIES",
              "CHART_OF_ACCOUNTS",
              "CHART_OF_ACCOUNTS_DETAILS",
              "ACTIVITY_LOG",
              "CURRENCIES",
              "CURRENCIES_DETAILS",
              "JOURNAL",
              "JOURNAL_DETAILS",
              "JOURNAL_DOCUMENTS",
              "DOCUMENTS",
              "DOCUMENTS_DETAILS",
              "RECONCILIATION",
              "PURCHASE_INVOICES",
              "PURCHASE_INVOICES_DETAILS",
              "PURCHASE_INVOICES_VALIDATION",
              "PURCHASE_INVOICES_ACCOUNTING",
              "PURCHASE_INVOICES_SHIPMENTS",
              "PURCHASE_INVOICES_DOCUMENTS",
              "PURCHASE_INVOICES_ALLOCATION_RULES",
              "PURCHASE_INVOICES_WORKFLOW",
              "SALES_INVOICES",
              "SALES_INVOICES_DETAILS",
              "SALES_INVOICES_VALIDATION",
              "SALES_INVOICES_ACCOUNTING",
              "SALES_INVOICES_DOCUMENTS",
              "SALES_INVOICES_SHIPMENTS",
              "SALES_INVOICES_REPORT",
              "SALES_INVOICES_ALLOCATION_RULES",
              "SALES_INVOICES_WORKFLOW",
              "SALARIES",
              "STOCK_REPORT",
              "STOCK_MOVEMENTS",
              "STOCK_MOVEMENTS_DETAILS",
              "ORDERS",
              "ORDERS_DETAILS",
              "ORDERS_VALIDATION",
              "ORDERS_SHIPMENT",
              "ORDERS_INVOICES",
              "ORDERS_EXPENSES",
              "ORDERS_DOCUMENTS",
              "ORDERS_WORKFLOW",
              "ADVANCED_INVOICING",
              "ADVANCED_INVOICING_GENERATE",
              "ACCOUNTING_PERIODS",
              "ACCOUNTING_PERIODS_DETAILS",
              "ACCOUNTING_PERIODS_LOCK",
              "ACCOUNTING_PERIODS_OPEN_CLOSE",
              "GENERAL_LEDGER",
              "GENERAL_LEDGER_STAFF",
              "REPORT_TEMPLATE",
              "ARTICLES",
              "ARTICLES_DETAILS",
              "PURCHASE_INVOICES_SCAN",
              "PURCHASE_INVOICES_SCAN_DETAILS",
              "RECOGNIZER",
              "BALANCE",
              "BALANCE_SHEET",
              "BALANCE_SHEET_STAFF",
              "PL_REPORT",
              "PL_REPORT_STAFF",
              "CASH_FLOW_REPORT",
              "MY_TIMESHEETS",
              "MY_ACCOUNT",
              "TIME_DETAILS",
              "TIME_DETAILS_DETAILS",
              "TIME_DETAILS_WORKFLOW",
              "TEAM_REVIEW",
              "BUDGETING",
              "BUDGETING_DETAILS",
              "SALARY_CONFIG",
              "SALARY_CONFIG_DETAILS",
              "RECEIVABLES",
              "PAYABLES",
              "PAYABLES_PAYMENT_FILE",
              "PDF_TEMPLATES",
              "PDF_TEMPLATES_DETAILS",
              "DASHBOARD",
              "LATE_NOTICES",
              "MY_DOCUMENTS",
              "MY_DOCUMENTS_PAYROLL",
              "MY_DOCUMENTS_OTHER",
              "MY_DOCUMENTS_EXPORT_FILES",
              "PAYROLL",
              "PAYROLL_DETAILS",
              "PAYROLL_ACCOUNTING",
              "PAYROLL_SWISSDEC",
              "VAT_REPORT",
              "ORDER_REPORTS",
              "ORDER_REPORTS_DETAILS",
              "RATIOS_REPORT",
              "VACATIONS",
              "TRASH_CAN",
              "USER_GROUPS",
              "USER_GROUPS_DETAILS",
              "WORKFLOW",
              "WORKFLOW_DETAILS",
              "MY_WORKFLOW_NOTIFICATIONS",
              "FIXED_ASSETS",
              "UNASSIGNED",
              "EXPENSES",
              "EXPENSES_DETAILS",
              "EXPENSES_DRAFT",
              "EXPENSES_DRAFT_DETAILS",
              "CONTACT_BALANCE_REPORT",
              "ORGANIZATION_CURRENCIES",
              "ORGANIZATION_CURRENCIES_DETAILS",
              "ALLOCATIONS",
              "ALLOCATIONS_DETAILS",
              "END_OF_YEAR_REPORT",
              "END_OF_YEAR_REPORT_DOCUMENTS"
            ]
          },
          "action": {
            "type": "string",
            "enum": [
              "CREATE",
              "MODIFY",
              "DELETE",
              "LOGIN",
              "LOGOUT",
              "BLOCK",
              "CORRESPONDENCE",
              "RESTORE",
              "EXPORT",
              "VIEW_DATA"
            ]
          },
          "actionType": {
            "type": "string",
            "enum": [
              "VALIDATE",
              "INVALIDATE",
              "PARTIAL_VALIDATE",
              "DOCUMENT",
              "LOCK",
              "SHIPMENT",
              "REMINDER",
              "UNLOCK",
              "PAYSLIP_LINE",
              "PAYMENT",
              "EMAIL",
              "UPLOAD",
              "RECONCILIATION",
              "CLOSE",
              "OPEN",
              "SCAN",
              "BILLING_METHOD",
              "PAID",
              "PARTIALLY_PAID",
              "PARTIAL_PAYMENT_REMOVED",
              "PAYMENT_REMOVED",
              "SENT",
              "ARCHIVED",
              "UNARCHIVED",
              "PDF",
              "EXCEL"
            ]
          },
          "details": {
            "type": "string"
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "AccountingPeriodView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "fiscalYear": {
            "type": "integer",
            "format": "int32"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "vatRuleId": {
            "type": "integer",
            "format": "int64"
          },
          "vatRule": {
            "$ref": "#/components/schemas/Translation"
          },
          "status": {
            "type": "string",
            "enum": [
              "OPEN",
              "CLOSED",
              "INACTIVE"
            ]
          },
          "isLocked": {
            "type": "boolean"
          },
          "lockedUntil": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "VatRuleView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "$ref": "#/components/schemas/Translation"
          },
          "rule": {
            "type": "string",
            "enum": [
              "NONE",
              "AGREED_SERVICE",
              "RECEIVED_COMPENSATION",
              "NTDR_AGREED_SERVICE",
              "NTDR_RECEIVED_COMPENSATION",
              "FLAT_RATE_RECEIVED_COMPENSATION",
              "FLAT_RATE_AGREED_SERVICE",
              "SIMPLE_TAX_RATE"
            ]
          }
        }
      },
      "DateLockStatus": {
        "type": "object",
        "properties": {
          "periodDetails": {
            "$ref": "#/components/schemas/AccountingPeriod"
          },
          "locked": {
            "type": "boolean"
          }
        }
      },
      "DeleteResponse": {
        "type": "object",
        "description": "Delete operation response",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/ErrorCode"
          },
          "valid": {
            "type": "boolean"
          }
        }
      }
    }
  },
  "host": "wyzio.app",
  "schemes": [
    "https"
  ],
  "x-topics": [
    {
      "title": "Authentication",
      "content": "API calls are authenticated via Web Tokens. At a high level, authentication works by the add-on exchanging a security context with the application. This context is used to create and validate tokens, embedded in API calls.\n\n- To use the API, you will need to retrieve the API credentials.\n- Create a Wyzio contact to handle the API requests at https://wyzio.app/contacts.\n- Give that contact the user role.\n- On the User tab, in the permissions area, apply to the contact the **Webservice** role.\n- Go to the RESTful API section.\n- A token linked to the account will be shown on this page.\n- When you generate a request to the REST API, pass in the header the key `WEAL-TOKEN` (Wyzio Enhanced API Library) and, as the value, the token of the user.\n- All calls must be made using `Wyzio/1.0` as User Agent."
    },
    {
      "title": "Dates & time",
      "content": "## Formats\n\nFor specific points in time (often referred to as DateTimes), strings compliant with RFC-3339 can be used.\n\nNote that there are some restrictions that apply:\n\n- Only the T separator is supported (not a lowercased t or a whitespace or any other character)\n- The `unknown offset` -00:00 is not supported\n- For dates (without a specific time indication), the same format as the date section of RFC-3339 can be used, e.g. 2022-08-17.\n- For times (without a specific date indication), the military time format (HH:mm) can be used, e.g. 19:05.\n\n## Time zone\n\nWyzio REST API are based on CET Time Zone."
    },
    {
      "title": "Versioning and backwards compatibility",
      "content": "Wyzio API is versioned by path (/api-v1/...). When we introduce breaking changes, we will increase this version number. We will, of course, continually make backward-compatible changes without increasing the version number.\n\nExamples of changes we do not consider breaking include:\n\n- Adding new API resources.\n- Adding new optional request parameters to existing API methods.\n- Adding new properties to existing API responses. We will occasionally move response fields in the API and will continue to return the existing field in its previous location while removing it from this documentation.\n- Changing the order of properties in existing API responses.\n- Changing the length or format of opaque strings, such as object IDs, error messages, and other human-readable strings. Strings that are marked as const or enum in this documentation will not change."
    },
    {
      "title": "Compression",
      "content": "To improve performance and reduce bandwidth usage, Wyzio API supports HTTP response compression.\n\n## How it works\n\nWhen your client includes an `Accept-Encoding` header specifying one or more supported compression algorithms, the server will automatically compress the response using a matching algorithm.\n\nThe response will then include a `Content-Encoding` header indicating which algorithm was applied.\n\nIf no preference is specified (`*`), the server will default to gzip.\n\n## Example request\n\n```\nGET /api-v1/contact HTTP/1.1\nHost: wyzio.app\nAccept-Encoding: gzip\n```\n\n## Example response\n\n```\nHTTP/1.1 200 OK\nContent-Encoding: gzip\nContent-Type: application/json\n...\n```\n\n## Supported algorithms\n\nThe API only supports the following compression methods:\n\n- `gzip` : Gzip compression\n- `*` : No specific preference (defaults to gzip)\n\n> **Note:** The list of supported compression algorithms may be extended or changed in the future.\n\n## Best practices\n\n- Compression is automatically applied by the server if the `Accept-Encoding` header is supplied; no additional configuration is required.\n- Be aware that compression can increase CPU usage on both client and server sides.\n- For very small payloads, compression may not provide a significant benefit."
    },
    {
      "title": "Errors",
      "content": "Wyzio API uses standard HTTP response codes to indicate the success or failure of requests. Codes in the `2xx` range indicate success; codes in the `4xx` and `5xx` ranges indicate errors. The format of error messages is unified and can be distinguished by their `code` key. The message provides a plain English explanation of the problem."
    }
  ]
}