{
  "openapi": "3.0.4",
  "info": {
    "title": "Vsp.Absence",
    "description": "",
    "version": "v1"
  },
  "servers": [
    {
      "url": "/absence"
    }
  ],
  "paths": {
    "/providers/employers/{employerId}/absences/report": {
      "get": {
        "tags": [
          "Absence reports"
        ],
        "summary": "Absences report by employer id",
        "description": "**Activity name**:\n  - `GetAbsencesReportByEmployerId`\n\n**Validation errors**:\n  - `API_Absence_AbsencesReport_StartDate_Invalid`: startDate has an invalid value.\n  - `API_Absence_AbsencesReport_EndDate_Invalid`: endDate has an invalid value.\n  - `API_Absence_AbsencesReport_EndDate_Before_StartDate`: Invalid date range: endDate must not be before startDate.\n  - `API_Absence_AbsencesReport_DepartmentIdAndFunctionId_BothSet`: departmentId and functionId are mutually exclusive.\n  - `API_Absence_AbsencesReport_DepartmentId_IncorrectlySet`: departmentId cannot be set when data is grouped by function.\n  - `API_Absence_AbsencesReport_FunctionId_IncorrectlySet`: functionId cannot be set when data is grouped by department.\n  - `API_Absence_AbsencesReport_DepartmentId_Invalid`: departmentId does not exist within provided employer.\n  - `API_Absence_AbsencesReport_FunctionId_Invalid`: functionId does not exist within provided employer.\nGenerates an absences report for a specific employer.\n\n**CSV Reports - Additional Header Required:**\n\nWhen requesting CSV format, include the `X-ReportInput` header with a JSON value based on your query parameters:\n\n  ```json\n  {\"FileNameWithoutExtension\":\"Ziekmeldingen\",\"Fields\":[{fieldName:\"Werkgever\",reportColumnName:\"Werkgever\"},{fieldName:\"Administratienummer\",reportColumnName:\"Administratienummer\"},{fieldName:\"Groepcode\",reportColumnName:\"Groepcode\"},{fieldName:\"RapportDatumVanaf\",reportColumnName:\"DatumVanaf\"},{fieldName:\"RapportDatumTotEnMet\",reportColumnName:\"DatumTotEnMet\"},{fieldName:\"Werknemer\",reportColumnName:\"Werknemer\"},{fieldName:\"Personeelsnummer\",reportColumnName:\"Personeelsnummer\"},{fieldName:\"AfdelingOmschrijving\",reportColumnName:\"Afdeling\"},{fieldName:\"FunctieOmschrijving\",reportColumnName:\"Functie\"},{fieldName:\"DatumVanaf\",reportColumnName:\"Startdatum\"},{fieldName:\"DatumEinde\",reportColumnName:\"Einddatum\"},{fieldName:\"PercentageArbeidsongeschikt\",reportColumnName:\"PercentageArbeidsongeschikt\"},{fieldName:\"SoortWerkhervatting\",reportColumnName:\"SoortWerkhervatting\"},{fieldName:\"RedenZiek\",reportColumnName:\"RedenZiek\"}]}\n  ```",
        "parameters": [
          {
            "name": "employerId",
            "in": "path",
            "description": "The unique identifier of the employer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "example": "46df3f85-5476-4868-9f94-954cf7d5efcb"
          },
          {
            "name": "StartDate",
            "in": "query",
            "description": "The start date of the reporting period.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-01-01"
            },
            "example": "2024-01-01"
          },
          {
            "name": "EndDate",
            "in": "query",
            "description": "The end date of the reporting period.",
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-12-31"
            },
            "example": "2024-12-31"
          },
          {
            "name": "OnlyOpenAbsences",
            "in": "query",
            "description": "Only show open absences in the report.",
            "schema": {
              "type": "boolean",
              "example": true
            },
            "example": true
          },
          {
            "name": "DepartmentId",
            "in": "query",
            "description": "Optional department identifier to filter the report by a specific department.",
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
            },
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          },
          {
            "name": "FunctionId",
            "in": "query",
            "description": "Optional function identifier to filter the report by a specific function.",
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
            },
            "example": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
          },
          {
            "name": "GroupBy",
            "in": "query",
            "description": "Specifies how to group the report data (by department or function).\n\nValid values are:\n`0 = Employee`\n`1 = Department`\n`2 = Function`",
            "schema": {
              "enum": [
                0,
                1,
                2
              ],
              "type": "integer",
              "format": "int32",
              "example": 1
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/providers/employers/employees/{employeeId}/absences/report": {
      "get": {
        "tags": [
          "Absence reports"
        ],
        "summary": "Absences report by employee id",
        "description": "**Activity name**:\n  - `GetAbsencesReportByEmployeeId`\n\n**Validation errors**:\n  - `API_Absence_AbsencesReport_StartDate_Invalid`: startDate has an invalid value.\n  - `API_Absence_AbsencesReport_EndDate_Invalid`: endDate has an invalid value.\n  - `API_Absence_AbsencesReport_EndDate_Before_StartDate`: Invalid date range: endDate must not be before startDate.\nGenerates an absences report for a specific employee.",
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "description": "The unique identifier of the employee.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "example": "46df3f85-5476-4868-9f94-954cf7d5efcb"
          },
          {
            "name": "StartDate",
            "in": "query",
            "description": "The start date of the reporting period.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-01-01"
            },
            "example": "2024-01-01"
          },
          {
            "name": "EndDate",
            "in": "query",
            "description": "The end date of the reporting period.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-12-31"
            },
            "example": "2024-12-31"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/providers/employers/{employerId}/absences/percentages/report": {
      "get": {
        "tags": [
          "Absence reports"
        ],
        "summary": "Absence percentages report",
        "description": "**Activity name**:\n  - `GetAbsencePercentagesReportByEmployerId`\n\n**Validation errors**:\n  - `API_Absence_AbsencePercentagesReport_StartDate_Invalid`: startDate has an invalid value.\n  - `API_Absence_AbsencePercentagesReport_EndDate_Invalid`: endDate has an invalid value.\n  - `API_Absence_AbsencePercentagesReport_EndDate_Before_StartDate`: Invalid date range: endDate must not be before startDate.\n  - `API_Absence_AbsencePercentagesReport_GroupBy_Invalid`: groupBy has an invalid value.\n  - `API_Absence_AbsencePercentagesReport_DepartmentIdAndFunctionId_BothSet`: departmentId and functionId are mutually exclusive.\n  - `API_Absence_AbsencePercentagesReport_GroupByDepartment_FunctionIdIsSet`: When grouping by department it is not allowed to provide a functionId.\n  - `API_Absence_AbsencePercentagesReport_GroupByFunction_DepartmentIdIsSet`: When grouping by function it is not allowed to provide a departmentId.\n  - `API_Absence_AbsencePercentagesReport_Consolidate_DepartmentIdIsSet`: When consolidating it is not allowed to provide a departmentId.\n  - `API_Absence_AbsencePercentagesReport_Consolidate_FunctionIdIsSet`: When consolidating it is not allowed to provide a functionId.\n  - `API_Absence_AbsencePercentagesReport_DepartmentId_Invalid`: departmentId does not exist within provided employer.\n  - `API_Absence_AbsencePercentagesReport_FunctionId_Invalid`: functionId does not exist within provided employer.\n  - `API_Absence_AbsencePercentagesReport_Consolidate_EmployerNotAuthorized`: Employer does not have the required module to use consolidation.\n  - `API_Absence_AbsencePercentagesReport_Consolidate_UserNotAuthorized`: User does not have the required authorization to use consolidation.\n\n\nGenerates an absence percentages report (NL: ziekteverzuimpercentage) for a specific employer.\n\n**Content Type Support:**\n- Use `Accept: application/pdf` header for PDF reports\n- Use `Accept: text/csv` header for CSV reports (default)\n\n**CSV Reports - Additional Header Required:**\n\nWhen requesting CSV format, include the `X-ReportInput` header with a JSON value based on your query parameters:\n\n- **GroupBy = 1 (Department) + PerEmployee = true:**\n  ```json\n  {\"FileNameWithoutExtension\":\"ZiekteverzuimpercentagesPerAfdelingMedewerker\",\"DateTimeFormat\":\"dd-MM-yyyy\",\"BooleanValues\":\"Ja;Nee\",\"Fields\":[{\"FieldName\":\"werkgever\",\"ReportColumnName\":\"Werkgever\"},{\"FieldName\":\"administratienummer\",\"ReportColumnName\":\"Administratienummer\"},{\"FieldName\":\"groepcode\",\"ReportColumnName\":\"Groepcode\"},{\"FieldName\":\"datumVanaf\",\"ReportColumnName\":\"DatumVanaf\"},{\"FieldName\":\"datumTotEnMet\",\"ReportColumnName\":\"DatumTotEnMet\"},{\"FieldName\":\"inclusiefVangnet\",\"ReportColumnName\":\"InclusiefVangnet\"},{\"FieldName\":\"afdeling\",\"ReportColumnName\":\"Afdeling\"},{\"FieldName\":\"personeelsnummer\",\"ReportColumnName\":\"Personeelsnummer\"},{\"FieldName\":\"medewerker\",\"ReportColumnName\":\"Medewerker\"},{\"FieldName\":\"ziekteverzuimpercentage\",\"ReportColumnName\":\"Ziekteverzuimpercentage\"}]}\n  ```\n\n- **GroupBy = 1 (Department) + PerEmployee = false:**\n  ```json\n  {\"FileNameWithoutExtension\":\"ZiekteverzuimpercentagesPerAfdelingTotaal\",\"DateTimeFormat\":\"dd-MM-yyyy\",\"BooleanValues\":\"Ja;Nee\",\"Fields\":[{\"FieldName\":\"werkgever\",\"ReportColumnName\":\"Werkgever\"},{\"FieldName\":\"administratienummer\",\"ReportColumnName\":\"Administratienummer\"},{\"FieldName\":\"groepcode\",\"ReportColumnName\":\"Groepcode\"},{\"FieldName\":\"datumVanaf\",\"ReportColumnName\":\"DatumVanaf\"},{\"FieldName\":\"datumTotEnMet\",\"ReportColumnName\":\"DatumTotEnMet\"},{\"FieldName\":\"inclusiefVangnet\",\"ReportColumnName\":\"InclusiefVangnet\"},{\"FieldName\":\"afdeling\",\"ReportColumnName\":\"Afdeling\"},{\"FieldName\":\"ziekteverzuimpercentage\",\"ReportColumnName\":\"Ziekteverzuimpercentage\"}]}\n  ```\n\n- **GroupBy = 2 (Function) + PerEmployee = true:**\n  ```json\n  {\"FileNameWithoutExtension\":\"ZiekteverzuimpercentagesPerFunctieMedewerker\",\"DateTimeFormat\":\"dd-MM-yyyy\",\"BooleanValues\":\"Ja;Nee\",\"Fields\":[{\"FieldName\":\"werkgever\",\"ReportColumnName\":\"Werkgever\"},{\"FieldName\":\"administratienummer\",\"ReportColumnName\":\"Administratienummer\"},{\"FieldName\":\"groepcode\",\"ReportColumnName\":\"Groepcode\"},{\"FieldName\":\"datumVanaf\",\"ReportColumnName\":\"DatumVanaf\"},{\"FieldName\":\"datumTotEnMet\",\"ReportColumnName\":\"DatumTotEnMet\"},{\"FieldName\":\"inclusiefVangnet\",\"ReportColumnName\":\"InclusiefVangnet\"},{\"FieldName\":\"functie\",\"ReportColumnName\":\"Functie\"},{\"FieldName\":\"personeelsnummer\",\"ReportColumnName\":\"Personeelsnummer\"},{\"FieldName\":\"medewerker\",\"ReportColumnName\":\"Medewerker\"},{\"FieldName\":\"ziekteverzuimpercentage\",\"ReportColumnName\":\"Ziekteverzuimpercentage\"}]}\n  ```\n\n- **GroupBy = 2 (Function) + PerEmployee = false:**\n  ```json\n  {\"FileNameWithoutExtension\":\"ZiekteverzuimpercentagesPerFunctieTotaal\",\"DateTimeFormat\":\"dd-MM-yyyy\",\"BooleanValues\":\"Ja;Nee\",\"Fields\":[{\"FieldName\":\"werkgever\",\"ReportColumnName\":\"Werkgever\"},{\"FieldName\":\"administratienummer\",\"ReportColumnName\":\"Administratienummer\"},{\"FieldName\":\"groepcode\",\"ReportColumnName\":\"Groepcode\"},{\"FieldName\":\"datumVanaf\",\"ReportColumnName\":\"DatumVanaf\"},{\"FieldName\":\"datumTotEnMet\",\"ReportColumnName\":\"DatumTotEnMet\"},{\"FieldName\":\"inclusiefVangnet\",\"ReportColumnName\":\"InclusiefVangnet\"},{\"FieldName\":\"functie\",\"ReportColumnName\":\"Functie\"},{\"FieldName\":\"ziekteverzuimpercentage\",\"ReportColumnName\":\"Ziekteverzuimpercentage\"}]}\n  ```",
        "parameters": [
          {
            "name": "employerId",
            "in": "path",
            "description": "The unique identifier of the employer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "example": "46df3f85-5476-4868-9f94-954cf7d5efcb"
          },
          {
            "name": "StartDate",
            "in": "query",
            "description": "The start date of the reporting period.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-01-01"
            },
            "example": "2024-01-01"
          },
          {
            "name": "EndDate",
            "in": "query",
            "description": "The end date of the reporting period.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-12-31"
            },
            "example": "2024-12-31"
          },
          {
            "name": "GroupBy",
            "in": "query",
            "description": "Specifies how to group the report data (by department or function).\n\nValid values are:\n`1 = Department (NL: Afdeling)`\n`2 = Function (NL: Functie)`",
            "required": true,
            "schema": {
              "enum": [
                1,
                2
              ],
              "type": "integer",
              "format": "int32",
              "example": 1
            },
            "example": 1
          },
          {
            "name": "DepartmentId",
            "in": "query",
            "description": "Optional department identifier to filter the report by a specific department. Mutually exclusive with `FunctionId`.",
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
            },
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          },
          {
            "name": "FunctionId",
            "in": "query",
            "description": "Optional function identifier to filter the report by a specific function. Mutually exclusive with `DepartmentId`.",
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
            },
            "example": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
          },
          {
            "name": "IncludingSafetyNet",
            "in": "query",
            "description": "Indicates whether to include safety net data (NL: inclusief vangnet) in the report. Defaults to true.",
            "schema": {
              "type": "boolean",
              "example": true
            },
            "example": true
          },
          {
            "name": "Consolidate",
            "in": "query",
            "description": "Indicates whether to consolidate the report data. Defaults to false.\n\n`False` = Only data of the provided employer is shown.\n\n`True` = In addition of the provided employer, also data of employer(s) that are part of the provided employer (NL: onderdeel van werkgever) is shown.\n\n`Consolidate` (true) can not be used in combination with `DepartmentId` or `FunctionId`.",
            "schema": {
              "type": "boolean",
              "example": false
            },
            "example": false
          },
          {
            "name": "PerEmployee",
            "in": "query",
            "description": "Indicates whether to show percentages per individual employee. Defaults to false.\n\n`False` = Only sub-totals for an entire department or function are shown.\n\n`True` = A percentage is shown per individual employee.",
            "schema": {
              "type": "boolean",
              "example": false
            },
            "example": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/providers/employers/{employerId}/absences/averageduration/report": {
      "get": {
        "tags": [
          "Absence reports"
        ],
        "summary": "Absence average duration report",
        "description": "**Activity name**:\n  - `GetAbsenceAverageDurationReportByEmployerId`\n\n**Validation errors**:\n  - `API_Absence_AbsenceAverageDurationReport_StartDate_Invalid`: startDate has an invalid value.\n  - `API_Absence_AbsenceAverageDurationReport_EndDate_Invalid`: endDate has an invalid value.\n  - `API_Absence_AbsenceAverageDurationReport_EndDate_Before_StartDate`: Invalid date range: endDate must not be before startDate.\n  - `API_Absence_AbsenceAverageDurationReport_GroupBy_Invalid`: groupBy has an invalid value.\n\n\nGenerates an absence average duration report (NL: gemiddelde ziekteverzuimduur) for a specific employer.\n\n**Content Type Support:**\n- Use `Accept: application/pdf` header for PDF reports\n- Use `Accept: text/csv` header for CSV reports (default)\n\n**CSV Reports - Additional Header Required:**\n\nWhen requesting CSV format, include the `X-ReportInput` header with a JSON value based on your query parameters:\n\n- **GroupBy = 0 (Employee):**\n  ```json\n  {\"FileNameWithoutExtension\":\"GemiddeldeVerzuimduurPerMedewerker\",\"DateTimeFormat\":\"dd-MM-yyyy\",\"BooleanValues\":\"Ja;Nee\",\"Fields\":[{\"FieldName\":\"werkgever\",\"ReportColumnName\":\"Werkgever\"},{\"FieldName\":\"administratienummer\",\"ReportColumnName\":\"Administratienummer\"},{\"FieldName\":\"groepcode\",\"ReportColumnName\":\"Groepcode\"},{\"FieldName\":\"datumVanaf\",\"ReportColumnName\":\"DatumVanaf\"},{\"FieldName\":\"datumTotEnMet\",\"ReportColumnName\":\"DatumTotEnMet\"},{\"FieldName\":\"inclusiefVangnet\",\"ReportColumnName\":\"InclusiefVangnet\"},{\"FieldName\":\"personeelsnummer\",\"ReportColumnName\":\"Personeelsnummer\"},{\"FieldName\":\"medewerker\",\"ReportColumnName\":\"Medewerker\"},{\"FieldName\":\"aantalMeldingen\",\"ReportColumnName\":\"AantalMeldingen\"},{\"FieldName\":\"verzuimduur\",\"ReportColumnName\":\"Verzuimduur\"},{\"FieldName\":\"gemiddeldeVerzuimduur\",\"ReportColumnName\":\"GemiddeldeVerzuimduur\"}]}\n  ```\n\n- **GroupBy = 1 (Department):**\n  ```json\n  {\"FileNameWithoutExtension\":\"GemiddeldeVerzuimduurPerAfdeling\",\"DateTimeFormat\":\"dd-MM-yyyy\",\"BooleanValues\":\"Ja;Nee\",\"Fields\":[{\"FieldName\":\"werkgever\",\"ReportColumnName\":\"Werkgever\"},{\"FieldName\":\"administratienummer\",\"ReportColumnName\":\"Administratienummer\"},{\"FieldName\":\"groepcode\",\"ReportColumnName\":\"Groepcode\"},{\"FieldName\":\"datumVanaf\",\"ReportColumnName\":\"DatumVanaf\"},{\"FieldName\":\"datumTotEnMet\",\"ReportColumnName\":\"DatumTotEnMet\"},{\"FieldName\":\"inclusiefVangnet\",\"ReportColumnName\":\"InclusiefVangnet\"},{\"FieldName\":\"afdeling\",\"ReportColumnName\":\"Afdeling\"},{\"FieldName\":\"aantalMeldingen\",\"ReportColumnName\":\"AantalMeldingen\"},{\"FieldName\":\"verzuimduur\",\"ReportColumnName\":\"Verzuimduur\"},{\"FieldName\":\"gemiddeldeVerzuimduur\",\"ReportColumnName\":\"GemiddeldeVerzuimduur\"}]}\n  ```\n\n- **GroupBy = 2 (Function):**\n  ```json\n  {\"FileNameWithoutExtension\":\"GemiddeldeVerzuimduurPerFunctie\",\"DateTimeFormat\":\"dd-MM-yyyy\",\"BooleanValues\":\"Ja;Nee\",\"Fields\":[{\"FieldName\":\"werkgever\",\"ReportColumnName\":\"Werkgever\"},{\"FieldName\":\"administratienummer\",\"ReportColumnName\":\"Administratienummer\"},{\"FieldName\":\"groepcode\",\"ReportColumnName\":\"Groepcode\"},{\"FieldName\":\"datumVanaf\",\"ReportColumnName\":\"DatumVanaf\"},{\"FieldName\":\"datumTotEnMet\",\"ReportColumnName\":\"DatumTotEnMet\"},{\"FieldName\":\"inclusiefVangnet\",\"ReportColumnName\":\"InclusiefVangnet\"},{\"FieldName\":\"functie\",\"ReportColumnName\":\"Functie\"},{\"FieldName\":\"aantalMeldingen\",\"ReportColumnName\":\"AantalMeldingen\"},{\"FieldName\":\"verzuimduur\",\"ReportColumnName\":\"Verzuimduur\"},{\"FieldName\":\"gemiddeldeVerzuimduur\",\"ReportColumnName\":\"GemiddeldeVerzuimduur\"}]}\n  ```",
        "parameters": [
          {
            "name": "employerId",
            "in": "path",
            "description": "The unique identifier of the employer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "example": "46df3f85-5476-4868-9f94-954cf7d5efcb"
          },
          {
            "name": "StartDate",
            "in": "query",
            "description": "The start date of the reporting period.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-01-01"
            },
            "example": "2024-01-01"
          },
          {
            "name": "EndDate",
            "in": "query",
            "description": "The end date of the reporting period.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-12-31"
            },
            "example": "2024-12-31"
          },
          {
            "name": "GroupBy",
            "in": "query",
            "description": "Specifies how to group the report data (by employee, department or function).\n\nValid values are:\n`0 = Employee (NL: Werknemer)`\n`1 = Department (NL: Afdeling)`\n`2 = Function (NL: Functie)`",
            "required": true,
            "schema": {
              "enum": [
                0,
                1,
                2
              ],
              "type": "integer",
              "format": "int32",
              "example": 1
            },
            "example": 1
          },
          {
            "name": "IncludingSafetyNet",
            "in": "query",
            "description": "Indicates whether to include safety net data (NL: inclusief vangnet) in the report. Defaults to true.",
            "schema": {
              "type": "boolean",
              "example": true
            },
            "example": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/providers/employers/{employerId}/absences/frequency/report": {
      "get": {
        "tags": [
          "Absence reports"
        ],
        "summary": "Absence frequency report",
        "description": "**Activity name**:\n  - `GetAbsenceFrequencyReportByEmployerId`\n\n**Validation errors**:\n  - `API_Absence_AbsenceFrequencyReport_StartDate_Invalid`: startDate has an invalid value.\n  - `API_Absence_AbsenceFrequencyReport_EndDate_Invalid`: endDate has an invalid value.\n  - `API_Absence_AbsenceFrequencyReport_EndDate_Before_StartDate`: Invalid date range: endDate must not be before startDate.\n  - `API_Absence_AbsenceFrequencyReport_GroupBy_Invalid`: groupBy has an invalid value.\n\n\nGenerates an absence frequency report (NL: ziekmeldingsfrequentie) for a specific employer.\n\n**Content Type Support:**\n- Use `Accept: application/pdf` header for PDF reports\n- Use `Accept: text/csv` header for CSV reports (default)\n\n**CSV Reports - Additional Header Required:**\n\nWhen requesting CSV format, include the `X-ReportInput` header with a JSON value based on your query parameters:\n\n- **GroupBy = 0 (Employee):**\n  ```json\n  {\"FileNameWithoutExtension\":\"ZiekmeldingsfrequentiePerMedewerker\",\"DateTimeFormat\":\"dd-MM-yyyy\",\"BooleanValues\":\"Ja;Nee\",\"Fields\":[{\"FieldName\":\"werkgever\",\"ReportColumnName\":\"Werkgever\"},{\"FieldName\":\"administratienummer\",\"ReportColumnName\":\"Administratienummer\"},{\"FieldName\":\"groepcode\",\"ReportColumnName\":\"Groepcode\"},{\"FieldName\":\"datumVanaf\",\"ReportColumnName\":\"DatumVanaf\"},{\"FieldName\":\"datumTotEnMet\",\"ReportColumnName\":\"DatumTotEnMet\"},{\"FieldName\":\"inclusiefVangnet\",\"ReportColumnName\":\"InclusiefVangnet\"},{\"FieldName\":\"personeelsnummer\",\"ReportColumnName\":\"Personeelsnummer\"},{\"FieldName\":\"medewerker\",\"ReportColumnName\":\"Medewerker\"},{\"FieldName\":\"aantalMeldingen\",\"ReportColumnName\":\"AantalMeldingen\"},{\"FieldName\":\"aantalPeriodeDagen\",\"ReportColumnName\":\"AantalPeriodeDagen\"},{\"FieldName\":\"ziekmeldingsFrequentie\",\"ReportColumnName\":\"ZiekmeldingsFrequentie\"}]}\n  ```\n\n- **GroupBy = 1 (Department):**\n  ```json\n  {\"FileNameWithoutExtension\":\"ZiekmeldingsfrequentiePerAfdeling\",\"DateTimeFormat\":\"dd-MM-yyyy\",\"BooleanValues\":\"Ja;Nee\",\"Fields\":[{\"FieldName\":\"werkgever\",\"ReportColumnName\":\"Werkgever\"},{\"FieldName\":\"administratienummer\",\"ReportColumnName\":\"Administratienummer\"},{\"FieldName\":\"groepcode\",\"ReportColumnName\":\"Groepcode\"},{\"FieldName\":\"datumVanaf\",\"ReportColumnName\":\"DatumVanaf\"},{\"FieldName\":\"datumTotEnMet\",\"ReportColumnName\":\"DatumTotEnMet\"},{\"FieldName\":\"inclusiefVangnet\",\"ReportColumnName\":\"InclusiefVangnet\"},{\"FieldName\":\"afdelingNummer\",\"ReportColumnName\":\"AfdelingNummer\"},{\"FieldName\":\"afdeling\",\"ReportColumnName\":\"Afdeling\"},{\"FieldName\":\"aantalMeldingen\",\"ReportColumnName\":\"AantalMeldingen\"},{\"FieldName\":\"gemiddeldeWerknemers\",\"ReportColumnName\":\"GemiddeldeWerknemers\"},{\"FieldName\":\"ziekmeldingsFrequentie\",\"ReportColumnName\":\"ZiekmeldingsFrequentie\"}]}\n  ```\n\n- **GroupBy = 2 (Function):**\n  ```json\n  {\"FileNameWithoutExtension\":\"ZiekmeldingsfrequentiePerFunctie\",\"DateTimeFormat\":\"dd-MM-yyyy\",\"BooleanValues\":\"Ja;Nee\",\"Fields\":[{\"FieldName\":\"werkgever\",\"ReportColumnName\":\"Werkgever\"},{\"FieldName\":\"administratienummer\",\"ReportColumnName\":\"Administratienummer\"},{\"FieldName\":\"groepcode\",\"ReportColumnName\":\"Groepcode\"},{\"FieldName\":\"datumVanaf\",\"ReportColumnName\":\"DatumVanaf\"},{\"FieldName\":\"datumTotEnMet\",\"ReportColumnName\":\"DatumTotEnMet\"},{\"FieldName\":\"inclusiefVangnet\",\"ReportColumnName\":\"InclusiefVangnet\"},{\"FieldName\":\"functie\",\"ReportColumnName\":\"Functie\"},{\"FieldName\":\"aantalMeldingen\",\"ReportColumnName\":\"AantalMeldingen\"},{\"FieldName\":\"gemiddeldeWerknemers\",\"ReportColumnName\":\"GemiddeldeWerknemers\"},{\"FieldName\":\"ziekmeldingsFrequentie\",\"ReportColumnName\":\"ZiekmeldingsFrequentie\"}]}\n  ```",
        "parameters": [
          {
            "name": "employerId",
            "in": "path",
            "description": "The unique identifier of the employer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "example": "46df3f85-5476-4868-9f94-954cf7d5efcb"
          },
          {
            "name": "StartDate",
            "in": "query",
            "description": "The start date of the reporting period.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-01-01"
            },
            "example": "2024-01-01"
          },
          {
            "name": "EndDate",
            "in": "query",
            "description": "The end date of the reporting period.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-12-31"
            },
            "example": "2024-12-31"
          },
          {
            "name": "GroupBy",
            "in": "query",
            "description": "Specifies how to group the report data (by employee, department or function).\n\nValid values are:\n`0 = Employee (NL: Werknemer)`\n`1 = Department (NL: Afdeling)`\n`2 = Function (NL: Functie)`",
            "required": true,
            "schema": {
              "enum": [
                0,
                1,
                2
              ],
              "type": "integer",
              "format": "int32",
              "example": 1
            },
            "example": 1
          },
          {
            "name": "IncludingSafetyNet",
            "in": "query",
            "description": "Indicates whether to include safety net data (NL: inclusief vangnet) in the report. Defaults to true.",
            "schema": {
              "type": "boolean",
              "example": true
            },
            "example": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/providers/employers/{employerId}/absences/open/report": {
      "get": {
        "tags": [
          "Absence reports"
        ],
        "summary": "Open absences report (detailed)",
        "description": "**Activity name**:\n  - `GetOpenAbsencesReportByEmployerId`\n\n**Validation errors**:\n  - `API_Absence_OpenAbsencesReport_ReferenceDate_Invalid`: referenceDate has an invalid value.\n\n\nGenerates a detailed report of all open absences (NL: openstaande ziekmeldingen - uitgebreid) for a specific employer at a given reference date.\n\n**Content Type Support:**\n- Use `Accept: application/pdf` header for PDF reports\n- Use `Accept: text/csv` header for CSV reports (default)\n\n**CSV Reports - Additional Header Required:**\n\nWhen requesting CSV format, include the `X-ReportInput` header with a JSON value:\n\n  ```json\n  {\"FileNameWithoutExtension\":\"OpenstaandeZiekmeldingenUitgebreid\",\"DateTimeFormat\":\"dd-MM-yyyy\",\"Fields\":[{\"FieldName\":\"werkgever\",\"ReportColumnName\":\"Werkgever\"},{\"FieldName\":\"administratienummer\",\"ReportColumnName\":\"Administratienummer\"},{\"FieldName\":\"groepcode\",\"ReportColumnName\":\"Groepcode\"},{\"FieldName\":\"peildatum\",\"ReportColumnName\":\"Peildatum\"},{\"FieldName\":\"personeelsnummer\",\"ReportColumnName\":\"Personeelsnummer\"},{\"FieldName\":\"volledigeNaam\",\"ReportColumnName\":\"VolledigeNaam\"},{\"FieldName\":\"afdeling\",\"ReportColumnName\":\"Afdeling\"},{\"FieldName\":\"functie\",\"ReportColumnName\":\"Functie\"},{\"FieldName\":\"datumZiekmelding\",\"ReportColumnName\":\"DatumZiekmelding\"},{\"FieldName\":\"urenGewerkt\",\"ReportColumnName\":\"UrenGewerkt\"},{\"FieldName\":\"percentageArbeidsongeschiktheid\",\"ReportColumnName\":\"PercentageArbeidsongeschiktheid\"},{\"FieldName\":\"reden\",\"ReportColumnName\":\"Reden\"},{\"FieldName\":\"verbijzondering\",\"ReportColumnName\":\"Verbijzondering\"},{\"FieldName\":\"gewensteControle\",\"ReportColumnName\":\"GewensteControle\"},{\"FieldName\":\"specificatieOngeval\",\"ReportColumnName\":\"SpecificatieOngeval\"},{\"FieldName\":\"datumHersteld\",\"ReportColumnName\":\"DatumHersteld\"},{\"FieldName\":\"redenHersteld\",\"ReportColumnName\":\"RedenHersteld\"},{\"FieldName\":\"mobiliteitsprobleem\",\"ReportColumnName\":\"Mobiliteitsprobleem\"},{\"FieldName\":\"geschatteDuur\",\"ReportColumnName\":\"GeschatteDuur\"},{\"FieldName\":\"verhaalbaar\",\"ReportColumnName\":\"Verhaalbaar\"},{\"FieldName\":\"vermoedelijkeBevallingsDatum\",\"ReportColumnName\":\"VermoedelijkeBevallingsDatum\"},{\"FieldName\":\"eindeBevallingsverlof\",\"ReportColumnName\":\"EindeBevallingsverlof\"},{\"FieldName\":\"opname\",\"ReportColumnName\":\"Opname\"},{\"FieldName\":\"soortVerpleegadres\",\"ReportColumnName\":\"SoortVerpleegadres\"},{\"FieldName\":\"verpleegadresNaam\",\"ReportColumnName\":\"VerpleegadresNaam\"},{\"FieldName\":\"straatnaam\",\"ReportColumnName\":\"Straatnaam\"},{\"FieldName\":\"huisnummer\",\"ReportColumnName\":\"Huisnummer\"},{\"FieldName\":\"huisnummertoevoeging\",\"ReportColumnName\":\"Huisnummertoevoeging\"},{\"FieldName\":\"postcode\",\"ReportColumnName\":\"Postcode\"},{\"FieldName\":\"plaatsnaam\",\"ReportColumnName\":\"Plaatsnaam\"},{\"FieldName\":\"land\",\"ReportColumnName\":\"Land\"},{\"FieldName\":\"casemanagerNaam\",\"ReportColumnName\":\"CasemanagerNaam\"},{\"FieldName\":\"planVanAanpak\",\"ReportColumnName\":\"PlanVanAanpak\"},{\"FieldName\":\"doelReintegratie\",\"ReportColumnName\":\"DoelReintegratie\"},{\"FieldName\":\"datumIngang\",\"ReportColumnName\":\"DatumIngang\"},{\"FieldName\":\"datumEinde\",\"ReportColumnName\":\"DatumEinde\"},{\"FieldName\":\"percentageAO\",\"ReportColumnName\":\"PercentageAO\"},{\"FieldName\":\"soortWerkhervatting\",\"ReportColumnName\":\"SoortWerkhervatting\"}]}\n  ```",
        "parameters": [
          {
            "name": "employerId",
            "in": "path",
            "description": "The unique identifier of the employer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "example": "46df3f85-5476-4868-9f94-954cf7d5efcb"
          },
          {
            "name": "ReferenceDate",
            "in": "query",
            "description": "Reference date used to determine which sick leave registrations are considered \"open\" at a specific point in time.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-06-01"
            },
            "example": "2024-06-01"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              },
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Vsp.ApiBase.OpenApi.Examples.BadRequestDetailResponse": {
        "type": "object",
        "properties": {
          "version": {
            "$ref": "#/components/schemas/Vsp.Infrastructure.ResourceVersionModel"
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Vsp.ApiBase.OpenApi.Examples.BadRequestOperationMessage"
            },
            "nullable": true
          },
          "content": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Vsp.ApiBase.OpenApi.Examples.BadRequestOperationMessage": {
        "type": "object",
        "properties": {
          "messageCode": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "properties": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Vsp.ApiBase.OpenApi.Examples.ForbiddenResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "errorCode": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Vsp.ApiBase.OpenApi.Examples.UnauthorizedResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Vsp.Infrastructure.DetailResult`1[[Vsp.Infrastructure.Interface.IFileModel, Vsp.Infrastructure, Version=9.0.3.0, Culture=neutral, PublicKeyToken=null]]": {
        "type": "object",
        "properties": {
          "content": {
            "$ref": "#/components/schemas/Vsp.Infrastructure.Interface.IFileModel"
          },
          "version": {
            "$ref": "#/components/schemas/Vsp.Infrastructure.ResourceVersionModel"
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Vsp.Infrastructure.OperationMessage"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Vsp.Infrastructure.Interface.IFileModel": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "mimeType": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Vsp.Infrastructure.OperationMessage": {
        "type": "object",
        "properties": {
          "exception": {
            "nullable": true
          },
          "messageCode": {
            "type": "string",
            "nullable": true
          },
          "messageType": {
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5,
              6
            ],
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "properties": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Vsp.Infrastructure.ResourceVersionModel": {
        "type": "object",
        "properties": {
          "obsoleteDate": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "resourceVersion": {
            "type": "string",
            "format": "date"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "oauth2": {
        "type": "oauth2",
        "flows": {
          "password": {
            "tokenUrl": "https://oauth.loket.nl/token",
            "scopes": { }
          }
        }
      },
      "Bearer": {
        "type": "apiKey",
        "description": "Authorization header using the Bearer scheme. \n Enter 'Bearer' [space] and then your token in the text input below.\nExample: \"Bearer 12345abcdef\"",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "oauth2": [ ]
    },
    {
      "Bearer": [ ]
    }
  ],
  "tags": [
    {
      "name": "Absence reports",
      "description": "Absence reports (NL: Ziekteverzuim rapporten)"
    }
  ]
}