@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Loket.nl API
@base https://api.loket.nl
@version V2
@auth ApiKey Authorization in header
@common_fields {Authorization: str # A valid Bearer token for authorizing the request., Accept: str # The accept header is used to influence what type of output is returned and in most cases the version of the output}
@endpoints 1087
@hint download_for_search
@toc providers(1014), automaticpayroll(6), authorizationmodel(1), users(11), payrollcomponent(2), qwoatermicroservice(5), billing(2), year(4), person(1), wageprojection(2), rdwservices(1), achmeainsurancecontracts(2), qwoater(1), user(6), globalfilter(2), locationservices(1), address(1), route(1), aowDate(1), chamberofcommerce(1), datanewbusiness(2), applications(2), applicationset(13), provider(4), payrolltaxreturn(1)

@group providers
@endpoint GET /v2/providers/employers/employees/{employeeId}/absences
@desc List of absences for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/absences
@desc Create an Absence for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}/absences/overview
@desc Download the absence overview for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee, startDate: str # The start date, endDate: str # The end date}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/absences/{absenceId}
@desc Details of an Absence
@required {absenceId: str(uuid) # The unique identifier of an absence}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/absences/{absenceId}
@desc Edit the details of a Absence
@required {absenceId: str(uuid) # The unique identifier of an absence}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/absences/{absenceId}
@desc Delete a specific absence record
@required {absenceId: str(uuid) # The unique identifier of an absence}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/absences/{absenceId}/closeabsence
@desc Close an absence
@required {absenceId: str(uuid) # The unique identifier of an absence}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/absences/{absenceId}/reopenabsence
@desc Reopen an absence
@required {absenceId: str(uuid) # The unique identifier of an absence}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/absences/{absenceId}/absenceprogress
@desc List of absence progress for an absence
@required {absenceId: str(uuid) # The unique identifier of an absence}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/absences/{absenceId}/absenceprogress
@desc Create an Absence Progress for an Absence
@required {absenceId: str(uuid) # The unique identifier of an absence}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/absences/absenceprogress/{absenceProgressId}
@desc Details of an Absence Progress
@required {absenceProgressId: str(uuid) # The unique identifier of an absence progress}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/absences/absenceprogress/{absenceProgressId}
@desc Edit the details of an absence progress
@required {absenceProgressId: str(uuid) # The unique identifier of an absence progress}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/absences/absenceprogress/{absenceProgressId}
@desc Delete a specific Absence Progress record
@required {absenceProgressId: str(uuid) # The unique identifier of an absence progress}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/absences/{absenceId}/absencecontactHistory
@desc Contact history for an absence
@required {absenceId: str(uuid) # The unique identifier of an absence}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/absences/{absenceId}/absencecontactHistory
@desc Create a contact history for an Absence
@required {absenceId: str(uuid) # The unique identifier of an absence}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/absences/absencecontactHistory/{absencecontactHistoryId}
@desc Details of a contact history
@required {absencecontactHistoryId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/absences/absencecontactHistory/{absencecontactHistoryId}
@desc Edit the details of a contact history
@required {absencecontactHistoryId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/absences/absencecontactHistory/{absencecontactHistoryId}
@desc Delete a specific record
@required {absencecontactHistoryId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/absences/statistics/data
@desc basic absence statistics
@required {employerId: str(uuid) # The unique identifier of the employer, startYearMonth: str # The start year and month of the absence overview, endYearMonth: str # The end year and month of the absence overview}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/administrations
@desc List of administrations for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/administrations
@desc List of administrations
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/payrolladministrations
@desc List of payroll administrations for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/payrolladministrations
@desc Add a payroll administration
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}
@desc Details of a payroll administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/payrolladministrations/configurations
@desc List of payroll administrations configurations for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/configurations
@desc Details of a payroll administration configuration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/configurations
@desc Edit a payroll administration configuration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group automaticpayroll
@endpoint GET /automaticpayroll/payrolladministrations/{payrollAdministrationId}/automaticpayrollconfiguration
@desc Automatic payroll configuration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /automaticpayroll/payrolladministrations/{payrollAdministrationId}/automaticpayrollconfiguration
@desc edit the automatic payroll configuration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /automaticpayroll/payrolladministrations/years/{yearId}/automaticpayrolldates
@desc Automatic payroll dates
@required {yearId: str(uuid) # The guid of the payroll year}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /automaticpayroll/payrolladministrations/years/{yearId}/automaticpayrolldates
@desc create a new automatic payroll date
@required {yearId: str(uuid) # The guid of the payroll year}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 500: Internal Server Error}

@endpoint PATCH /automaticpayroll/payrolladministrations/years/automaticpayrolldates/{automaticPayrollDateId}
@desc edit an automatic payroll date
@required {automaticPayrollDateId: str(uuid) # The unique identifier of the automatic payroll date.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /automaticpayroll/payrolladministrations/years/automaticpayrolldates/{automaticPayrollDateId}
@desc delete an automatic payroll date
@required {automaticPayrollDateId: str(uuid) # The unique identifier of the automatic payroll date.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group authorizationmodel
@endpoint GET /authorizationmodel
@desc The authorization model
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/{employerId}/nonpayrolladministrations
@desc List of non payroll administrations for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/nonpayrolladministrations
@desc Add a non payroll administration
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/nonpayrolladministrations/{nonPayrollAdministrationId}
@desc Details of a non payroll administration
@required {nonPayrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/nonpayrolladministrations/{nonPayrollAdministrationId}
@desc Edit a non payroll administration
@required {nonPayrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/availablepayrollcomponentsets
@desc Available payroll component sets
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollcomponentsets
@desc Payroll component sets
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollcomponentsets
@desc Add an Payroll component set
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollcomponentsets/{payrollComponentSetId}
@desc Details of an payroll component set
@required {payrollComponentSetId: str(uuid) # The unique identifier of the payroll component set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/payrolladministrations/payrollcomponentsets/{payrollComponentSetId}
@desc Edit an payroll component set
@required {payrollComponentSetId: str(uuid) # The unique identifier of the payroll component set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrolladministrations/payrollcomponentsets/{payrollComponentSetId}
@desc Delete an Payroll component set
@required {payrollComponentSetId: str(uuid) # The unique identifier of the payroll component set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/payrollcomponentsets
@desc Payroll component sets (provider level)
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/payrollcomponentsets
@desc Add an Payroll component set (provider level)
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/payrollcomponentsets/{payrollComponentSetId}
@desc Details of an payroll component set (provider level)
@required {payrollComponentSetId: str(uuid) # The unique identifier of the payroll component set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/payrollcomponentsets/{payrollComponentSetId}
@desc Edit an payroll component set (provider level)
@required {payrollComponentSetId: str(uuid) # The unique identifier of the payroll component set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/payrollcomponentsets/{payrollComponentSetId}
@desc Delete an Payroll component set (provider level)
@required {payrollComponentSetId: str(uuid) # The unique identifier of the payroll component set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollcomponents/year/{year}
@desc Payroll components
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, year: int(int32) # The payroll year}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/employmentfunds/year/{year}
@desc Employment funds for an administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, year: int(int32) # The payroll year}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/abpfunds/year/{year}
@desc Abp funds for an administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, year: int(int32) # The payroll year}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group users
@endpoint GET /users/collectiveactions
@desc List of collective actions for a user
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /users/collectiveactions/{collectiveActionId}
@desc List of messages of a collective action
@required {collectiveActionId: str(uuid) # The unique identifier of the collective action}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/{employerId}/employmentActualMasterDataReport
@desc Download actual master data report (Stamgegevens actueel)
@required {employerId: str(uuid) # The unique identifier of the employer, referenceDate: str(date) # Set a reference date for choosing the date dependent data.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employmentMasterDataReport
@desc Download master data report (Stamgegevens)
@required {employerId: str(uuid) # The unique identifier of the employer, referenceDate: str(date) # Set a reference date for choosing the date dependent data., includeEmploymentsThatEndedBeforeReferenceDate: bool # If set to true records with an enddate before the reference will be included in the output.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/fiscalCompanyCarReport
@desc Download the fiscal company car report (Auto van de zaak)
@required {employerId: str(uuid) # The unique identifier of the employer, referenceDate: str(date) # Set a reference date for choosing the date dependent data., includeEmploymentsThatEndedBeforeReferenceDate: bool # If set to true records with an enddate before the reference will be included in the output.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/annualpayrolltaxreturnreport
@desc Download annual payroll tax return report
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, reportYear: int # A valid year for which the information is requested.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/annualwagesheetreport
@desc Download annual wage sheet report
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {reportYear: int # A valid year for which the information is requested., startPeriod: int # First period (=from) of the requested timebox. Use the format 'YYYYPP', endPeriod: int # Last period (=up to and including) of the requested timebox. Use the following 'YYYYPP'}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/annualpawwdeclarationreport
@desc Download annual PAWW declaration report
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {reportYear: int # A valid year for which the information is requested.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrolladministrationsettingsreport
@desc Download payroll administration configuration report
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, reportYear: int # A valid year for which the information is requested.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/accumulationsandbalancesreport
@desc Download accumulations and balances reports
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, reportType: str(baseForCalculationBalancesAtStartOfYear/leaveBalancesAtStartOfYear/leaveAccrualWithinYear) # The type of report that is requested., reportYear: int # A valid year for which the information is requested.}
@optional {includeEmploymentsThatEndedBeforeStartOfTheYear: bool # If set to true employments with an enddate before the start of the reportYear will be included in the output.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/accumulatedbasicjournalresultsreport
@desc Download accumulated basic journal results report
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, reportType: str(nonAggregated/aggregatedPerGeneralLedgerAccount) # The type of report that is requested., groupingType: str(perPeriod/perDistributionUnit/perPeriodPerDistributionUnit) # The type of grouping that is requested. This affects the way the data is presented within the given report., startPeriod: int # First period (=from) of the requested timebox. Use the format 'YYYYPP', endPeriod: int # Last period (=up to and including) of the requested timebox. Use the following 'YYYYPP'}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/deviatingpremiumswab
@desc Download WAB deviations report
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, reportYear: int # A valid year for which the information is requested.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/attachmentsofearningsreport
@desc Download attachment of earnings report
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, reportYear: int # A valid year for which the information is requested.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/accumulatedjournalrunresultsreport"
@desc Download accumulated journalrun results report
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, startPeriod: int # First period (=from) of the requested timebox. Use the format 'YYYYPP', endPeriod: int # Last period (=up to and including) of the requested timebox. Use the following 'YYYYPP', reportJournalNumber: int(int32) # Dagboeknummer., reportVoucherNumber: int(int32) # Boekstuknummer., financialYear: int(int32) # fiscal year., period: int(int32) # fiscal period., date: str(date) # Date}
@optional {reportDescription: str # Omschrijving to be shown on the overview.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollPeriodDataReport
@desc Download annual wage sheet report
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrollPeriodId: int # The payrollperiod the report will return data for. Use the format 'YYYYPP'}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/PayrollAuditReport"
@desc Download payroll audit report
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/employmentActualMasterDataReport
@desc Download actual master data report (Stamgegevens actueel)
@required {employmentId: str(uuid) # The unique identifier of the employment, referenceDate: str(date) # Set a reference date for choosing the date dependent data.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/employmentMasterDataReport
@desc Download master data report (Stamgegevens)
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollPeriods/{payrollPeriodId}/payrollperioddata
@desc List of payroll period data on payroll administration level
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrollPeriodId: int(int32) # The unique identifier of the payroll period, payslipType: int(int32) # Controles which payroll period data is returned either for the normal payslip of the tarif payslip.}
@optional {payrollComponentSet: str(uuid) # A predefined set of payroll components to filter which payroll components are returned.  __Note:__ Either `payrollComponentSet` or `payrollComponentCategory` or `payrollComponentId` must have a value., payrollComponentCategory: int(int32) # A predefined category of payroll components to filter which payroll components are returned.  __Note:__ Either `payrollComponentSet` or `payrollComponentCategory` or `payrollComponentId` must have a value., payrollComponentId: int(int32) # A payroll components to filter on.  __Note:__ Either `payrollComponentSet` or `payrollComponentCategory` or `payrollComponentId` must have a value.  This parameter will soon become available., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group payrollcomponent
@endpoint POST /payrollcomponent/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollPeriods/{payrollPeriodId}/payrollperioddata/smartpaste
@desc Initiate a Smart Paste on payroll period data on administration level
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrollPeriodId: int(int32) # The unique identifier of the payroll period.}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /payrollcomponent/providers/employers/payrolladministrations/payrollPeriods/payrollperioddata/smartpaste/{smartPasteId}
@desc Results of Smart Paste on payroll period data
@required {smartPasteId: str(uuid) # The unique identifier of the Smart Paste action., employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/import/payrollperioddata"
@desc Import payroll period data for an employer
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrollPeriodId: int(int32) # The unique identifier of the payroll period, payslipType: int(int32) # Controles which payroll period data is returned either for the normal payslip of the tarif payslip., processingMethod: int(int32) # The method of processing data when existing values are found. (overwrite, do not overwrite, add up)}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/import/payrollperioddata"
@desc Import payroll period data for several employers
@required {payrollPeriodId: int(int32) # The unique identifier of the payroll period, payslipType: int(int32) # Controles which payroll period data is returned either for the normal payslip of the tarif payslip., processingMethod: int(int32) # The method of processing data when existing values are found. (overwrite, do not overwrite, add up)}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/workflowtriggers
@desc Get Workflow Triggers by Employer ID
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/workflowtriggers/workflowtemplates/{workflowTemplateId}
@desc Get Workflow Template
@required {workflowTemplateId: str(uuid) # The unique identifier of the workflow template.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/workflowtriggers/workflowtemplates/{workflowTemplateId}
@desc Edit a workflow template
@required {workflowTemplateId: str(uuid) # The unique identifier of the workflow template.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/workflowtriggers/workflowtemplates/{workflowTemplateId}
@desc Delete a workflow template
@required {workflowTemplateId: str(uuid) # The unique identifier of the workflow template.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/workflowtriggers/{workflowTriggerId}/workflowtemplates
@desc Create a workflow template for a given employer and workflow trigger
@required {employerId: str(uuid) # The unique identifier of the employer, workflowTriggerId: str(uuid) # The unique identifier of the workflow trigger.}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/workflowtriggermappings
@desc Workflowtrigger to workflowtemplate mapping
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/workflowtriggermappings
@desc Create a workflow trigger mapping record for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/workflowtriggermappings/{workflowTriggerMappingId}
@desc Details of a workflow trigger mapping record
@required {workflowTriggerMappingId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/workflowtriggermappings/{workflowTriggerMappingId}
@desc Edit the details of a workflow trigger mapping record
@required {workflowTriggerMappingId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/workflowtriggermappings/{workflowTriggerMappingId}
@desc Delete a specific workflow trigger mapping record
@required {workflowTriggerMappingId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/changeaddressrequest
@desc Start the change address workflow for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/changecontactinformationrequest
@desc Start the change contactinformation workflow for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/workflow/InitiateChangeAddress
@desc Initiate the change address workflow for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/workflow/InitiateChangeContactInformation
@desc Initiate the change contact information workflow for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/workflow/InitiateChangePersonalInformation
@desc Initiate the change personal information workflow for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/workflow/InitiateManagePartners
@desc Initiate the change partner information workflow for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/workflow/InitiateManageContacts
@desc Initiate the manage contact workflow for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/workflow/InitiateDeclaration
@desc Initiate the declaration workflow for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/workflow/{workflowId}/initiatedDeclaration
@desc Change the details of a declaration
@required {workflowId: str(uuid) # The unique identifier of the record}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/workflow/InitiateChangeIban
@desc Initiate the change IBAN workflow for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/workflow/InitiateLeaveRequest
@desc Initiate the leave request workflow for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/workflow/{workflowId}/InitiatedLeaveRequest
@desc Change the details of a leave request
@required {workflowId: str(uuid) # The unique identifier of the record}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/leaveRequests/{leaveRequestId}/workflow/WithdrawLeaveRequest
@desc Initiate the withdraw leave request workflow for a leave request
@required {leaveRequestId: str(uuid) # The unique identifier of the leave request, employmentId: str(uuid) # The id of the employment.}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/workflows/initiatecontractextension
@desc Initiate the contract extension workflow for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/workflows/initiateterminateemployment
@desc Initiate the employment termination workflow
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/workflow/{workflowId}/attachment
@desc Download attachment
@required {workflowId: str(uuid) # The unique identifier of the record}
@returns(200) OK. Output type may be of any extension type that is supported by Qwoater.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/workflow/{workflowId}/attachment
@desc Upload attachment
@required {workflowId: str(uuid) # The unique identifier of the record}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group qwoatermicroservice
@endpoint GET /qwoatermicroservice/providers/employers/employees/employments/{employmentId}/workflows/withattachment
@desc Check if a list of workflowId's for an employment have an attachment
@required {employmentId: str(uuid) # The unique identifier of the employment, workflowIds: str(uuid) # WorkflowIds for which the attachment is available. This parameter may be included multiple times to indicate multiple workflowIds.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /qwoatermicroservice/providers/employers/{employerId}/employees/employments/workflows/withattachment
@desc Check if a list of workflowId's for an employer have an attachment
@required {employerId: str(uuid) # The unique identifier of the employer, workflowIds: str(uuid) # WorkflowIds for which the attachment is available. This parameter may be included multiple times to indicate multiple workflowIds.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint PATCH /v2/providers/employers/workflows/{workflowId}/cancel
@desc Cancel a workflow
@required {workflowId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/assignedworkflows
@desc Workflows assigned to the user
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group users
@endpoint GET /users/initiatedworkflows
@desc Workflows initiated by the user
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page, workflowFilters: map # Dynamic workflow filter. If a parameter is provided multiple times, only the first occurrence is processed.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/{employerId}/workflows
@desc Workflows for the employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/workflows/{workflowId}
@desc Details of a workflow
@required {workflowId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/workflows/{workflowId}/transition
@desc Allows the user to transition the workflow.
@required {workflowId: str(uuid) # The unique identifier of the record}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/workflows
@desc Workflows for the employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/workflows/{workflowId}/workflowprogress
@desc Progress of a Workflow
@required {workflowId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees
@desc List of employees for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page, X-ReportInput: str # Allows the user set what values are returnd in the "export" (csv or excel).}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}
@desc Details of an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/{employeeId}
@desc Edit the details of an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/{employeeId}
@desc Change the email address for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}/contacts
@desc List of contacts for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/contacts
@desc Create a contact for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/contacts/{contactId}
@desc Details of a single contact
@required {contactId: str(uuid) # The unique identifier of the employee contact detail}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/contacts/{contactId}
@desc Edit a contact
@required {contactId: str(uuid) # The unique identifier of the employee contact detail}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/contacts/{contactId}
@desc Delete a specific contact
@required {contactId: str(uuid) # The unique identifier of the employee contact detail}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}/children
@desc List of children for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/children
@desc Create an child for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/children/{childId}
@desc Details of a child
@required {childId: str(uuid) # The unique identifier of a child}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/children/{childId}
@desc Edit the details of a child
@required {childId: str(uuid) # The unique identifier of a child}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/children/{childId}
@desc Delete a specific child record
@required {childId: str(uuid) # The unique identifier of a child}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}/occupationaldisabilities
@desc List of occupational disabilities for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}/partners
@desc List of partners for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/partners
@desc Create the partner for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/partners/{partnerId}
@desc Details of a single partner
@required {partnerId: str(uuid) # The unique identifier of a partner}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/partners/{partnerId}
@desc Edit the details for a partner
@required {partnerId: str(uuid) # The unique identifier of a partner}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/partners/{partnerId}
@desc Delete a specific partner record
@required {partnerId: str(uuid) # The unique identifier of a partner}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}/citizenservicenumber
@desc Citizen service number of an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/{employeeId}/citizenservicenumber
@desc Update the citizen service number of an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}/photo
@desc Photo of an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/photo
@desc Post employee photo
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/{employeeId}/photo
@desc Delete employee photo
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}/photo/{version}
@desc Photo of an employee
@required {employeeId: str(uuid) # The unique identifier of the employee, version: str(uuid) # An optional guid generated for caching. The value does not influence the output of this function. The Employee resource returns the URI of the current photo.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/employee
@desc Create a new employee in Loket
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/{employeeId}/revokeEmployeeSelfServiceAccess
@desc Set the date on which to revoke ESS access
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}/customfields
@desc List employee custom fields for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/customfields
@desc Add an employee custom field for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/customfields/{employeeCustomFieldId}
@desc Details of an employee custom field
@required {employeeCustomFieldId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/customfields/{employeeCustomFieldId}
@desc Edit an employee custom field record
@required {employeeCustomFieldId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/customfields/{employeeCustomFieldId}
@desc Delete an employee custom field record
@required {employeeCustomFieldId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers
@desc List of employers
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/minimized
@desc List of employers with fewer fields for performance reasons
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/employers
@desc Create an employer
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/employers/minimized
@desc List of all employers for the provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/employers/informationForWizard
@desc Determine which steps of the add employer wizard the user can perform
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}
@desc Details of an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/{employerId}
@desc Edit the details of an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/childEmployers
@desc List of child employers accessible to the current user
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page, includeParent: bool # Determines whether the information of the parent employer should be included in the response. If not provided, this parameter defaults to `false` and the response will not include the information of the parent.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/functions
@desc List of functions
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/functions
@desc Create a function for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/functions/{functionId}
@desc Details of a function
@required {functionId: str(uuid) # The unique identifier of the function}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/functions/{functionId}
@desc Edit the details of a function
@required {functionId: str(uuid) # The unique identifier of the function}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/departments
@desc List of departments
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/departments
@desc Create a department for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/departments/{departmentId}
@desc Details of a department
@required {departmentId: str(uuid) # The unique identifier of the department}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/departments/{departmentId}
@desc Edit the details of a department
@required {departmentId: str(uuid) # The unique identifier of the department}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/useraccessibledepartments
@desc List of user accessible departments
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/logo
@desc Logo of an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/{employerId}/logo
@desc Delete the employer logo
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/logo
@desc Upload a logo for the employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/logo/{version}
@desc Logo of an employer
@required {employerId: str(uuid) # The unique identifier of the employer, version: str(uuid) # An optional guid generated for caching. The value does not influence the output of this function. The Employer resource returns the URI of the current logo.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/providerlogo
@desc Provider logo
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/providerlogo/{version}
@desc Provider logo
@required {employerId: str(uuid) # The unique identifier of the employer, version: str(uuid) # An optional guid generated for caching. The value does not influence the output of this function. The Employer resource returns the URI of the current logo.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/dashboard
@desc Dashboard of an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/customfields
@desc List custom fields for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/customfields
@desc Add a custom field for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/customfields/{customFieldId}
@desc Details of a custom field
@required {customFieldId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/customfields/{customFieldId}
@desc Edit a custom field record
@required {customFieldId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/customfields/{customFieldId}
@desc Delete a custom field record
@required {customFieldId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/educationtypes
@desc List education types for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/educationtypes
@desc Add an education type for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/educationtypes/{educationTypeId}
@desc Details of an education type
@required {educationTypeId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/educationtypes/{educationTypeId}
@desc Edit an education type record
@required {educationTypeId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/educationtypes/{educationTypeId}
@desc Delete an education type record
@required {educationTypeId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/educationfurtherindications
@desc List education further indications for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/educationfurtherindications
@desc Add an education further indication for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/educationfurtherindications/{educationFurtherIndicationId}
@desc Details of an education further indication
@required {educationFurtherIndicationId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/educationfurtherindications/{educationFurtherIndicationId}
@desc Edit an education further indication record
@required {educationFurtherIndicationId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/educationfurtherindications/{educationFurtherIndicationId}
@desc Delete an education further indication record
@required {educationFurtherIndicationId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/contractcodes
@desc List contract codes for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/contractcodes
@desc Add a contract code for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/contractcodes/{contractCodeId}
@desc Details of a contract code
@required {contractCodeId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/contractcodes/{contractCodeId}
@desc Edit a contract code record
@required {contractCodeId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/contractcodes/{contractCodeId}
@desc Delete a contract code record
@required {contractCodeId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/benefitinkindtypes
@desc List benefit in kind types for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/benefitinkindtypes
@desc Add an benefit in kind type for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/benefitinkindtypes/{benefitInKindTypeId}
@desc Details of an benefit in kind type
@required {benefitInKindTypeId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/benefitinkindtypes/{benefitInKindTypeId}
@desc Edit an benefit in kind type record
@required {benefitInKindTypeId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/benefitinkindtypes/{benefitInKindTypeId}
@desc Delete an benefit in kind type record
@required {benefitInKindTypeId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/customholidays
@desc List custom holidays for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/customholidays
@desc Add a custom holiday for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/customholidays/{customHolidayId}
@desc Details of a custom holiday
@required {customHolidayId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/customholidays/{customHolidayId}
@desc Edit a custom holiday record
@required {customHolidayId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/customholidays/{customHolidayId}
@desc Delete a custom holiday record
@required {customHolidayId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group billing
@endpoint GET /billing/providers/employers/{employerId}/billableitems
@desc List of billable items for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/{employerId}/nationalholidays
@desc List of national holidays
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/nationalholidays/{nationalHolidayId}
@desc Details of a national holiday
@required {employerId: str(uuid) # The unique identifier of the employer, nationalHolidayId: str(uuid) # The unique identifier of the national holiday}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/{employerId}/nationalholidays/{nationalHolidayId}
@desc Edit the details of a national holidays
@required {employerId: str(uuid) # The unique identifier of the employer, nationalHolidayId: str(uuid) # The unique identifier of the national holiday}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/configuration
@desc Employer configuration
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/{employerId}/configuration
@desc Edit Employer configuration
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/distributionunits
@desc List of distribution units
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/distributionunits
@desc Create a distribution unit for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/distributionunits/{distributionUnitId}
@desc Details of a distribution unit
@required {distributionUnitId: str(uuid) # The unique identifier of the distribution unit}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/distributionunits/{distributionUnitId}
@desc Edit the details of a distribution unit
@required {distributionUnitId: str(uuid) # The unique identifier of the distribution unit}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endgroup

@group year
@endpoint PATCH /year/providers/employers/payrolladministrations/{payrollAdministrationId}/years/{yearId}/requestyeartransition
@desc Request year transition
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, yearId: str(uuid) # The guid of the payroll year}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint PATCH /year/providers/employers/payrolladministrations/years/{yearId}/undorequestyeartransition
@desc Undo request year transition
@required {yearId: str(uuid) # The guid of the payroll year}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint POST /year/providers/employers/payrolladministrations/years/{yearId}/requestyeartransition
@desc Request year transition collective
@required {yearId: str(uuid) # The guid of the payroll year}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/{employerId}/conceptemployees/selfservice
@desc List of Concept employee's and their ESS (WNL) status
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}/selfservice
@desc Details of a Concept employee self service portal status
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/selfservice
@desc List of employee's and their ESS (WNL) status
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/employees/selfservice
@desc Change the ESS access for several employees
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}/selfservice
@desc Details of and employees self service portal status
@required {employeeId: str(uuid) # The unique identifier of the employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/selfservice
@desc Change the employee's self service (ESS) access
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/selfservice/migration
@desc List of all employees with ESS access (to be migrated to MijnLoket)
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group person
@endpoint GET /person/account/person/employees/{employeeId}/information
@desc username and emailAddress of the connected account
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/{employerId}/employees/essaccessstatus
@desc List of employee's ESS access status
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/employees/essaccessstatus
@desc Change the ESS access for several employees
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/authorizations
@desc List of authorized activities with regard to the employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/authorizations
@desc List of authorized activities with regard to the provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/modules
@desc List of modules enabled for the employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/modules
@desc Enable or disable modules for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/modules
@desc List of modules enabled for the provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/conceptemployees
@desc List of concept employee for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/conceptemployees
@desc Create a concept employee for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/minimized/{conceptEmployeeId}
@desc Details of a concept employee with fewer fields.
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/conceptemployees/minimized/{conceptEmployeeId}
@desc Edit the details of a concept employee with fewer fields.
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}
@desc Details of a concept employee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/conceptemployees/{conceptEmployeeId}
@desc Edit the details of a concept employee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/conceptemployees/{conceptEmployeeId}
@desc Delete a concept employee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@optional {deleteDocuments: bool # If true, all underlying documents will be deleted.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}/citizenservicenumber
@desc Citizen service number of a concept employee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/conceptemployees/{conceptEmployeeId}/citizenservicenumber
@desc Update the citizen service number of a concept employee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/conceptemployees/{conceptEmployeeId}/convertToEmployee
@desc Convert a concept employee to an employee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@optional {X-ValidateOnly: bool # If set to true only the validations will be performed no changes will be committed.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/metadata/payrollAdministration/{payrollAdministrationId}/payScale/{payscaleKey}/paygrade/{paygradeKey}
@desc Paygrade metadata for concept employee
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payscaleKey: int # Key for specific payscale, paygradeKey: int # Key for specific paygrade}
@optional {date: str(date) # A valid date (xxxx-xx-xx), filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}/preboardingtrajectory
@desc Get the preboarding trajectory of a concept employee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(200) Ok
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/conceptemployees/{conceptEmployeeId}/preboardingtrajectory
@desc Change status of a preboarding trajectory
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(200) Ok
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/conceptemployees/{conceptEmployeeId}/preboardingtrajectory
@desc Add a preboarding trajectory
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/employees/employments/actualpaygradeamounts
@desc PayGradeAmounts for the employments
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK

@endpoint POST /v2/providers/employers/conceptemployees/{conceptEmployeeId}/assessment/initiate
@desc Initiate assessment
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(202) Initiated
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/assessments
@desc List of assessments
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}/contactpersons
@desc List of contact persons for a concept employee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/conceptemployees/{conceptEmployeeId}/contactpersons
@desc Create a contact person for a concept employee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}/contactpersons/metadata
@desc Metadata for contact person creation
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/conceptemployees/contactpersons/{contactPersonId}
@desc Edit a contact person
@required {contactPersonId: str(uuid) # The unique identifier of the concept employee contact person}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/conceptemployees/contactpersons/{contactPersonId}
@desc Delete a specific contact person
@required {contactPersonId: str(uuid) # The unique identifier of the concept employee contact person}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/contactpersons/{contactPersonId}/metadata
@desc Metadata for contact person update
@required {contactPersonId: str(uuid) # The unique identifier of the concept employee contact person}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/notifications
@desc Get a list of notifications for an employer.
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/notifications
@desc Notifications at providerlevel.
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page, includeRead: bool=false # Include the read items}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/notifications
@desc Mark one or more notifications as read.
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/notifications/summary
@desc Number of unread notifications per employer.
@optional {startDate: str # The start date, endDate: str # The end date, filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/mutual/employers/notifications
@desc Mark multiple notifications as read.
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/notifications/{notificationId}
@desc Get notification by ID.
@required {notificationId: str(uuid) # The unique identifier of a notification}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/announcements
@desc Get a list of announcements for an employer.
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/announcements
@desc Announcements at provider level.
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page, includeRead: bool=false # Include the read items, includeExpired: bool=false # Include the read items, includeDescription: bool=false # Indicates whether the description should be included in the response.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/announcements
@desc Mark one or more announcements as read.
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/announcements/summary
@desc Unread announcements per employer.
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/mutual/employers/announcements
@desc Mark multiple announcements as read.
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/announcements/{announcementId}
@desc Details of a single announcement
@required {announcementId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments
@desc List of employments for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/minimized
@desc List of employments with fewer fields for performance reasons
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/comprehensive
@desc List of employments with additional entities
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., removeEmptyLines: bool # When true and combined with a X-ReportInput header, the output only contains employments for which selected underlying data, such as wage, is available., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}/employments
@desc List of employments for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/employments
@desc Create employment for existing employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(201) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}
@desc Details of an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/{employmentId}
@desc Edit the details of an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/{employmentId}
@desc Edit the type of an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/{employmentId}
@desc Delete an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/transitioncompensation
@desc Create transition compensation employment for existing employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/{employmentId}/employeeprofile
@desc Activate employee profile for the employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/deleteinformation
@desc Delete employment information
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/{employmentId}/terminate
@desc Terminate an employment.
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/{employmentId}/reinstate
@desc Undo termination for an employment.
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/{employmentId}/correctstartdate
@desc Correct the start (employment) date for an employment.
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/payrollperioddata
@desc Insert or update payroll period data for several employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/payrollperioddata
@desc list of payroll period data
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/payrollperioddata
@desc Create an payroll period data record for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/{employmentId}/payrollperioddata
@desc Insert or update payroll period data
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/payrollperioddata/{payrollperioddataId}
@desc Details of a payroll period data
@required {payrollperioddataId: str(uuid) # The unique identifier of the payroll period data}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/payrollperioddata/{payrollperioddataId}
@desc Edit the details of an payroll period data
@required {payrollperioddataId: str(uuid) # The unique identifier of the payroll period data}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/payrollperioddata/{payrollperioddataId}
@desc Delete a specific payroll period data record
@required {payrollperioddataId: str(uuid) # The unique identifier of the payroll period data}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/benefitsanddeductions
@desc list of benefits and deductions
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/benefitsanddeductions
@desc Add a benefit or deduction record for the employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/benefitsAndDeductions/{benefitsanddeductionsId}
@desc Detail of a benefit or deduction record
@required {benefitsanddeductionsId: str(uuid) # The unique identifier of the benefits and deductions data}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/benefitsAndDeductions/{benefitsanddeductionsId}
@desc Edit the details of a benefit or deduction record
@required {benefitsanddeductionsId: str(uuid) # The unique identifier of the benefits and deductions data}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/benefitsAndDeductions/{benefitsanddeductionsId}
@desc Delete a specific benefit or deduction record
@required {benefitsanddeductionsId: str(uuid) # The unique identifier of the benefits and deductions data}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/import/benefitsanddeductions"
@desc Get data to create an importfile
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/import/benefitsanddeductions"
@desc Import benefits and deductions via a csv file
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 413: The request is larger than the server is willing or able to process., 415: The server refuses to accept the request because the payload format is in an unsupported format., 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/employees/employments/benefitsanddeductions
@desc Create benefits and deductions for multiple employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/{employerId}/employees/employments/benefitsanddeductions
@desc Close benefits and deductions for multiple employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/employees/employments/signalpaygradeadjustment
@desc Collective set SignalPayGradeAdjustment
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/wageprojection
@desc Perform a wage projection
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/wageprojection/basedOnDefaultClaConfiguration
@desc Perform a wage projection based on a default CLA configuration
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group wageprojection
@endpoint GET /wageprojection/cladata/{collectiveLaborAgreementId}
@desc Wage projection Collective labor agreements defaults
@required {collectiveLaborAgreementId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /wageprojection/collectivelaboragreements
@desc List of collective labor agreements (CLA)
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/employees/{employeeId}/educations
@desc List of educations for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/educations
@desc Create a education for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/educations/{employeeEducationId}
@desc Details of a single education
@required {employeeEducationId: str(uuid) # The unique identifier of the employee education detail}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/educations/{employeeEducationId}
@desc Edit a Education
@required {employeeEducationId: str(uuid) # The unique identifier of the employee education detail}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/educations/{employeeEducationId}
@desc Delete a specific education
@required {employeeEducationId: str(uuid) # The unique identifier of the employee education detail}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/declarations
@desc List of declarations for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/declarations
@desc Create a declaration for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/declarations/{declarationId}
@desc Details of a declaration
@required {declarationId: str(uuid) # The unique identifier of the declaration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/declarations/{declarationId}
@desc Edit a declaration for an employment
@required {declarationId: str(uuid) # The unique identifier of the declaration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/declarations/{declarationId}
@desc Delete a declaration
@required {declarationId: str(uuid) # The unique identifier of the declaration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/declarations/{declarationId}/audittrail
@desc Audit trail of a declaration
@required {declarationId: str(uuid) # The unique identifier of the declaration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/declarations/analyze/receipt
@desc Upload a receipt to analyze
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/wages
@desc List of wages for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/wages
@desc Create an wage for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/wages/{wageId}
@desc Details of a single wage
@required {wageId: str(uuid) # The unique identifier of a wage}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/wages/{wageId}
@desc Edit a wage
@required {wageId: str(uuid) # The unique identifier of a wage}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/wages/{wageId}
@desc Delete a specific wage record
@required {wageId: str(uuid) # The unique identifier of a wage}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/import/wage"
@desc Get data to create an importfile
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/import/wage"
@desc Import wage via a csv file
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 413: The request is larger than the server is willing or able to process., 415: The server refuses to accept the request because the payload format is in an unsupported format., 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/employees/employments/wages
@desc Create wages for multiple employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/minimumwage
@desc Minimumwage for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment, payscaleKey: int # The Payscale to use for calculating the minimumwage  The following payscales are supported:   -1 Wettelijk minimumloon, maandloon   -2 Wettelijk minimumloon, 4 weken   -3 Wettelijk minimumloon, uurloon}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., paygradeKey: int # The Paygrade (age) to use for calculating the minimumwage. When not supplied, the age is calculated.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/costperhour
@desc List of costs per hour for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {includeEstimation: bool # include an estimation if no cost per unit records are present, filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/costperhour
@desc Add a cost per hour for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/costperhour/{costPerHourId}
@desc Details of cost per hour
@required {costPerHourId: str(uuid) # The unique identifier of the cost per hour record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/costperhour/{costPerHourId}
@desc Edit a cost per hour record
@required {costPerHourId: str(uuid) # The unique identifier of the cost per hour record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/costperhour/{costPerHourId}
@desc Delete a cost per hour record
@required {costPerHourId: str(uuid) # The unique identifier of the cost per hour record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/workinghours
@desc List of working hours for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/workinghours
@desc Create the working hours for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/workinghours/{workinghoursId}
@desc Details of the working hours
@required {workinghoursId: str(uuid) # The unique identifier of the work detail}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/workinghours/{workinghoursId}
@desc Edit the working hours
@required {workinghoursId: str(uuid) # The unique identifier of the work detail}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/workinghours/{workinghoursId}
@desc Delete a specific working hours record
@required {workinghoursId: str(uuid) # The unique identifier of the work detail}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/organizationalentities
@desc List of organizational entities for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/organizationalentities
@desc Create an organizational entity for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/organizationalentities/{organizationalEntityId}
@desc Details of an organizational entity
@required {organizationalEntityId: str(uuid) # The unique identifier of the organizational entity}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/organizationalentities/{organizationalEntityId}
@desc Edit the details of an organizational entity
@required {organizationalEntityId: str(uuid) # The unique identifier of the organizational entity}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/organizationalentities/{organizationalEntityId}
@desc Delete a specific organizational entity record
@required {organizationalEntityId: str(uuid) # The unique identifier of the organizational entity}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/paymentinformationsepa
@desc Get a list of payment information sepa
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/paymentinformationsepa
@desc create a new payment information sepa record
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/paymentinformationsepa/{paymentInformationSepaId}
@desc Get the details of a payment information sepa
@required {paymentInformationSepaId: str(uuid) # The unique identifier of the SEPA payment record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/paymentinformationsepa/{paymentInformationSepaId}
@desc change the details of a payment information sepa
@required {paymentInformationSepaId: str(uuid) # The unique identifier of the SEPA payment record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/paymentinformationsepa/{paymentInformationSepaId}
@desc Delete a specific SEPA payment-record record
@required {paymentInformationSepaId: str(uuid) # The unique identifier of the SEPA payment record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/paymentinformationsepaseparatepayments
@desc Get a list of payment information SEPA separate payment records
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/paymentinformationsepaseparatepayments
@desc Create a new payment information SEPA separate payment record
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/paymentinformationsepaseparatepayments/{paymentInformationSepaSeparatePaymentId}
@desc Get the details of a payment information SEPA separate payment record
@required {paymentInformationSepaSeparatePaymentId: str(uuid) # The unique identifier of the SEPA payment record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/paymentinformationsepaseparatepayments/{paymentInformationSepaSeparatePaymentId}
@desc Edit the details of a payment information separate payment record
@required {paymentInformationSepaSeparatePaymentId: str(uuid) # The unique identifier of the SEPA payment record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/paymentinformationsepaseparatepayments/{paymentInformationSepaSeparatePaymentId}
@desc Delete a payment information SEPA separate payment record
@required {paymentInformationSepaSeparatePaymentId: str(uuid) # The unique identifier of the SEPA payment record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/paymentinformationnonsepa
@desc Get a list of payment information non-SEPA
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/paymentinformationnonsepa
@desc Create a new payment information non-SEPA record
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/paymentinformationnonsepa/{paymentInformationNonSepaId}
@desc Get the details of a payment information non-SEPA
@required {paymentInformationNonSepaId: str(uuid) # The unique identifier of the SEPA payment record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/paymentinformationnonsepa/{paymentInformationNonSepaId}
@desc Change the details of a payment information non-SEPA
@required {paymentInformationNonSepaId: str(uuid) # The unique identifier of the SEPA payment record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/paymentinformationnonsepa/{paymentInformationNonSepaId}
@desc Delete a payment information non-SEPA record
@required {paymentInformationNonSepaId: str(uuid) # The unique identifier of the SEPA payment record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/attachmentsofearnings
@desc Get a list of attachment of earnings records
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/attachmentsofearnings
@desc Create a new attachment of earnings record
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/attachmentsofearnings/{attachmentOfEarningsId}
@desc Get the details of an attachment of earnings record
@required {attachmentOfEarningsId: str(uuid) # The unique identifier of a record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/attachmentsofearnings/{attachmentOfEarningsId}
@desc Edit the details of an attachment of earnings record
@required {attachmentOfEarningsId: str(uuid) # The unique identifier of a record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/attachmentsofearnings/{attachmentOfEarningsId}
@desc Delete an attachment of earnings record
@required {attachmentOfEarningsId: str(uuid) # The unique identifier of a record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/protectedearnings
@desc Get a list of protected earnings records
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/protectedearnings
@desc Create a new protected earnings record
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/protectedearnings/{protectedEarningsId}
@desc Get the details of an protected earnings record
@required {protectedEarningsId: str(uuid) # The unique identifier of a record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/protectedearnings/{protectedEarningsId}
@desc Edit the details of an protected earnings record
@required {protectedEarningsId: str(uuid) # The unique identifier of a record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/protectedearnings/{protectedEarningsId}
@desc Delete an protected earnings record
@required {protectedEarningsId: str(uuid) # The unique identifier of a record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/fiscalproperties
@desc List of fiscal properties for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/fiscalproperties
@desc Create a fiscal record for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/fiscalproperties/{fiscalPropertiesId}
@desc Details of a fiscal record
@required {fiscalPropertiesId: str(uuid) # The unique identifier of the fiscal properties record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/fiscalproperties/{fiscalPropertiesId}
@desc Edit the details of a fiscal record
@required {fiscalPropertiesId: str(uuid) # The unique identifier of the fiscal properties record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/fiscalproperties/{fiscalPropertiesId}
@desc Delete a specific fiscal properties record
@required {fiscalPropertiesId: str(uuid) # The unique identifier of the fiscal properties record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/employees/employments/calculatedannualsalary
@desc Calculate AnnualSalary
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/employees/employments/fiscalproperties
@desc Create fiscal properties for multiple employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/fiscalcompanycars
@desc List of fiscal company cars for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/fiscalcompanycars
@desc Create a fiscal company car record for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/fiscalcompanycars/{fiscalCompanyCarId}
@desc Details of a fiscal company car record
@required {fiscalCompanyCarId: str(uuid) # The unique identifier of the fiscal company car}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/fiscalcompanycars/{fiscalCompanyCarId}
@desc Edit the details of a fiscal company car record
@required {fiscalCompanyCarId: str(uuid) # The unique identifier of the fiscal company car}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/fiscalcompanycars/{fiscalCompanyCarId}
@desc Delete a specific fiscal company car record
@required {fiscalCompanyCarId: str(uuid) # The unique identifier of the fiscal company car}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/import/fiscalcompanycars
@desc Import fiscal company cars via a csv file
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 413: The request is larger than the server is willing or able to process., 415: The server refuses to accept the request because the payload format is in an unsupported format., 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/companycars
@desc List of  company cars for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/companycars
@desc Create a company car record for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/companycars/{companyCarId}
@desc Details of a company car record
@required {companyCarId: str(uuid) # The unique identifier of the company car}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/companycars/{companyCarId}
@desc Edit the details of a company car record
@required {companyCarId: str(uuid) # The unique identifier of the company car}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/companycars/{companyCarId}
@desc Delete a specific company car record
@required {companyCarId: str(uuid) # The unique identifier of the company car}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group rdwservices
@endpoint GET /rdwservices/additionaltaxliability
@desc Acquire the additional tax liability by the license plate number (company car)
@required {licensePlateNumber: str # A valid vehicle registration (license plate) number.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/employmentfunds
@desc List of funds the employment partakes in
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/employmentfunds
@desc Activate a fund for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/employmentfunds/{employmentFundId}
@desc Details of an employment fund
@required {employmentFundId: str(uuid) # The unique identifier of the employment fund}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/employmentfunds/{employmentFundId}
@desc Edit a employment fund record
@required {employmentFundId: str(uuid) # The unique identifier of the employment fund}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/employmentfunds/{employmentFundId}
@desc Delete a specific employment fund record
@required {employmentFundId: str(uuid) # The unique identifier of the employment fund}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/abpfunds
@desc List of abp funds the employment partakes in
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/abpfunds
@desc Activate an abp fund for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/abpfunds/{abpFundId}
@desc Details of an abp fund
@required {abpFundId: str(uuid) # The unique identifier of the abp fund}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/abpfunds/{abpFundId}
@desc Edit a abp fund record
@required {abpFundId: str(uuid) # The unique identifier of the abp fund}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/abpfunds/{abpFundId}
@desc Delete a specific abp fund record
@required {abpFundId: str(uuid) # The unique identifier of the abp fund}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/employees/employments/employmentfunds
@desc Create employment funds for multiple employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/employees/employments/employmentfunds
@desc Set employment funds enddate for multiple employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/employees/employments/abpfunds
@desc Create abp funds for multiple employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/employees/employments/abpfunds
@desc Set abp funds enddate for multiple employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/basesforemploymentfundcalculation
@desc List of bases for employment fund calculations.
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/basesforemploymentfundcalculation
@desc Add a base for employment fund calculation
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/basesforemploymentfundcalculation/{baseforemploymentfundcalculationId}
@desc Details of an base for employment fund calculations
@required {baseforemploymentfundcalculationId: str(uuid) # The unique identifier of a base for employment fund calculation}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/basesforemploymentfundcalculation/{baseforemploymentfundcalculationId}
@desc Change the properties of a base for employment fund calculation
@required {baseforemploymentfundcalculationId: str(uuid) # The unique identifier of a base for employment fund calculation}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/basesforemploymentfundcalculation/{baseforemploymentfundcalculationId}
@desc Delete a specific record
@required {baseforemploymentfundcalculationId: str(uuid) # The unique identifier of a base for employment fund calculation}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/basesforcalculation
@desc List of bases for calculations.
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/basesforcalculation
@desc Add a base for calculation
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/basesforcalculation/{baseforcalculationId}
@desc Details of an base for calculation
@required {baseforcalculationId: str(uuid) # The unique identifier of a base for calculation}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/basesforcalculation/{baseforcalculationId}
@desc Change the properties of a base for calculation
@required {baseforcalculationId: str(uuid) # The unique identifier of a base for calculation}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/basesforcalculation/{baseforcalculationId}
@desc Delete a specific record
@required {baseforcalculationId: str(uuid) # The unique identifier of a base for calculation}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/employees/employments/basesforcalculation
@desc Create bases for calculation for multiple employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/employees/employments/basesforcalculation
@desc Set base for calculation enddate for multiple employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/deviatingawfcontributions
@desc List of Deviating AWF contributions records for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/deviatingawfcontributions
@desc Create a Deviating AWF contributions record for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/deviatingawfcontributions/{deviatingAwfContributionId}
@desc Details of a Deviating AWF contributions record
@required {deviatingAwfContributionId: str(uuid) # The unique identifier of the Deviating AWF contribution record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/deviatingawfcontributions/{deviatingAwfContributionId}
@desc Edit the details of a Deviating AWF contributions record
@required {deviatingAwfContributionId: str(uuid) # The unique identifier of the Deviating AWF contribution record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/deviatingawfcontributions/{deviatingAwfContributionId}
@desc Delete a specific Deviating AWF contributions record
@required {deviatingAwfContributionId: str(uuid) # The unique identifier of the Deviating AWF contribution record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/pensionbenefits
@desc List pension benefit
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/pensionbenefits
@desc Add a pension benefit for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/pensionbenefits/{pensionBenefitId}
@desc Details of an pension benefit
@required {pensionBenefitId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/pensionbenefits/{pensionBenefitId}
@desc Edit a pension benefit record
@required {pensionBenefitId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/pensionbenefits/{pensionBenefitId}
@desc Delete a pension benefit record
@required {pensionBenefitId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/deviatinghourlywages
@desc List deviating hourly wage
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/deviatinghourlywages
@desc Add a deviating hourly wage for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/deviatinghourlywages/{deviatingHourlyWageId}
@desc Details of an deviating hourly wage
@required {deviatingHourlyWageId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/deviatinghourlywages/{deviatingHourlyWageId}
@desc Edit a deviating hourly wage record
@required {deviatingHourlyWageId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/deviatinghourlywages/{deviatingHourlyWageId}
@desc Delete a deviating hourly wage record
@required {deviatingHourlyWageId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/benefitsInKind
@desc List Benefits in kind
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/benefitsInKind
@desc Add a Benefit in kind for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/benefitsinkind/{benefitInKindId}
@desc Details of an benefit in kind
@required {benefitInKindId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/benefitsinkind/{benefitInKindId}
@desc Edit a benefit in kind record
@required {benefitInKindId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/benefitsinkind/{benefitInKindId}
@desc Delete a benefit in kind record
@required {benefitInKindId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/customnotifications
@desc List custom notification
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/customnotifications
@desc Add a custom notification for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/customnotifications/{customNotificationId}
@desc Details of a custom notification
@required {customNotificationId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/customnotifications/{customNotificationId}
@desc Edit a custom notification record
@required {customNotificationId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/customnotifications/{customNotificationId}
@desc Delete a custom notification record
@required {customNotificationId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/customfields
@desc List employment custom fields for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/customfields
@desc Add an employment custom field for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/customfields/{employmentCustomFieldId}
@desc Details of an employment custom field
@required {employmentCustomFieldId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/customfields/{employmentCustomFieldId}
@desc Edit an employment custom field record
@required {employmentCustomFieldId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/customfields/{employmentCustomFieldId}
@desc Delete an employment custom field record
@required {employmentCustomFieldId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/otherPayrollVariables
@desc List of other payroll variables for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/otherPayrollVariables
@desc Add other payroll variables for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/otherPayrollVariables/{otherPayrollVariablesId}
@desc Details of other payroll variables for an employment
@required {otherPayrollVariablesId: str(uuid) # The unique identifier of the other payroll variables record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/otherPayrollVariables/{otherPayrollVariablesId}
@desc Change the details of an other payroll variables record
@required {otherPayrollVariablesId: str(uuid) # The unique identifier of the other payroll variables record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/otherPayrollVariables/{otherPayrollVariablesId}
@desc Delete a specific other payroll variables record
@required {otherPayrollVariablesId: str(uuid) # The unique identifier of the other payroll variables record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/socialsecurityconfigurations
@desc List of social security records for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/socialsecurityconfigurations
@desc Create a social security record for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/socialsecurityconfigurations/{socialSecurityConfigurationId}
@desc Details of a social security record
@required {socialSecurityConfigurationId: str(uuid) # The unique identifier of the social security record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/socialsecurityconfigurations/{socialSecurityConfigurationId}
@desc Edit the details of a social security record
@required {socialSecurityConfigurationId: str(uuid) # The unique identifier of the social security record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/socialsecurityconfigurations/{socialSecurityConfigurationId}
@desc Delete a specific social security record
@required {socialSecurityConfigurationId: str(uuid) # The unique identifier of the social security record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/socialsecuritybenefits
@desc List of social security benefits records for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/socialsecuritybenefits
@desc Create a social security benefits record for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/socialsecuritybenefits/{socialSecurityBenefitId}
@desc Details of a social security benefits record
@required {socialSecurityBenefitId: str(uuid) # The unique identifier of the social security record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/socialsecuritybenefits/{socialSecurityBenefitId}
@desc Edit the details of a social security benefits record
@required {socialSecurityBenefitId: str(uuid) # The unique identifier of the social security record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/socialsecuritybenefits/{socialSecurityBenefitId}
@desc Delete a specific social security benefits record
@required {socialSecurityBenefitId: str(uuid) # The unique identifier of the social security record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/healthcareinsuranceactconfigurations
@desc List of Healthcare Insurance Act records for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/healthcareinsuranceactconfigurations
@desc Create a Healthcare Insurance Act record for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/healthcareinsuranceactconfigurations/{healthcareInsuranceActConfigurationId}
@desc Details of a Healthcare Insurance Act record
@required {healthcareInsuranceActConfigurationId: str(uuid) # The unique identifier of the Healthcare Insurance Act record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/healthcareinsuranceactconfigurations/{healthcareInsuranceActConfigurationId}
@desc Edit the details of a Healthcare Insurance Act record
@required {healthcareInsuranceActConfigurationId: str(uuid) # The unique identifier of the Healthcare Insurance Act record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/healthcareinsuranceactconfigurations/{healthcareInsuranceActConfigurationId}
@desc Delete a specific Healthcare Insurance Act record
@required {healthcareInsuranceActConfigurationId: str(uuid) # The unique identifier of the Healthcare Insurance Act record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/wachtgeld
@desc List wachtgeld
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/wachtgeld
@desc Add a wachtgeld for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/wachtgeld/{wachtgeldId}
@desc Details of wachtgeld
@required {wachtgeldId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/wachtgeld/{wachtgeldId}
@desc Edit a wachtgeld record
@required {wachtgeldId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/wachtgeld/{wachtgeldId}
@desc Delete a wachtgeld record
@required {wachtgeldId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/contacts
@desc List of Contacts for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/children
@desc List of Children for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/citizenservicenumbers
@desc List of citizenServiceNumber for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/customfields
@desc List of employee custom fields for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/partners
@desc List of Partners for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/customfields
@desc List of employment custom fields for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/paymentinformationsepa
@desc List of payment information for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/actualorganizationalentities
@desc List of actual organizational entities for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/actualwages
@desc List of actual wages for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/actualworkinghours
@desc List of actual working hours for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualbenefitsanddeductions
@desc List of actual benefitsanddeductions for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualemploymentfunds
@desc List of actual employmentfunds for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualabpfunds
@desc List of actual abpfunds for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualfiscalproperties
@desc List of actual fiscal properties for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualhealthcareinsuranceactconfigurations
@desc List of actual healthcare configurations for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualsocialsecurityconfigurations
@desc List of actual social security configurations for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualsocialsecuritybenefits
@desc List of actual social security benefits for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualdeviatingawfcontributions
@desc List of actual awf contributions for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualbenefitsinkind
@desc List of actual benefits in kind for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualcompanycars
@desc List of actual company cars for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualfiscalcompanycars
@desc List of actual fiscal company cars for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualjournalallocations
@desc List of actual journal allocations for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualbasesforcalculation
@desc List of actual bases for calculation for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualotherpayrollvariables
@desc List of actual other payrollvariables for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualpaymentinformationnonsepa
@desc List of actual payment information non sepa for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualbasesforemploymentfundcalculation
@desc List of actual bases for employment fund calculation for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualpensionbenefits
@desc List of actual pension benefits for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualdeviatinghourlywages
@desc List of actual deviating hourly wage for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/actualcostperhour
@desc List of actual cost per hour for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data., includeEstimation: bool # include an estimation if no cost per unit records are present, filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group achmeainsurancecontracts
@endpoint GET /achmeainsurancecontracts
@desc list of insurance contracts
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /achmeainsurancecontracts/{achmeaInsuranceContractId}/insuredwagecalculationpercentages
@desc list of wage percentages for an insurance contract
@required {achmeaInsuranceContractId: str(uuid) # The unique identifier of an Achmea insurance contract}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/employees/{employeeId}/benifyurl
@desc Get Benify URL for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group users
@endpoint GET /users/yourcampus
@desc Get Yourcampus URL for a user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group qwoater
@endpoint GET /qwoater/employers
@desc List of employers using Qwoater
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/{employerId}/leavePolicies
@desc List of all the leave policies
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/leavePolicies
@desc Create a leave policy
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/leavePolicies
@desc Create a leave policy based on an existing leave policy
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/leavePolicies/{leavePolicyId}
@desc A single leave policy
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/leavePolicies/{leavePolicyId}
@desc Edit the details of a leave policy
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/leavePolicies/{leavePolicyId}
@desc Delete a leave policy
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/leavePolicies/{leavePolicyId}/agebasedleave
@desc Age based leave
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/leavePolicies/{leavePolicyId}/agebasedleave
@desc Create an age based leave record
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/leavePolicies/agebasedleave/{ageBasedLeaveId}
@desc An age based leave record
@required {ageBasedLeaveId: str(uuid) # The unique identifier of the age based leave}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/leavePolicies/agebasedleave/{ageBasedLeaveId}
@desc Edit the details of an age based leave
@required {ageBasedLeaveId: str(uuid) # The unique identifier of the age based leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/leavePolicies/agebasedleave/{ageBasedLeaveId}
@desc Delete an age based leave record
@required {ageBasedLeaveId: str(uuid) # The unique identifier of the age based leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/leavePolicies/{leavePolicyId}/yearsofservicebasedleave
@desc years of service based leave
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/leavePolicies/{leavePolicyId}/yearsofservicebasedleave
@desc Create a years of service based leave record
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/leavePolicies/yearsofservicebasedleave/{yearsOfServiceBasedLeaveId}
@desc A years of service based leave record
@required {yearsOfServiceBasedLeaveId: str(uuid) # The unique identifier of the years of service based leave}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/leavePolicies/yearsofservicebasedleave/{yearsOfServiceBasedLeaveId}
@desc Edit the details of a years of service based leave
@required {yearsOfServiceBasedLeaveId: str(uuid) # The unique identifier of the years of service based leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/leavePolicies/yearsofservicebasedleave/{yearsOfServiceBasedLeaveId}
@desc Delete an years of service based leave record
@required {yearsOfServiceBasedLeaveId: str(uuid) # The unique identifier of the years of service based leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/leavePolicies/{leavePolicyId}/wagebasedleave
@desc Wage based leave
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/leavePolicies/{leavePolicyId}/wagebasedleave
@desc Create a wage based leave record
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/leavePolicies/wagebasedleave/{wageBasedLeaveId}
@desc A wage based leave record
@required {wageBasedLeaveId: str(uuid) # The unique identifier of the wage based leave}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/leavePolicies/wagebasedleave/{wageBasedLeaveId}
@desc Edit the details of a wage based leave
@required {wageBasedLeaveId: str(uuid) # The unique identifier of the wage based leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/leavePolicies/wagebasedleave/{wageBasedLeaveId}
@desc Delete a wage based leave record
@required {wageBasedLeaveId: str(uuid) # The unique identifier of the wage based leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/leavepolicies/{leavePolicyId}/employments
@desc Get list of linked employments for the leave policy
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@optional {orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/leavepolicies/{leavePolicyId}/employments
@desc Create or delete multiple linked employments for the leave policy
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/leavepolicies/{leavePolicyId}/employments/leave/accrual
@desc Leave accrual for employments of a leave policy
@required {leavePolicyId: str(uuid) # The unique identifier of the leave  policy}
@optional {year: int(int32) # The year, month: int(int32) # The month, filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/leavepolicies/{leavePolicyId}/employments/{employmentId}/leave/accrual"
@desc Leave accrual for an employment
@required {leavePolicyId: str(uuid) # The unique identifier of the leave  policy, employmentId: str(uuid) # The unique identifier of the employment}
@optional {year: int(int32) # The year, month: int(int32) # The month}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/leavepolicies/{leavePolicyId}/employments/leave/entitlement
@desc Leave entitlement for employments of a leave policy
@required {leavePolicyId: str(uuid) # The unique identifier of the leave  policy}
@optional {year: int(int32) # The year, month: int(int32) # The month, overridingEmploymentEndDate: str(date) # The overriding employment end date, filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/leavepolicies/{leavePolicyId}/employments/{employmentId}/leave/entitlement"
@desc Leave entitlement for an employment
@required {leavePolicyId: str(uuid) # The unique identifier of the leave  policy, employmentId: str(uuid) # The unique identifier of the employment}
@optional {year: int(int32) # The year, month: int(int32) # The month, overridingEmploymentEndDate: str(date) # The overriding employment end date}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/employees/employments/leave/entitlement
@desc Apply the entitlement for multiple employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/{employmentId}/leave/entitlement"
@desc Apply the entitlement for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/leavePolicies
@desc List of all the leave policies at provider level.
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/leavePolicies
@desc Create a leave policy
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/leavePolicies/{leavePolicyId}
@desc A single leave policy
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/leavePolicies/{leavePolicyId}
@desc Edit the details of a leave policy
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/leavePolicies/{leavePolicyId}
@desc Delete a leave policy
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/leavePolicies/{leavePolicyId}/agebasedleave
@desc Age based leave
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/leavePolicies/{leavePolicyId}/agebasedleave
@desc Create an age based leave record
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/leavePolicies/agebasedleave/{ageBasedLeaveId}
@desc An age based leave record
@required {ageBasedLeaveId: str(uuid) # The unique identifier of the age based leave}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/leavePolicies/agebasedleave/{ageBasedLeaveId}
@desc Edit the details of an age based leave
@required {ageBasedLeaveId: str(uuid) # The unique identifier of the age based leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/leavePolicies/agebasedleave/{ageBasedLeaveId}
@desc Delete an age based leave record
@required {ageBasedLeaveId: str(uuid) # The unique identifier of the age based leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/leavePolicies/{leavePolicyId}/yearsofservicebasedleave
@desc years of service based leave
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/leavePolicies/{leavePolicyId}/yearsofservicebasedleave
@desc Create a years of service based leave record
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/leavePolicies/yearsofservicebasedleave/{yearsOfServiceBasedLeaveId}
@desc A years of service based leave record
@required {yearsOfServiceBasedLeaveId: str(uuid) # The unique identifier of the years of service based leave}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/leavePolicies/yearsofservicebasedleave/{yearsOfServiceBasedLeaveId}
@desc Edit the details of a years of service based leave
@required {yearsOfServiceBasedLeaveId: str(uuid) # The unique identifier of the years of service based leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/leavePolicies/yearsofservicebasedleave/{yearsOfServiceBasedLeaveId}
@desc Delete an years of service based leave record
@required {yearsOfServiceBasedLeaveId: str(uuid) # The unique identifier of the years of service based leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/leavePolicies/{leavePolicyId}/wagebasedleave
@desc Wage based leave
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/leavePolicies/{leavePolicyId}/wagebasedleave
@desc Create a wage based leave record
@required {leavePolicyId: str(uuid) # The unique identifier of the leave policy}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/leavePolicies/agebasedleave/{wageBasedLeaveId}
@desc A wage based leave record
@required {wageBasedLeaveId: str(uuid) # The unique identifier of the wage based leave}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/leavePolicies/agebasedleave/{wageBasedLeaveId}
@desc Edit the details of a wage based leave
@required {wageBasedLeaveId: str(uuid) # The unique identifier of the wage based leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/leavePolicies/agebasedleave/{wageBasedLeaveId}
@desc Delete a wage based leave record
@required {wageBasedLeaveId: str(uuid) # The unique identifier of the wage based leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/leavetypes
@desc List of leave types
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/leavetypes/{leaveTypeId}
@desc Details of a leave type
@required {employerId: str(uuid) # The unique identifier of the employer, leaveTypeId: str(uuid) # The unique identifier of the leave type}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/{employerId}/leavetypes/{leaveTypeId}
@desc Edit the details of a leave type
@required {employerId: str(uuid) # The unique identifier of the employer, leaveTypeId: str(uuid) # The unique identifier of the leave type}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/leaverequests
@desc List of leave requests for the employees of an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/leaverequests
@desc Change the status of leave requests
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/leaverequests/currentlyAvailableUnits
@desc Currently available units for the given leaveRequestIds
@required {leaveRequestIds: str(uuid) # Comma separated list of leaveRequestIds (GUIDs) to get the currently available units for.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/leave
@desc List of all the leave entries
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/leave
@desc Create a leave record for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/leave/{leaveId}
@desc A single leave entry
@required {leaveId: str(uuid) # The unique identifier of the leave}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/leave/{leaveId}
@desc Edit the details of a leave
@required {leaveId: str(uuid) # The unique identifier of the leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/leave/{leaveId}
@desc Delete a specific leave record
@required {leaveId: str(uuid) # The unique identifier of the leave}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/leave/metadata
@desc Get the values for the metadata fields
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/leave/defaults
@desc Get the default values to be used when POSTing a new record
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/leave/{leaveId}/metadata
@desc Get the values for the metadata fields
@required {leaveId: str(uuid) # The unique identifier of the leave}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/leave/proposedleavehours
@desc Get the proposed number of leave hours for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {startDate: str # The start date of the leave period, endDate: str # The end date of the leave period, filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/leave/proposedleavehours
@desc Get the proposed number of leave hours for all employments of an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {startDate: str # The start date of the leave period, endDate: str # The end date of the leave period, filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/leave/overview/{year}
@desc Download the leave overview for an employment and year
@required {employmentId: str(uuid) # The unique identifier of the employment, year: int(int32) # The payroll year}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/leaverequests
@desc leave requests by employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/leaverequests
@desc Create a leave request for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/leaverequests/{leaveRequestId}
@desc Details of a leave request
@required {leaveRequestId: str(uuid) # The unique identifier of the leave request}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/leaverequests/{leaveRequestId}
@desc Change the details of a leave request
@required {leaveRequestId: str(uuid) # The unique identifier of the leave request}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/leavebalances
@desc List of yearly leave balances for each leave type.
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/leavebalances
@desc The leave balance for all employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for the following logic   1. To determine the active `function` and `department` of the employment   2. To calculate `usageAfterToday` and `usageThroughToday`   3. To determine the year for which the leave balance is returned  If not provided, "today" is used, leaveType: [int] # Select which `leaveType` will be returned. Based on the provided 'leaveType.key'(s)  If not provided, the `leaveType` 16 (Verlof) is returned (16 is the sum of leaveType 1 (bovenwettelijk verlof) and 15 (wettelijk verlof)), filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/leavebalances/worth
@desc The leave balanceworth for all employments
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {referenceDate: str(date) # Set a reference date for the following logic   1. To determine the active `function` and `department` of the employment   2. To calculate `usageAfterToday` and `usageThroughToday`   3. To determine the year for which the leave balance is returned  If not provided, "today" is used, leaveType: [int] # Select which `leaveType` will be returned. Based on the provided 'leaveType.key'(s)  If not provided, the `leaveType` 16 (Verlof) is returned (16 is the sum of leaveType 1 (bovenwettelijk verlof) and 15 (wettelijk verlof)), filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/leavebalances/grouped
@desc Summed up leave balance total and grouped by
@required {employerId: str(uuid) # The unique identifier of the employer, groupBy: str(Department/Function) # Select the groupBy}
@optional {referenceDate: str(date) # Set a reference date for the following logic   1. To determine the active `function` and `department` of the employment   2. To calculate `usageAfterToday` and `usageThroughToday`   3. To determine the year for which the leave balance is returned  If not provided, "today" is used, leaveType: [int] # Select which `leaveType` will be returned. Based on the provided 'leaveType.key'(s)  If not provided, the `leaveType` 16 (Verlof) is returned (16 is the sum of leaveType 1 (bovenwettelijk verlof) and 15 (wettelijk verlof)), orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/leavepolicies
@desc Get list of linked leave policies for the employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/{employmentId}/leavepolicies
@desc Link or unlink leave policies for the employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/import/leave"
@desc Get data to create an importfile
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/import/leave"
@desc Import leave via a csv file
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 413: The request is larger than the server is willing or able to process., 415: The server refuses to accept the request because the payload format is in an unsupported format., 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/leave
@desc Post leave for multiple employments.
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(202) OK. the specified leave is applied to the selected employments.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollprocessoverview
@desc Process Information about a payroll on administration level
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrollPeriodIdStart: int(int32) # The unique identifier of the first payroll period to return}
@optional {payrollPeriodIdEnd: int(int32) # The unique identifier of the last payroll period to return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollruns
@desc List of payroll runs for an administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}
@desc Details of a payrollrun
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}
@desc Change the availableForEmployee data
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/payrollruns
@desc Change the status of payrollruns
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/periodreadyforpayroll
@desc Send an email to inform the salary administrator
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/payslips
@desc Download payslips for a payroll run
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@optional {sortOnField: str(employeeNumber/lastName/firstName)=employeeNumber # Field on which the payslips will be sorted. By default the payslips are sorted by `employeeNumber`. Possible values for this parameter are: - employeeNumber: Sort payslips by employee number - name: Sort payslips by last name, includeEmploymentsWithMijnLoketAccess: bool=true # Indicates whether to include employments for which the employee has access to Mijn Loket. Possible values for this parameter are: - true: Include employments with Mijn Loket access(All employments) - false: Exclude employments with Mijn Loket access}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/defaultset
@desc Download the default set of downloads for a payroll run
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/paymentoverviews
@desc Download payment overviews for a payroll run
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/wagesheets
@desc Download wage sheets for a payroll run
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/sepafiles
@desc Get a list of SEPA files for a payroll run
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/sepahashes
@desc Get a list of SEPA hashes for a payroll run
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/sepafiles/{sepafileId}
@desc Download a SEPA file
@required {sepafileId: str(uuid) # Sepa file ID, requestedExecutionDate: str(date) # This value is used when creating the (non) sepa file to set the value of \}
@optional {paymentType: str(Other/Salary)=Salary # Indicates the type of payment for the SEPA file. In case salary is selected the following will be included in the SEPA xml file ```        SALA    ```, batchBooking: str(BtchBookgExclude/BtchBookgTrue/BtchBookgFalse)=BtchBookgExclude # Determines whether the Batch Booking \ tag is included in the SEPA file and if it is which value it is set to.  By defualt this value is set to Exclude.  Possible values for this parameter are: - Exclude: Do not include \ tag in SEPA file - IncludeTrue: Include \ tag in SEPA file and set it to 'True' - IncludeFalse: Include \ tag in SEPA file and set it to 'False'}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/totalsepafile
@desc Download a total SEPA file
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run, requestedExecutionDate: str(date) # This value is used when creating the (non) sepa file to set the value of \}
@optional {paymentType: str(Other/Salary)=Salary # Indicates the type of payment for the SEPA file. In case salary is selected the following will be included in the SEPA xml file ```        SALA    ```, batchBooking: str(BtchBookgExclude/BtchBookgTrue/BtchBookgFalse)=BtchBookgExclude # Determines whether the Batch Booking \ tag is included in the SEPA file and if it is which value it is set to.  By defualt this value is set to Exclude.  Possible values for this parameter are: - Exclude: Do not include \ tag in SEPA file - IncludeTrue: Include \ tag in SEPA file and set it to 'True' - IncludeFalse: Include \ tag in SEPA file and set it to 'False'}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/runoverviews
@desc Download run overviews for a payroll run
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/payrollcontrolregister
@desc Download payroll control register for a payroll run
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/journalentriesperdistributionunitoverviews
@desc Download the journal entries by distribution Unit.
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/errorsandwarnings
@desc Download errors and warnings for a payroll run
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/nonsepafile
@desc Download a Non Sepa file
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run, requestedExecutionDate: str(date) # This value is used when creating the (non) sepa file to set the value of \}
@optional {paymentReason: str # Reason for the payment, eg Salary. Appears in the tag \ if provided.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollPeriodDataAuditTrail
@desc Download the audit trail for the payroll period data
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, startDate: str # The start date, endDate: str # The end date}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/employmentPayrollDataAuditTrail
@desc Download the audit trail for the employment payroll data
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, startDate: str # The start date, endDate: str # The end date}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollperiods
@desc List of all available payroll periods and runs
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollperiods/minimized
@desc List of all available payroll periods
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollperiods/{payrollPeriodId}/payrollresults
@desc Get payroll results for the given payroll period
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrollPeriodId: int(int32) # The unique identifier of the payroll period}
@optional {payrollComponents: [int(int32)] # Can be used to filter what payroll components are returned. Cannot be used in combination with payrollComponentSet., payrollComponentSet: str(uuid) # A predefined set of payroll components to filter what payroll components are returned}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollperiods/compare
@desc Get the results of the given payroll period and the one before
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrollPeriodId: int(int32) # The unique identifier of the payroll period}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/payrollresults/statistics/data
@desc basic payrollresults statistics
@required {employerId: str(uuid) # The unique identifier of the employer, startDate: str # The start date, endDate: str # The end date}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/payrollperiods/payrollcomponents/{payrollComponent}
@desc Get the results of the given payroll period and the one before
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrollPeriodIdStart: int(int32) # The unique identifier of the payroll period, payrollPeriodIdEnd: int(int32) # The unique identifier of the payroll period}
@optional {payrollComponents: [int(int32)] # Can be used to filter what payroll components are returned. Cannot be used in combination with payrollComponentSet.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollperiods/payrollresults/compare
@desc Compare payrollresults for two payrollperiods at providerlevel
@required {payrollPeriodIdToCompare: int(int32) # The unique identifier of the base payroll period, payrollPeriodIdCompareTo: int(int32) # The unique identifier of the payroll period to which the base payroll period is compared, payrollComponentId: int(int32) # The component id, tableTariff: str(table/tariff/tableAndTariff) # Indicates whether the table and/or tariff values should be included in the response., includeFromDeviationPercentage: num(double) # Indicates from deviation percentage results should be included in the response. When set to 0, all results are included., sort: str(employerName/administrationName/clientNumber/administrationNumber/percentageDifference) # Indicates on which field the results should be sorted. Default is on the payroll component.}
@returns(200) Async download
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/results
@desc Get results for a payroll run
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/BalanceSheet
@desc Get payroll run balance sheet
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollresults
@desc Payroll results for several periods
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrollPeriodIdStart: int(int32) # The unique identifier of the payroll period, payrollPeriodIdEnd: int(int32) # The unique identifier of the payroll period}
@optional {payrollComponentSetId: str(uuid) # A predefined set of payroll components to filter what payroll components are returned}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/payrollresults"
@desc Payroll results for a payrollrun
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@optional {payrollComponentSetId: str(uuid) # A predefined set of payroll components to filter what payroll components are returned}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollperiods/payrollresults"
@desc Download payrollresults in columns
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrollPeriodIdStart: int(int32) # The unique identifier of the payroll period, payrollPeriodIdEnd: int(int32) # The unique identifier of the payroll period}
@optional {payrollComponentSetId: str(uuid) # A predefined set of payroll components to filter what payroll components are returned}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollperiods/payrollresults/grouped"
@desc Download FTE payrollresults in columns
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrollPeriodIdStart: int(int32) # The unique identifier of the payroll period, payrollPeriodIdEnd: int(int32) # The unique identifier of the payroll period}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /providers
@desc List of providers
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/logo
@desc Download the provider logo
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/logo/{version}
@desc Download the provider logo
@required {providerId: str(uuid) # The unique identifier of a provider, version: str(uuid) # An guid generated for caching. The value does not influence the output of this function. The provider/logo endpoint returns the URI of the current logo with the version.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/contactinformation
@desc Retrieve provider contact information
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group billing
@endpoint GET /billing/providers/{providerId}/billableitems
@desc Overview of number of billable items per employer
@required {startDate: str # The start date, endDate: str # The end date, providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/{providerId}/dashboard
@desc Dashboard for a provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/logos
@desc Logos at providerlevel
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/logos
@desc Upload a logo for the provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/logos/{logoId}
@desc Logo at providerlevel
@required {logoId: str(uuid) # The unique identifier of a logo}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/logos/{logoId}
@desc Edit a provider logo
@required {logoId: str(uuid) # The unique identifier of a logo}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/logos/{logoId}
@desc Delete a logo at providerlevel
@required {logoId: str(uuid) # The unique identifier of a logo}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/logos/{logoId}/logo
@desc Logo without properties at providerlevel
@required {logoId: str(uuid) # The unique identifier of a logo}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/configuration
@desc Provider configuration
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/{providerId}/configuration
@desc Edit provider configuration
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/configuration/payslip
@desc Provider payslip configuration
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/{providerId}/configuration/payslip
@desc Edit provider configuration
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/configuration/payslip/logo
@desc Provider payslip logo
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/{providerId}/configuration/payslip/logo
@desc Delete the provider payslip logo
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/configuration/payslip/logo
@desc Upload a logo for the payslip at providerlevel.
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/notificationsettings
@desc The notification settings for the provider
@required {providerId: str(uuid) # The unique identifier of an provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/{providerId}/notificationsettings
@desc Manage the Provider notification settings
@required {providerId: str(uuid) # The unique identifier of an provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/groupclassifications
@desc List groupclassifications for an provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/groupclassifications
@desc Add a groupclassification for an provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/groupclassifications/{groupClassificationId}
@desc Edit a groupclassification record
@required {groupClassificationId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/groupclassifications/{groupClassificationId}
@desc Delete a groupclassification record
@required {groupClassificationId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/workrelatedcostsutilization
@desc WorkrelatedCostsUtilization per administration.
@required {year: int(int32) # The payroll year, sort: str(employerName/administrationName/clientNumber/administrationNumber/percentageUtilization) # Indicates on which field the results should be sorted.}
@returns(200) Async download
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group qwoatermicroservice
@endpoint GET /qwoatermicroservice/providers/employers/dossier/usage
@desc Dossier Usage per employer.
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data.}
@returns(200) Async download
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /qwoatermicroservice/providers/employers/signature/usage
@desc Signature usage per employer.
@required {startDate: str # The start date, endDate: str # The end date}
@returns(200) Async download
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/{providerId}/authorizationsets
@desc List of authorization sets
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/authorizationsets
@desc Create an AuthorizationSet for an provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/authorizationsets/{authorizationSetId}
@desc Details of a authorization set
@required {authorizationSetId: str(uuid) # The unique identifier of an authorization set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/authorizationsets/{authorizationSetId}
@desc Edit the details of an authorizationset
@required {authorizationSetId: str(uuid) # The unique identifier of an authorization set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/authorizationsets/{authorizationSetId}
@desc Delete a specific AuthorizationSet
@required {authorizationSetId: str(uuid) # The unique identifier of an authorization set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/modulesets
@desc List of module sets
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/modulesets
@desc Create a module set for an provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/modulesets/{moduleSetId}
@desc Details of a module set
@required {moduleSetId: str(uuid) # The unique identifier of an module set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/modulesets/{moduleSetId}
@desc Edit the details of an module set
@required {moduleSetId: str(uuid) # The unique identifier of an module set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/modulesets/{moduleSetId}
@desc Delete a specific module set
@required {moduleSetId: str(uuid) # The unique identifier of an module set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/moduleset
@desc Get module set for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/{employerId}/moduleset
@desc Update module set for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/notificationsets
@desc List of notification sets
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/notificationsets
@desc Create a notification set for an provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/notificationsets/{notificationSetId}
@desc Details of a notification set
@required {notificationSetId: str(uuid) # The unique identifier of an notification set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/notificationsets/{notificationSetId}
@desc Edit the details of an notification set
@required {notificationSetId: str(uuid) # The unique identifier of an notification set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/notificationsets/{notificationSetId}
@desc Delete a specific notification set
@required {notificationSetId: str(uuid) # The unique identifier of an notification set}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollperiods/{payrollPeriodId}/payrollruns/status
@desc Payroll status for each administration.
@required {payrollPeriodId: int(int32) # The unique identifier of the payroll period to return.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollperiods/{payrollPeriodId}/payrolltaxreturns/status"
@desc PayrollTaxreturn status for each wageTaxNumber.
@required {payrollPeriodId: int(int32) # The unique identifier of the payroll period to return.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollperiods/{payrollPeriodId}/pensiondeclaration/status
@desc Pension declaration status for each externalParty.
@required {payrollPeriodId: int(int32) # The unique identifier of the payroll period to return.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group year
@endpoint GET /year/providers/employers/payrolladministrations/years/{year}/status
@desc Year status for each administration
@required {year: int(int32) # The year.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/journalruns
@desc List of journal runs for an administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalruns/{journalrunId}
@desc Details of a journal run
@required {journalrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/journalruns/{journalrunId}
@desc Change the status of a journal run
@required {journalrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/journalruns/initiate
@desc Initiate journal run (journaliseren)
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/journalruns/{journalrunId}/undo
@desc Undo journal run (verwijderen journaalrun)
@required {journalrunId: str(uuid) # The unique identifier of the payroll run}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/journalruns/recalculate
@desc Recalculate journal for a payroll run
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalruns/{journalrunId}/results
@desc Get journal results for a journal run
@required {journalrunId: str(uuid) # The unique identifier of the payroll run}
@optional {consolidate: str(BasedOnLedgerAccountConfiguration/Always/Never)=BasedOnLedgerAccountConfiguration # Dictates how the output is consolidated}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/journalruns/cumulativeresults
@desc Get journal results for a payroll administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, startPeriod: int # First period (=from) of the requested timebox. Use the format 'YYYYPP', endPeriod: int # Last period (=up to and including) of the requested timebox. Use the following 'YYYYPP'}
@optional {consolidate: str(BasedOnLedgerAccountConfiguration/Always/Never)=BasedOnLedgerAccountConfiguration # Dictates how the output is consolidated}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalruns/{journalrunId}/report
@desc Get journal report for a journal run
@required {journalrunId: str(uuid) # The unique identifier of the payroll run}
@optional {consolidate: str(BasedOnLedgerAccountConfiguration/Always/Never)=BasedOnLedgerAccountConfiguration # Dictates how the output is consolidated}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalruns/{journalrunId}/runoverview
@desc Get journal run overview for a journal run
@required {journalrunId: str(uuid) # The unique identifier of the payroll run, reportJournalNumber: int(int32) # Dagboeknummer., reportVoucherNumber: int(int32) # Boekstuknummer., reportYear: int(int32) # A valid year to be shown on the report., reportPeriodNumber: int(int32) # A valid period number to be shown on the report., reportDate: str(date) # A valid booking date to be shown on the report.}
@optional {reportDescription: str # Omschrijving to be shown on the overview.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalruns/{journalrunId}/runoverviewperemployment
@desc Get journal run overview per employment for a journal run
@required {journalrunId: str(uuid) # The unique identifier of the payroll run, reportJournalNumber: int(int32) # Dagboeknummer., reportVoucherNumber: int(int32) # Boekstuknummer., reportYear: int(int32) # A valid year to be shown on the report., reportPeriodNumber: int(int32) # A valid period number to be shown on the report., reportDate: str(date) # A valid booking date to be shown on the report.}
@optional {reportDescription: str # Omschrijving to be shown on the overview.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalruns/{journalrunId}/exportAuditTrail
@desc List export attempts for a journal run
@required {journalrunId: str(uuid) # The unique identifier of the payroll run}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalruns/{journalrunId}/errors
@desc Errors of a journal run
@required {journalrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/journalruns/{journalrunId}/send
@desc Send the journal run
@required {journalrunId: str(uuid) # The unique identifier of the payroll run}
@returns(202) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/journalruns/{journalrunId}/download
@desc Download the journal run
@required {journalrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/journalConfigurations
@desc List of journal configurations
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/journalConfigurations
@desc Create a new journal configuration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalConfigurations/{journalConfigurationId}
@desc Details of a journal configuration
@required {journalConfigurationId: str(uuid) # The unique identifier of a journal configuration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/payrolladministrations/journalConfigurations/{journalConfigurationId}
@desc Edit the details of a journal configuration
@required {journalConfigurationId: str(uuid) # The unique identifier of a journal configuration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrolladministrations/journalConfigurations/{journalConfigurationId}
@desc Delete a journal configuration
@required {journalConfigurationId: str(uuid) # The unique identifier of a journal configuration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalConfigurations/{journalConfigurationId}/journalApplication
@desc Get the journal application for a journal configuration
@required {journalConfigurationId: str(uuid) # The unique identifier of a journal configuration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/journalConfigurations/{journalConfigurationId}/journalApplication
@desc Create a new journal application for a journal configuration
@required {journalConfigurationId: str(uuid) # The unique identifier of a journal configuration}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/journalConfigurations/{journalConfigurationId}/journalApplication
@desc Edit the details of a journal application
@required {journalConfigurationId: str(uuid) # The unique identifier of a journal configuration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrolladministrations/journalConfigurations/{journalConfigurationId}/journalApplication
@desc Delete a journal application
@required {journalConfigurationId: str(uuid) # The unique identifier of a journal configuration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/journalProfiles
@desc List journal profiles for the given provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/journalProfiles
@desc Create a journal profile for the provider.
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/journalProfiles/{journalProfileId}
@desc Details of a journal profile
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/journalProfiles/{journalProfileId}
@desc Edit the details of a journal profile
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/journalProfiles/{journalProfileId}
@desc Delete a journal profile
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/journalProfiles/{journalProfileId}/ledgerAccounts
@desc List of ledger accounts for a journal profile of a specific provider.
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/journalProfiles/{journalProfileId}/ledgerAccounts
@desc Create a new ledger account for a journal profile of a specific provider.
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/journalProfiles/ledgerAccounts/{ledgerAccountId}
@desc Details of a ledger account at provider level
@required {ledgerAccountId: str(uuid) # The unique identifier of a ledger account}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/journalProfiles/ledgerAccounts/{ledgerAccountId}
@desc Edit the details of a journal allocation record at the provider level
@required {ledgerAccountId: str(uuid) # The unique identifier of a ledger account}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/journalProfiles/ledgerAccounts/{ledgerAccountId}
@desc Delete a ledger account on the provider level
@required {ledgerAccountId: str(uuid) # The unique identifier of a ledger account}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/journalProfiles/{journalProfileId}/ledgerAccountToPayrollComponentLinks"
@desc List of ledger account to payroll component links at provider level
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/journalProfiles/{journalProfileId}/ledgerAccountToPayrollComponentLinks"
@desc Create a new ledger account to payroll component link for a journal profile at provider level
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/journalProfiles/ledgerAccountToPayrollComponentLinks/{ledgerAccountToPayrollComponentLinkId}
@desc Details of a ledger account to payroll component link at provider level
@required {ledgerAccountToPayrollComponentLinkId: str(uuid) # The unique identifier of a ledger account to payroll component link}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/journalProfiles/ledgerAccountToPayrollComponentLinks/{ledgerAccountToPayrollComponentLinkId}
@desc Edit the details of a ledger account to payroll component link record at provider level
@required {ledgerAccountToPayrollComponentLinkId: str(uuid) # The unique identifier of a ledger account to payroll component link}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/journalProfiles/ledgerAccountToPayrollComponentLinks/{ledgerAccountToPayrollComponentLinkId}
@desc Delete a ledger account to payroll component link at provider level
@required {ledgerAccountToPayrollComponentLinkId: str(uuid) # The unique identifier of a ledger account to payroll component link}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/journalProfiles/{journalProfileId}/costCenters
@desc List of cost centers at provider level
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/journalProfiles/{journalProfileId}/costCenters
@desc Create a new cost center for a journal profile at provider level
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/journalProfiles/costCenters/{costCenterId}
@desc Details of a cost center at provider level
@required {costCenterId: str(uuid) # The unique identifier of a cost center}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/journalProfiles/costCenters/{costCenterId}
@desc Edit the details of a cost center at provider level
@required {costCenterId: str(uuid) # The unique identifier of a cost center}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/journalProfiles/costCenters/{costCenterId}
@desc Delete a cost center at provider level
@required {costCenterId: str(uuid) # The unique identifier of a cost center}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/journalProfiles/{journalProfileId}/costUnits
@desc List of cost units at provider level
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/journalProfiles/{journalProfileId}/costUnits
@desc Create a new cost unit for a journal profile at provider level
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/journalProfiles/costUnits/{costUnitId}
@desc Details of a cost unit at provider level
@required {costUnitId: str(uuid) # The unique identifier of a cost unit}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/journalProfiles/costUnits/{costUnitId}
@desc Edit the details of a cost unit at provider level
@required {costUnitId: str(uuid) # The unique identifier of a cost unit}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/journalProfiles/costUnits/{costUnitId}
@desc Delete a cost unit at provider level
@required {costUnitId: str(uuid) # The unique identifier of a cost unit}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/journalprofiles/{journalProfileId}/CostCenterCostUnitMatrix
@desc Cost center and cost unit matrix
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/journalprofiles/{journalProfileId}/CostCenterCostUnitMatrix
@desc Edit the links between cost center and cost units
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/journalProfiles
@desc List of journal profiles
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}
@desc Details of a journal profile
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}
@desc Edit the details of a journal profile record
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}/ledgerAccounts
@desc List of ledger accounts
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}/ledgerAccounts
@desc Create a new ledger account for a journal profile
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalProfiles/ledgerAccounts/{ledgerAccountId}
@desc Details of a ledger account
@required {ledgerAccountId: str(uuid) # The unique identifier of a ledger account}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/journalProfiles/ledgerAccounts/{ledgerAccountId}
@desc Edit the details of a journal allocation record
@required {ledgerAccountId: str(uuid) # The unique identifier of a ledger account}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrolladministrations/journalProfiles/ledgerAccounts/{ledgerAccountId}
@desc Delete a ledger account
@required {ledgerAccountId: str(uuid) # The unique identifier of a ledger account}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}/ledgerAccountToPayrollComponentLinks
@desc List of ledger account to payroll component links
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}/ledgerAccountToPayrollComponentLinks
@desc Create a new ledger account to payroll component link for a journal profile
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, journalProfileId: str(uuid) # The unique identifier of a journal profile}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}/ledgerAccountToPayrollComponentLinks/metadata
@desc Metadata for ledger account to payroll component links
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalProfiles/ledgerAccountToPayrollComponentLinks/{ledgerAccountToPayrollComponentLinkId}
@desc Details of a ledger account to payroll component link
@required {ledgerAccountToPayrollComponentLinkId: str(uuid) # The unique identifier of a ledger account to payroll component link}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/journalProfiles/ledgerAccountToPayrollComponentLinks/{ledgerAccountToPayrollComponentLinkId}
@desc Edit the details of a ledger account to payroll component link record
@required {ledgerAccountToPayrollComponentLinkId: str(uuid) # The unique identifier of a ledger account to payroll component link}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrolladministrations/journalProfiles/ledgerAccountToPayrollComponentLinks/{ledgerAccountToPayrollComponentLinkId}
@desc Delete a ledger account to payroll component link
@required {ledgerAccountToPayrollComponentLinkId: str(uuid) # The unique identifier of a ledger account to payroll component link}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}/costCenters
@desc List of cost centers
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}/costCenters
@desc Create a new cost center for a journal profile
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalProfiles/costCenters/{costCenterId}
@desc Details of a cost center
@required {costCenterId: str(uuid) # The unique identifier of a cost center}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/journalProfiles/costCenters/{costCenterId}
@desc Edit the details of a cost center
@required {costCenterId: str(uuid) # The unique identifier of a cost center}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrolladministrations/journalProfiles/costCenters/{costCenterId}
@desc Delete a cost center
@required {costCenterId: str(uuid) # The unique identifier of a cost center}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}/costUnits
@desc List of cost units
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}/costUnits
@desc Create a new cost unit for a journal profile
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalProfiles/costUnits/{costUnitId}
@desc Details of a cost unit
@required {costUnitId: str(uuid) # The unique identifier of a cost unit}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/journalProfiles/costUnits/{costUnitId}
@desc Edit the details of a cost unit record
@required {costUnitId: str(uuid) # The unique identifier of a cost unit}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrolladministrations/journalProfiles/costUnits/{costUnitId}
@desc Delete a cost unit
@required {costUnitId: str(uuid) # The unique identifier of a cost unit}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}/CostCenterCostUnitMatrix
@desc Cost centers and cost unit matrix
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/journalProfiles/{journalProfileId}/CostCenterCostUnitMatrix
@desc Edit the links between cost centers and cost units
@required {journalProfileId: str(uuid) # The unique identifier of a journal profile}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/journalallocations
@desc List of journal allocations for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/journalallocations
@desc Create a new journal allocation record for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/journalallocations/{journalAllocationId}
@desc Details of a journal allocation
@required {journalAllocationId: str(uuid) # The unique identifier of the journal allocation}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/journalallocations/{journalAllocationId}
@desc Edit the details of a journal allocation record
@required {journalAllocationId: str(uuid) # The unique identifier of the journal allocation}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/journalallocations/{journalAllocationId}
@desc Delete a specific journal allocation record
@required {journalAllocationId: str(uuid) # The unique identifier of the journal allocation}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group user
@endpoint GET /user
@desc Get current user
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /user/{userId}
@desc Basic properties of a user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /user/{userId}
@desc Edit current user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /user/photo
@desc Photo of an user
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /user/photo
@desc Post user photo
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /user/photo
@desc Delete user photo
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group globalfilter
@endpoint GET /globalfilter/user/filtersettings/{employerId}
@desc Get user filter settings
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /globalfilter/user/filtersettings/{employerId}
@desc Edit the user filter settings
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/{providerId}/users
@desc List of provider users for an provider
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/users
@desc Create an SSO or Azure AD provider user for an provider
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/users/{userId}
@desc Details of a provider user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/users/{userId}
@desc Edit the details of a provider user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/users/{userId}
@desc Delete a specific provider user record
@required {userId: str(uuid) # The unique identifier of an user}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/users/{userId}/access
@desc Reinstate or Revoke access to Loket for a provider user (clients)
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/users/invite
@desc Send an invite to a provider user
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/users/{userId}/invite
@desc Resend or Revoke an invite for a provider user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/users/{userId}/authorizations
@desc The authorizations for the provider user
@required {userId: str(uuid) # The unique identifier of an user}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/users/{userId}/authorizations
@desc Manage the Provider user authorizations
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/users/{userId}/authorizationSet
@desc The authorization set for the user for the Provider
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/users/{userId}/authorizationGroups
@desc The authorization groups for the provider user
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/users/{userId}/authorizationGroups
@desc Manage the provider user authorization groups
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/users/{userId}/clients
@desc List of all the clients for the provider user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/authorizationgroups
@desc List authorization groups (teams) for the given provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/authorizationgroups
@desc Create an authorization group (team) for the provider.
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/authorizationgroups/{authorizationGroupId}
@desc Details of an authorization group
@required {authorizationGroupId: str(uuid) # The unique identifier of a authorization group}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/authorizationgroups/{authorizationGroupId}
@desc Edit the details of an authorization group
@required {authorizationGroupId: str(uuid) # The unique identifier of a authorization group}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/authorizationgroups/{authorizationGroupId}
@desc Delete an authorization group
@required {authorizationGroupId: str(uuid) # The unique identifier of a authorization group}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/authorizationgroups/{authorizationGroupId}/authorizations
@desc The authorizations for the authorization group
@required {authorizationGroupId: str(uuid) # The unique identifier of a authorization group}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/authorizationgroups/{authorizationGroupId}/authorizations
@desc Manage the authorization group authorizations
@required {authorizationGroupId: str(uuid) # The unique identifier of a authorization group}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/authorizationgroups/{authorizationGroupId}/employers
@desc The employers for the authorization group
@required {authorizationGroupId: str(uuid) # The unique identifier of a authorization group}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/authorizationgroups/{authorizationGroupId}/employers
@desc Manage the authorization group employers
@required {authorizationGroupId: str(uuid) # The unique identifier of a authorization group}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/authorizationgroups/{authorizationGroupId}/users
@desc The users for the authorization group
@required {authorizationGroupId: str(uuid) # The unique identifier of a authorization group}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/authorizationgroups/{authorizationGroupId}/users
@desc Manage the authorization group users
@required {authorizationGroupId: str(uuid) # The unique identifier of a authorization group}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/employers/{employerId}/authorizationGroups
@desc The authorization groups for the employer
@required {providerId: str(uuid) # The unique identifier of a provider, employerId: str(uuid) # The unique identifier of the employer}
@optional {includeAddEmployerWizardInformation: bool=false # Include information about the add employer wizard. This is only relevant when the user is authorized to add employers. If this parameter is not supplied, the information will not be included., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/{providerId}/employers/{employerId}/authorizationGroups
@desc Manage the authorization groups linked to the employer
@required {providerId: str(uuid) # The unique identifier of a provider, employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group users
@endpoint GET /users/integrations
@desc List of all the integrations for the logon user
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/users/{userId}/integrations
@desc List of all the integrations for the employer user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/users/{userId}/integrations/{applicationId}
@desc Change an integration
@required {userId: str(uuid) # The unique identifier of an user, applicationId: str(uuid) # The unique identifier of an integration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/users/{userId}/integrations/{applicationId}
@desc Delete an integration
@required {userId: str(uuid) # The unique identifier of an user, applicationId: str(uuid) # The unique identifier of an integration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/users/{userId}/integrations/{applicationId}/logo
@desc Download the application logo
@required {userId: str(uuid) # The unique identifier of an user, applicationId: str(uuid) # The unique identifier of an application}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/users/{userId}/integrations
@desc List of all the integrations for a provider user
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/users/{userId}/integrations/{applicationId}
@desc Change an integration for a provider user
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/users/{userId}/integrations/{applicationId}
@desc Delete an integration for a provider user
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/users/{userId}/integrations/{applicationId}/logo
@desc Download the application logo
@required {userId: str(uuid) # The unique identifier of an user, applicationId: str(uuid) # The unique identifier of an application}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group users
@endpoint GET /users/clients
@desc List of all the clients for the logon user
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/users/{userId}/clients
@desc List of all the clients for the employer user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group users
@endpoint GET /users/connectedApplications
@desc List of all the connected applications for the logon user
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /users/connectedApplications
@desc Finish the OAuth flow for a connected application
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /users/connectedApplications/initiate
@desc Initiate the OAuth flow to connect to an application
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /users/connectedApplications/refresh
@desc Initiate the OAuth flow to refresh a connection for an application
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /users/connectedApplications/{connectedApplicationId}
@desc Delete a connected application
@required {connectedApplicationId: str(uuid) # The unique identifier of a connected application}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/users/{userId}/connectedApplications
@desc List of all the connected applications for the logon user
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/users/{userId}/connectedApplications/initiate
@desc Initiate the OAuth flow to connect to an application
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/users/{userId}/connectedApplications/refresh
@desc Initiate the OAuth flow to refresh a connection for an application
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/users/connectedApplications/{connectedApplicationId}
@desc Delete a connected application
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/users
@desc List of users for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/users
@desc Create an SSO or Azure AD user for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/users/{userId}/access
@desc Reinstate or Revoke access to Loket for an employer user (clients)
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/users/invite
@desc Send an invite to an email address to create an employer user
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/users/{userId}/invite
@desc Resend or Revoke an invite for an employer user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/users/{userId}
@desc Details of an employer user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/users/{userId}
@desc Edit the details of an employer user user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/users/{userId}
@desc Delete a specific employer user record
@required {userId: str(uuid) # The unique identifier of an user}
@optional {transferNotificationsTo: str(uuid) # The unique identifier of the user to transfer unread notifications to}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/users/{userId}/informationForDelete
@desc Information about the employer user to determine if the user can be deleted
@required {userId: str(uuid) # The unique identifier of an user, employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/{employerId}/users/{userId}
@desc unlink employer user and employer
@required {employerId: str(uuid) # The unique identifier of the employer, userId: str(uuid) # The unique identifier of an user}
@optional {transferNotificationsTo: str(uuid) # The unique identifier of the user to transfer unread notifications to}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/employers/users
@desc List of all employer users for the provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/users/{userId}/employers
@desc List of employers linked to the user
@required {userId: str(uuid) # The unique identifier of an user}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/users/departments
@desc Get the list of departments that the user has access to
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/users/{userId}/departments
@desc Link or unlink departments from an user.
@required {employerId: str(uuid) # The unique identifier of the employer, userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/users/{userId}/notificationsettings
@desc The notification settings for the user
@required {userId: str(uuid) # The unique identifier of an user}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/users/{userId}/notificationsettings
@desc Manage the employer user notification settings
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/users/{userId}/notificationset
@desc The notification set for the user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/users/{userId}/authorizations
@desc The authorizations for the user
@required {employerId: str(uuid) # The unique identifier of an employer, userId: str(uuid) # The unique identifier of an user}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/users/{userId}/authorizations
@desc Manage the employer user authorizations
@required {employerId: str(uuid) # The unique identifier of an employer, userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/users/{userId}/authorizationSet
@desc The authorization set for the user for the employer
@required {employerId: str(uuid) # The unique identifier of an employer, userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/users/link
@desc Link an existing employer user to this employer.
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/recommendedactions
@desc List of recommended actions for an employer, per logged on user
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/users/{userId}/employee
@desc Get the Employee linked to the user.
@required {employerId: str(uuid) # The unique identifier of the employer, userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/users/{userId}/employee
@desc Link or unlink Employee from an user.
@required {employerId: str(uuid) # The unique identifier of the employer, userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/userResponsibilities
@desc List of user responsibilities for the provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/userResponsibilities
@desc Create an user responsibility for a provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/{providerId}/userResponsibilities/{userResponsibilityId}
@desc Edit an user responsibility
@required {userResponsibilityId: str(uuid) # The unique identifier of a user responsibility, providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/userResponsibilities
@desc List of user responsibilities for the employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/userResponsibilities/{userResponsibilityId}/users
@desc List of employer users and their linked status to the user responsibility for the given employer
@required {userResponsibilityId: str(uuid) # The unique identifier of a user responsibilityId, employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/userResponsibilities/{userResponsibilityId}/users
@desc Manage the users linked to the user responsibility
@required {userResponsibilityId: str(uuid) # The unique identifier of a user responsibilityId, employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/users/{userId}/userResponsibilities
@desc List of responsibilities for the user
@required {employerId: str(uuid) # The unique identifier of the employer, userId: str(uuid) # The unique identifier of an user}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/{employerId}/users/{userId}/userResponsibilities
@desc Manage the responsibilities linked to the user
@required {employerId: str(uuid) # The unique identifier of the employer, userId: str(uuid) # The unique identifier of an user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/dashboardLicenses
@desc Get the list dashboard licenses
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/{employerId}/dashboardLicenses
@desc Edit the dashboard license
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/externaltenants
@desc Get available external tenants (provider scope)
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/externaltenants
@desc Get available external tenants (employer scope)
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/users/{providerUserId}/configuredexternaltenant
@desc Configured external tenant for a provider user
@required {providerUserId: str(uuid) # The unique identifier of a provider user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/users/{providerUserId}/configuredexternaltenant
@desc Add an external tenant for a provider user
@required {providerUserId: str(uuid) # The unique identifier of a provider user}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/users/{employerUserId}/configuredexternaltenant
@desc Configured external tenant for an employer user
@required {employerUserId: str(uuid) # The unique identifier of a employer user}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/users/{employerUserId}/configuredexternaltenant
@desc Add an external tenant for an employer user
@required {employerUserId: str(uuid) # The unique identifier of a employer user}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/payslips
@desc List of payslips for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/payslips/{year}
@desc Download payslips for an employment and year
@required {employmentId: str(uuid) # The unique identifier of the employment, year: int(int32) # The payroll year}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/payslips/{payrollrunId}
@desc Download payslips of an employment for a payrollrun
@required {employmentId: str(uuid) # The unique identifier of the employment, payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/payrollperiodresults/year/{year}
@desc Get payroll period results of an employment for a year
@required {employmentId: str(uuid) # The unique identifier of the employment, year: int(int32) # The payroll year}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/payslips/summary/{payrollPeriodId}
@desc Download a cummulative payslip for a single payroll period
@required {employmentId: str(uuid) # The unique identifier of the employment, payrollPeriodId: str(uuid) # The unique identifier of an payroll period}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/wagesheet/{year}
@desc Download wage sheets for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment, year: int(int32) # The payroll year}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/yearendstatements
@desc Year-end statements for the employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/yearendstatements/{year}
@desc Download year-end statement of an employment for a year
@required {employmentId: str(uuid) # The unique identifier of the employment, year: int(int32) # The payroll year}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/yearendstatements
@desc Year-end statements for the payroll administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {includeEmploymentsWithMijnLoketAccess: bool=true # Indicates whether to include employments for which the employee has access to Mijn Loket. Possible values for this parameter are: - true: Include employments with Mijn Loket access(All employments) - false: Exclude employments with Mijn Loket access, filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/yearendstatements/{year}
@desc Download year-end statement of a payroll administration for a year
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, year: int(int32) # The payroll year}
@optional {includeEmployeeSelfService: bool # If true; then the year-end statements for employments of which the employee has access to the employee self service module will be included in the response. If false; this specific group will be excluded.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrolltaxreturns
@desc List of tax returns for an administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/payrolltaxreturns
@desc Change the status of payroll tax returns
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrolltaxreturns/{payrolltaxreturnId}/overview
@desc Download the overview report of a payroll tax return
@required {payrolltaxreturnId: str(uuid) # The unique identifier of the payroll tax return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrolltaxreturns/{payrolltaxreturnId}/message
@desc Download the message of a payroll tax return
@required {payrolltaxreturnId: str(uuid) # The unique identifier of the payroll tax return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrolltaxreturns/{payrolltaxreturnId}/sepafile
@desc Download the SEPA file for a payroll tax return
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrolltaxreturnId: str(uuid) # The unique identifier of the payroll tax return, requestedExecutionDate: str(date) # This value is used when creating the sepa file to set the value of \}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrolltaxreturns/{payrolltaxreturnId}/sepahash
@desc Get a SEPA hash for a payroll tax return
@required {payrolltaxreturnId: str(uuid) # The unique identifier of the payroll tax return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrolltaxreturns/{payrolltaxreturnId}
@desc Details of a tax return for an administration
@required {payrolltaxreturnId: str(uuid) # The unique identifier of the payroll tax return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrolltaxreturns/{payrolltaxreturnId}/ideal
@desc Pay payroll taxes using IDEAL
@required {payrolltaxreturnId: str(uuid) # The unique identifier of the payroll tax return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrolltaxreturns/{payrolltaxreturnId}/idealPaymentStatus
@desc Get the status of the IDEAL payment
@required {payrolltaxreturnId: str(uuid) # The unique identifier of the payroll tax return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrolltaxreturns/{payrolltaxreturnId}/report
@desc Get payroll tax return report
@required {payrolltaxreturnId: str(uuid) # The unique identifier of the payroll tax return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/payrolltaxreturns/{payrolltaxreturnId}/sendresponsemessage
@desc Send the response message for the payroll tax return
@required {payrolltaxreturnId: str(uuid) # The unique identifier of the payroll tax return}
@optional {responseMessageFile: str # base64 encoded xml file of the response message}
@returns(202) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/payrolltaxreturns/{messageReference}
@desc Change the status of payroll tax returns
@required {messageReference: str # The unique identifier of the payroll tax return, action: str(confirm/cancel) # The action to perform on the payroll tax return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/payrolltaxreturns/{messageReference}/sendresponsemessagebymessagereference
@desc Send the response message for the payroll tax return
@required {messageReference: str # The unique identifier of the payroll tax return}
@optional {responseMessageFile: str # base64 encoded xml file of the response message}
@returns(202) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrolltaxreturns/initiate
@desc Initiate payroll tax return (aanmaken loonaangifte)
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrolltaxreturns/initiateForPreviousYear
@desc Initiate payroll tax return for a closed year (aanmaken loonaangifte voorgaand jaar)
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {X-ValidateOnly: bool # If set to true only the validations will be performed no changes will be committed.}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrolltaxreturns/initiateAnnual
@desc Initiate an annual payroll tax return
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {X-ValidateOnly: bool # If set to true only the validations will be performed no changes will be committed.}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/payrollperiods/{payrollPeriodId}/payrolltaxreturns
@desc Initiate payroll tax return Collective
@required {payrollPeriodId: int(int32) # The unique identifier of the payroll period to return.}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/payrollperiods/{payrollPeriodId}/payrolltaxreturns
@desc Update payroll tax return status Collective
@required {payrollPeriodId: int(int32) # The unique identifier of the payroll period to return.}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/payrolltaxreturns/{payrolltaxreturnId}/undo
@desc Undo payroll tax return (verwijderen loonaangifte)
@required {payrolltaxreturnId: str(uuid) # The unique identifier of the payroll tax return}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrolltaxreturns/withdrawIncomeRelationshipNumber
@desc Add a withdraw an income relationship number to an open payroll tax return
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/payrolltaxreturns/{payrolltaxreturnId}/resend
@desc Resend payroll tax return (Herzenden loonaangifte)
@required {payrolltaxreturnId: str(uuid) # The unique identifier of the payroll tax return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group locationservices
@endpoint GET /locationservices/address
@desc Acquire the address for a combination of `postalCode` and `houseNumber`
@required {postalCode: str # A valid postal code, houseNumber: int # A valid house number (without addition)}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group address
@endpoint GET /address/search
@desc Search for an address
@required {query: str # A term by wich the address might be found the more detailed the better the search results}
@optional {lat: num(double) # latitude for the bias in the search results. Results will be ordered in likelyhood to be relevant to the given latitude (and longitude), lon: num(double) # longitude for the bias in the search results. Results will be ordered in likelyhood to be relevant to the given longitude (and latitude), top: int(int32) # the top x number of results that are returned. If not supplied 5 results are returned}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group route
@endpoint GET /route/calculate
@desc Calculates the distance for a given route
@required {query: str # The route as defined by the geo-coördinates.  Use the following formatting -> latitude,longitude;latitude,longitude;latitude,longitude etc  Atleast 2 sets of geo-coördinates have to be provided in order for a route to be calculated  Please note: latitude must be a value between -90 and 90 where as longitude must be a value between -180 and 180, routeType: str(fastest/shortest) # The method of how the route is calculated. This can influence the distance to travel.  Integers can be used instead of the strings 1 --> fastest / snelste 2 --> shortest / kortste}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group aowDate
@endpoint GET /aowDate
@desc Acquire the AOW date
@required {dateOfBirth: str(date) # The date of birth of the employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group chamberofcommerce
@endpoint GET /chamberofcommerce/{chamberOfCommerceNumber}/companyinformation
@desc Acquire company information
@required {chamberOfCommerceNumber: str # The unique identifier of the kvk (8 numbers)}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/{employerId}/datanewbusinesstoken
@desc Get Data New Business token for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group datanewbusiness
@endpoint GET /datanewbusiness/token
@desc Get Data New Business token
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /datanewbusiness/functions
@desc Get a list of functions
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/{employerId}/employees/employments/calendar/availablehours
@desc List available hours per employment (for calendar)
@required {employerId: str(uuid) # The unique identifier of the employer, startDate: str(date) # A valid date (yyyy-MM-dd). First day of the timebox for which calendar data will be collected., endDate: str(date) # A valid date (yyyy-MM-dd). Last day of the timebox for which calendar data will be collected.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/calendar/leave
@desc List leave per employment (for calendar)
@required {employerId: str(uuid) # The unique identifier of the employer, startDate: str(date) # A valid date (yyyy-MM-dd). First day of the timebox for which calendar data will be collected., endDate: str(date) # A valid date (yyyy-MM-dd). Last day of the timebox for which calendar data will be collected.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/calendar/leaverequests
@desc List leave requests per employment (for calendar)
@required {employerId: str(uuid) # The unique identifier of the employer, startDate: str(date) # A valid date (yyyy-MM-dd). First day of the timebox for which calendar data will be collected., endDate: str(date) # A valid date (yyyy-MM-dd). Last day of the timebox for which calendar data will be collected.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/calendar/revokeleaverequests
@desc List leave requests per employment (for calendar)
@required {employerId: str(uuid) # The unique identifier of the employer, startDate: str(date) # A valid date (yyyy-MM-dd). First day of the timebox for which calendar data will be collected., endDate: str(date) # A valid date (yyyy-MM-dd). Last day of the timebox for which calendar data will be collected.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/calendar/absences
@desc List absences per employment (for calendar)
@required {employerId: str(uuid) # The unique identifier of the employer, startDate: str(date) # A valid date (yyyy-MM-dd). First day of the timebox for which calendar data will be collected., endDate: str(date) # A valid date (yyyy-MM-dd). Last day of the timebox for which calendar data will be collected.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/teamCalendar
@desc Get the calendar data of the department of the employment
@required {employmentId: str(uuid) # The unique identifier of the employment, startDate: str(date) # A valid date (yyyy-MM-dd). First day of the timebox for which calendar data will be collected., endDate: str(date) # A valid date (yyyy-MM-dd). Last day of the timebox for which calendar data will be collected.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/personalCalendar
@desc Gets the personal calendar
@required {employmentId: str(uuid) # The unique identifier of the employment, startDate: str(date) # A valid date (yyyy-MM-dd). First day of the timebox for which calendar data will be collected., endDate: str(date) # A valid date (yyyy-MM-dd). Last day of the timebox for which calendar data will be collected.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employmenttemplates
@desc Employment templates
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/employmenttemplates
@desc Create an Employment template for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {X-ValidateOnly: bool # If set to true only the validations will be performed no changes will be committed.}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employmenttemplates/{employmenttemplateId}
@desc Edit the details of an employment template
@required {employmenttemplateId: str(uuid) # The unique identifier of the concept employee}
@optional {X-ValidateOnly: bool # If set to true only the validations will be performed no changes will be committed.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employmenttemplates/{employmenttemplateId}
@desc Delete a employment template
@required {employmenttemplateId: str(uuid) # The unique identifier of the concept employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/declarations
@desc List of declarations for the employees of an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/declarations/review
@desc Review (accept or reject) open declarations
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/declarations/process
@desc Process approved declarations
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/declarations/{declarationId}/attachment
@desc Download attachment
@required {declarationId: str(uuid) # The unique identifier of the declaration}
@returns(200) OK. Output type may be of any extension type that is supported by Qwoater.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/declarations/{declarationId}/attachment
@desc Upload attachment
@required {declarationId: str(uuid) # The unique identifier of the declaration}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/declarations/withattachment
@desc Get a list of declarations with attachment
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/declarations/withattachment
@desc Get a list of declarations with attachment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group qwoatermicroservice
@endpoint GET /qwoatermicroservice/providers/employers/employees/employments/declarations/withattachment
@desc attachment indication for a set of declarationIds
@required {declarationIds: str(uuid) # DeclarationIds for which the attachment is available. This parameter may be included multiple times to indicate multiple declarationIds.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollperiods/initialise
@desc Initialise Payroll Period (automatische processen)
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollruns/initiate
@desc Initiate payroll run (verlonen)
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollruns/{payrollPeriodId}/initiationvalues
@desc Initiationvalues of a payrollrun
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, payrollPeriodId: str(uuid) # The unique identifier of an payroll period}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/payrollperiods/{payrollPeriodId}/payrollruns
@desc Initiate payroll run Collective
@required {payrollPeriodId: int(int32) # The unique identifier of the payroll period}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/payrollperiods/{payrollPeriodId}/payrollruns
@desc Update payroll run status Collective
@required {payrollPeriodId: int(int32) # The unique identifier of the payroll period}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/undo
@desc Undo payroll run (verwijderen loonrun)
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/transitioncompensation/calculate/defaults
@desc Get default input parameters transition compensation
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/transitioncompensation/calculate
@desc Calculate transition compensation
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/documents
@desc Get a list of employment dossier documents
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/documents
@desc Upload a document to the employment dossier
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/documents/{documentId}
@desc Download employment dossier document
@required {employmentId: str(uuid) # The unique identifier of the employment, documentId: str # The unique identifier of the employment dossier document}
@returns(200) OK. Output type may be of any extension type that is supported by Qwoater.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/{employmentId}/documents/{documentId}
@desc Delete a document in the employment dossier
@required {employmentId: str(uuid) # The unique identifier of the employment, documentId: str # The unique identifier of the employment dossier document}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/{employmentId}/documents/{documentId}
@desc Edit the details of an employment dossier document
@required {employmentId: str(uuid) # The unique identifier of the employment, documentId: str # The unique identifier of the employment dossier document}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/documents/{documentId}/audittrail
@desc Get audittrail for the document in the employment dossier
@required {documentId: str # The unique identifier of the employment dossier document, employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/documents/{documentId}
@desc Download employer dossier document
@required {employerId: str(uuid) # The unique identifier of the employer, documentId: str # The unique identifier of the employer dossier document}
@returns(200) OK. Output type may be of any extension type that is supported by Qwoater.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/{employerId}/documents/{documentId}
@desc Delete a document in the employer dossier
@required {employerId: str(uuid) # The unique identifier of the employer, documentId: str # The unique identifier of the employer dossier document}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/{employerId}/documents/{documentId}
@desc Edit the details of an employer dossier document
@required {employerId: str(uuid) # The unique identifier of the employer, documentId: str # The unique identifier of the employer dossier document}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/documents
@desc Get a list of employer dossier documents
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/documents
@desc Upload a document to the employer dossier
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/documents/{documentId}/audittrail
@desc Get audittrail for the document in the employer dossier
@required {documentId: str # The unique identifier of the employer dossier document, employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}/documents/{documentId}
@desc Download concept employee dossier document
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee, documentId: str # The unique identifier of the employment dossier document}
@returns(200) OK. Output type may be of any extension type that is supported by Qwoater.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/conceptemployees/{conceptEmployeeId}/documents/{documentId}
@desc Delete a document in the concept employee dossier
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee, documentId: str # The unique identifier of the employment dossier document}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/conceptemployees/{conceptEmployeeId}/documents/{documentId}
@desc Edit the details of an concept employee dossier document
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee, documentId: str # The unique identifier of the employment dossier document}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}/documents
@desc Get a list of concept employee dossier documents
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/conceptemployees/{conceptEmployeeId}/documents
@desc Upload a document to the concept employee dossier
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(202) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}/documents/{documentId}/audittrail
@desc Get audittrail for the document in the concept employee dossier
@required {documentId: str # The unique identifier of the employment dossier document, conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}/dossier"
@desc Document count
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/conceptemployees/{conceptEmployeeId}/dossier"
@desc Delete the complete concept employee dossier
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/documenttemplates/{documentId}
@desc Download template document
@required {employerId: str(uuid) # The unique identifier of the employer, documentId: str # The unique identifier of the document template}
@returns(200) OK.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/{employerId}/documenttemplates/{documentId}
@desc Delete a document template in the employer dossier
@required {employerId: str(uuid) # The unique identifier of the employer, documentId: str # The unique identifier of the document template}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/{employerId}/documenttemplates/{documentId}
@desc Edit the details of an document template
@required {employerId: str(uuid) # The unique identifier of the employer, documentId: str # The unique identifier of the document template}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/documenttemplates
@desc Get a list of document templates
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/documenttemplates
@desc Upload a document template to the employer dossier
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/documenttemplates/{documentId}/generatedocument/preview
@desc Generate a document for an employment - preview
@required {employmentId: str(uuid) # The unique identifier of the employment, documentId: str # The unique identifier of the template}
@returns(200) OK.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/documenttemplates/{documentId}/generatedocument
@desc Generate a document for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment, documentId: str # The unique identifier of the template}
@returns(202) Accepted. Document is generated and stored.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/conceptemployees/{conceptEmployeeId}/documenttemplates/{documentId}/generatedocument/preview
@desc Generate a document for an concept employee - preview
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee, documentId: str # The unique identifier of the template}
@returns(200) OK.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/conceptemployees/{conceptEmployeeId}/documenttemplates/{documentId}/generatedocument
@desc Generate a document for an concept employee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee, documentId: str # The unique identifier of the template}
@returns(200) OK. Document is generated and stored.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/documenttemplates/{documentId}/generatedocuments
@desc Generate documents for selected employments
@required {employerId: str(uuid) # The unique identifier of the employer, documentId: str # The unique identifier of the template}
@returns(202) OK. The process of generating documents has started.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/signature/report
@desc Download signature report for an employer
@required {employerId: str(uuid) # The unique identifier of the employer, startDate: str(date) # The report will include document signatures which were started on or after the startdate, endDate: str(date) # The report will include document signatures which were started on or before the enddate}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/documents/{documentId}/signature/initiate
@desc Initiate signature - Employment
@required {employmentId: str(uuid) # The unique identifier of the employment, documentId: str # The unique identifier of the template}
@returns(200) Initiated
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/documents/{documentId}/signature
@desc Signature details - Employment
@required {employmentId: str(uuid) # The unique identifier of the employment, documentId: str # The unique identifier of the template}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/{employmentId}/documents/{documentId}/signature
@desc Delete signature - Employment
@required {employmentId: str(uuid) # The unique identifier of the employment, documentId: str # The unique identifier of the template}
@returns(200) OK.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/documents/{documentId}/signature/report
@desc Retrieve the report of the signing - Employment
@required {employmentId: str(uuid) # The unique identifier of the employment, documentId: str # The unique identifier of the template}
@returns(200) OK.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/conceptemployees/{conceptEmployeeId}/documents/{documentId}/signature/initiate
@desc Initiate signature - Conceptemployee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee, documentId: str # The unique identifier of the template}
@returns(200) Initiated
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}/documents/{documentId}/signature
@desc Signature details - Conceptemployee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee, documentId: str # The unique identifier of the template}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/conceptemployees/{conceptEmployeeId}/documents/{documentId}/signature
@desc Delete signature - Conceptemployee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee, documentId: str # The unique identifier of the template}
@returns(200) OK.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}/documents/{documentId}/signature/report
@desc Retrieve the report of the signing - Conceptemployee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee, documentId: str # The unique identifier of the template}
@returns(200) OK.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/documents/authorizations
@desc List of authorizations
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/{employerId}/documents/authorizations
@desc Edit the authorization matrix
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/documents/completedossier/initiate
@desc Generate complete dossier
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(202) Initiated
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/{employerId}/documents/completedossier
@desc Delete complete dossier
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/dossier/report
@desc Download dossier information for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/apgpensiondeclarations
@desc List of APG pension declarations for an administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/apgpensiondeclarations/{apgPensionDeclarationId}
@desc Detail APG pension declaration for an administration
@required {apgPensionDeclarationId: str(uuid) # The unique identifier of the payroll tax return}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/apgpensiondeclarations/{apgPensionDeclarationId}
@desc Change the status of a apg pension declaration
@required {apgPensionDeclarationId: str(uuid) # The unique identifier of the payroll tax return, action: str(confirm/cancel) # The action to perform on the apg pensiondeclaration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/apgpensiondeclarations/{apgPensionDeclarationId}/overview
@desc Download the overview report of an APG pension declaration
@required {apgPensionDeclarationId: str(uuid) # The unique identifier of the payroll tax return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/apgpensiondeclarations/{apgPensionDeclarationId}/message
@desc Download the message of a of an APG pension declaration
@required {apgPensionDeclarationId: str(uuid) # The unique identifier of the payroll tax return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/apgpensiondeclarations/initiate
@desc Initiate a APG pension declaration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/apgpensiondeclarations/initiateForPreviousYear
@desc Initiate APG pension declaration for a closed year (aanmaken pensioenaangifte voorgaand jaar)
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {X-ValidateOnly: bool # If set to true only the validations will be performed no changes will be committed.}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/apgpensiondeclarations/{apgPensionDeclarationId}/undo
@desc Undo APG pension declaration(verwijderen pensioenaangifte)
@required {apgPensionDeclarationId: str(uuid) # The unique identifier of the payroll tax return}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/upapensiondeclarations
@desc List of UPA pension declarations
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/externalparties/{externalPartyKey}/upapensiondeclarations/initiateforpreviousyear
@desc Initiate UPA pension declaration for a closed year (aanmaken pensioenaangifte voorgaand jaar)
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, externalPartyKey: int(int32) # The external party key is used to filter the collection on a specific external party key.}
@optional {X-ValidateOnly: bool # If set to true only the validations will be performed no changes will be committed.}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/upapensiondeclarations/{upaPensionDeclarationId}
@desc Detail UPA pension declaration
@required {upaPensionDeclarationId: str(uuid) # The unique identifier of the pension declaration.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/upapensiondeclarations/{upaPensionDeclarationId}
@desc Change the status of a upa pension declaration
@required {upaPensionDeclarationId: str(uuid) # The unique identifier of the pension declaration., action: str(confirm/cancel) # The action to perform on the upa pensiondeclaration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/upapensiondeclarations/{upaPensionDeclarationId}/undo
@desc Undo upa pension declaration(verwijderen pensioenaangifte)
@required {upaPensionDeclarationId: str(uuid) # The unique identifier of the pension declaration.}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/upapensiondeclarations/{upaPensionDeclarationId}/message
@desc Download the message of a of an UPA pension declaration
@required {upaPensionDeclarationId: str(uuid) # The unique identifier of the pension declaration.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/externalparties/{externalPartyKey}/upapensiondeclarations/initiate
@desc Initiate a UPA pension declaration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, externalPartyKey: int(int32) # The external party key is used to filter the collection on a specific external party key.}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/payrollperiods/{payrollPeriodId}/pensiondeclarations
@desc Initiate pension declaration Collective
@required {payrollPeriodId: int(int32) # The unique identifier of the payroll period to return.}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/payrollperiods/{payrollPeriodId}/pensiondeclarations
@desc Update pension declaration status Collective
@required {payrollPeriodId: int(int32) # The unique identifier of the payroll period to return.}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/ExternalPartyIdentifications
@desc List of identification data for external parties
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/ExternalPartyIdentifications
@desc Add the identification data for an external party for a provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/ExternalPartyIdentifications/{externalPartyIdentificationId}
@desc Details of an external party identification for a provider
@required {externalPartyIdentificationId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/ExternalPartyIdentifications/{externalPartyIdentificationId}
@desc Edit an external party identification record
@required {externalPartyIdentificationId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/ExternalPartyIdentifications/{externalPartyIdentificationId}
@desc Delete an external party identification record
@required {externalPartyIdentificationId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrollAdministrations/{payrollAdministrationId}/ExternalPartyIdentifications"
@desc List of identification data for external parties on payroll administration level
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrollAdministrations/{payrollAdministrationId}/ExternalPartyIdentifications"
@desc Add the identification data for an external party for a payroll administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrollAdministrations/ExternalPartyIdentifications/{externalPartyIdentificationId}
@desc Details of an external party identification for a payroll administration
@required {externalPartyIdentificationId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/payrollAdministrations/ExternalPartyIdentifications/{externalPartyIdentificationId}
@desc Edit an external party identification record
@required {externalPartyIdentificationId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrollAdministrations/ExternalPartyIdentifications/{externalPartyIdentificationId}
@desc Delete an external party identification record
@required {externalPartyIdentificationId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/pawwdeclarations
@desc List of Paww declarations
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/pawwdeclarations/initiate
@desc Initiate a Paww declaration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/pawwdeclarations/{pawwDeclarationId}
@desc Detail Paww declaration
@required {pawwDeclarationId: str(uuid) # The unique identifier of the paww declaration.}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrolladministrations/pawwdeclarations/{pawwDeclarationId}
@desc Change the status of a Paww declaration
@required {pawwDeclarationId: str(uuid) # The unique identifier of the paww declaration., action: str(confirm/cancel) # The action to perform on the Paww declaration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/pawwdeclarations/{pawwDeclarationId}/message
@desc Download the message of a of an Paww declaration
@required {pawwDeclarationId: str(uuid) # The unique identifier of the paww declaration.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/pawwdeclarations/{pawwDeclarationId}/undo"
@desc Undo PAWW declaration(deactiveer PAWW aangifte)
@required {pawwDeclarationId: str(uuid) # The unique identifier of the paww declaration.}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/pensionWageStatement/Stipp/initiationvalues
@desc Pension wage statement process initiation values for STIPP
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/pensionWageStatement/Stipp/payrollRuns
@desc List of all the payroll runs for the pension wage statement STIPP
@required {process: str(Delete/Initiate) # Indicates what action is to be performed so the right set if payroll runs can be returned, payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data.  If not set the system date is used., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/pensionWageStatement/Stipp
@desc Download a pension wage statement for STIPP
@required {referenceDate: str(date) # Set a reference date for choosing the date dependent data.  If not set the system date is used., payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/pensionWageStatement/Stipp
@desc Delete the last created pension wage statement for STIPP
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/pensionWageStatement/Stipp
@desc Download the pension wage statement report for STIPP
@required {reportYear: int # A valid year for which the information is requested., payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/pensionWageStatement/Pggm/initiationvalues
@desc Pension wage statement process initiation values for PGGM
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/pensionWageStatement/Pggm/payrollRuns
@desc List of all the payroll runs for the pension wage statement PGGM
@required {process: str(Delete/Initiate) # Indicates what action is to be performed so the right set if payroll runs can be returned, payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {referenceDate: str(date) # Set a reference date for choosing the date dependent data.  If not set the system date is used., filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/pensionWageStatement/Pggm
@desc Download a pension wage statement for PGGM
@required {referenceDate: str(date) # Set a reference date for choosing the date dependent data.  If not set the system date is used., payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/pensionWageStatement/Pggm
@desc Delete the last created pension wage statement for PGGM
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/pensionWageStatement/Pggm
@desc Download the pension wage statement report for PGGM
@required {reportYear: int # A valid year for which the information is requested., payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/users/downloadrequests
@desc List of download requests for an employment
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/users/downloadrequests
@desc Create a download request
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/users/downloadrequests/{downloadRequestId}
@desc Details of a download request record
@required {downloadRequestId: str(uuid) # The unique identifier of the downloadRequest}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/users/downloadrequests/{downloadRequestId}
@desc Delete a specific download request record
@required {downloadRequestId: str(uuid) # The unique identifier of the downloadRequest}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/users/downloadrequests/{downloadRequestId}/file
@desc Download file of download request
@required {downloadRequestId: str(uuid) # The unique identifier of the downloadRequest}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/notes
@desc Get a list of notes for an employer.
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/notes
@desc Add a note for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/notes/{noteId}
@desc Details of an employer note
@required {noteId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/notes/{noteId}
@desc Edit an employer note record
@required {noteId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/notes/{noteId}
@desc Delete an employer note record
@required {noteId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/{employeeId}/notes
@desc Get a list of notes for an employee.
@required {employeeId: str(uuid) # The unique identifier of the employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/{employeeId}/notes
@desc Add a note for an employee
@required {employeeId: str(uuid) # The unique identifier of the employee}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/notes/{noteId}
@desc Details of an employee note
@required {noteId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/notes/{noteId}
@desc Edit an employee note record
@required {noteId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/notes/{noteId}
@desc Delete an employee note record
@required {noteId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/notes
@desc Get a list of employee notes for an employer.
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/{conceptEmployeeId}/notes
@desc Get a list of notes for an conceptemployee.
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/conceptemployees/{conceptEmployeeId}/notes
@desc Add a note for an conceptemployee
@required {conceptEmployeeId: str(uuid) # The unique identifier of the concept employee}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/conceptemployees/notes/{noteId}
@desc Details of an conceptemployee note
@required {noteId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/conceptemployees/notes/{noteId}
@desc Edit an conceptemployee note record
@required {noteId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/conceptemployees/notes/{noteId}
@desc Delete an conceptemployee note record
@required {noteId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/notes
@desc Get a list of notes for an employment.
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/employees/employments/{employmentId}/notes
@desc Add a note for an employment
@required {employmentId: str(uuid) # The unique identifier of the employment}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/employees/employments/notes/{noteId}
@desc Details of an employment note
@required {noteId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/employees/employments/notes/{noteId}
@desc Edit an employment note record
@required {noteId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/employees/employments/notes/{noteId}
@desc Delete an employment note record
@required {noteId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/notes
@desc Get a list of employment notes for an employer.
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/notes
@desc Get a list of notes for a payroll run.
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/payrollruns/{payrollrunId}/notes
@desc Add a note for a payroll run
@required {payrollrunId: str(uuid) # The unique identifier of the payroll run}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/payrollruns/notes/{noteId}
@desc Details of a payroll run note
@required {noteId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/payrolladministrations/payrollruns/notes/{noteId}
@desc Edit a payroll run note record
@required {noteId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrolladministrations/payrollruns/notes/{noteId}
@desc Delete a payroll run note record
@required {noteId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollruns/notes
@desc Get a list of payrollrun notes for an payrolladministration.
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/lastmodifiedversionnumbers
@desc List of employer last modified version numbers
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/lastmodifiedversionnumbers
@desc List of employment version numbers
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/emailtemplates
@desc List email templates for an provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/emailtemplates/{emailTemplateId}
@desc Details of an provider email template
@required {providerId: str(uuid) # The unique identifier of a provider, emailTemplateId: str(uuid) # The unique identifier of the email template record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/{providerId}/emailtemplates/{emailTemplateId}
@desc Edit an email template record at provider level
@required {providerId: str(uuid) # The unique identifier of a provider, emailTemplateId: str(uuid) # The unique identifier of the email template record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/{providerId}/emailtemplates/{emailTemplateId}
@desc Delete an email template record
@required {providerId: str(uuid) # The unique identifier of a provider, emailTemplateId: str(uuid) # The unique identifier of the email template record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/emailtemplates
@desc List email templates for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/emailtemplates/{emailTemplateId}
@desc Details of an email template
@required {employerId: str(uuid) # The unique identifier of the employer, emailTemplateId: str(uuid) # The unique identifier of the email template record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/{employerId}/emailtemplates/{emailTemplateId}
@desc Edit an employer email template record
@required {employerId: str(uuid) # The unique identifier of the employer, emailTemplateId: str(uuid) # The unique identifier of the email template record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/{employerId}/emailtemplates/{emailTemplateId}
@desc Delete an email template record
@required {employerId: str(uuid) # The unique identifier of the employer, emailTemplateId: str(uuid) # The unique identifier of the email template record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/eventnotificationconfigurations
@desc The event notification configuration for a payroll administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/eventnotificationconfigurations/{eventTypeId}
@desc Details of an event notification configuration for a payroll administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, eventTypeId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/eventnotificationconfigurations/{eventTypeId}
@desc Edit an event notification configuration for a payroll administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, eventTypeId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/eventnotificationconfigurations/{eventTypeId}
@desc Delete an event notification configuration for a payroll administration
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, eventTypeId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/eventnotificationconfigurations
@desc The event notification configuration for a provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/eventnotificationconfigurations/{eventTypeId}
@desc Details of an event notification configuration for a provider
@required {providerId: str(uuid) # The unique identifier of a provider, eventTypeId: str(uuid) # The unique identifier of the record}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/{providerId}/eventnotificationconfigurations/{eventTypeId}
@desc Edit an event notification configuration for a provider
@required {providerId: str(uuid) # The unique identifier of a provider, eventTypeId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/{providerId}/eventnotificationconfigurations/{eventTypeId}
@desc Delete an event notification configuration for a provider
@required {providerId: str(uuid) # The unique identifier of a provider, eventTypeId: str(uuid) # The unique identifier of the record}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group applications
@endpoint GET /applications/{applicationId}/authorizations
@desc Authorizations for the application
@required {applicationId: str(uuid) # The unique identifier of an application}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /applications/{applicationId}/logo
@desc Download the application logo
@required {applicationId: str(uuid) # The unique identifier of an application}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/{employerId}/applications
@desc List of all the applications available to the employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/applications/{applicationId}/users
@desc List of all the users linking the applications and the employer
@required {employerId: str(uuid) # The unique identifier of the employer, applicationId: str(uuid) # The unique identifier of an application}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/applications/{applicationId}/registerInterest"
@desc Register a users interest for a marketplace entry
@required {employerId: str(uuid) # The unique identifier of the employer, applicationId: str(uuid) # The unique identifier of an application}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/auditTrail/employerData
@desc Get the employer data audit trail
@required {employerId: str(uuid) # The unique identifier of the employer, startDate: str # The start date, endDate: str # The end date}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/auditTrail/employeeData
@desc Get the employee data audit trail
@required {employerId: str(uuid) # The unique identifier of the employer, startDate: str # The start date, endDate: str # The end date}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/auditTrail/PayrollPeriodData
@desc Get payroll period data audit trail
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {startDate: str # The start date, endDate: str # The end date, payrollPeriodId: int(int32) # The unique identifier of the payroll period, filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group applicationset
@endpoint GET /applicationset/providers/employers/{employerId}/applicationsets
@desc List of applicationsets for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /applicationset/providers/employers/{employerId}/applicationsets
@desc Create an applicationset for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /applicationset/providers/employers/applicationsets/{applicationSetId}
@desc Edit the details of an applicationset
@required {applicationSetId: str(uuid) # The unique identifier of the Applicationset}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /applicationset/providers/employers/applicationsets/{applicationSetId}
@desc Delete a specific applicationset
@required {applicationSetId: str(uuid) # The unique identifier of the Applicationset}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /applicationset/providers/{providerId}/applicationsets
@desc List of applicationsets for a provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /applicationset/providers/{providerId}/applicationsets
@desc Create an applicationset for a provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /applicationset/providers/applicationsets/{applicationSetId}
@desc Edit the details of an applicationset
@required {applicationSetId: str(uuid) # The unique identifier of the Applicationset}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /applicationset/providers/applicationsets/{applicationSetId}
@desc Delete a specific applicationset
@required {applicationSetId: str(uuid) # The unique identifier of the Applicationset}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /applicationset/users/{userId}/applicationsets
@desc List of applicationsets for a user
@required {userId: str(uuid) # The unique identifier of an user}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /applicationset/users/{userId}/applicationsets
@desc Create an applicationset for a user
@required {userId: str(uuid) # The unique identifier of an user}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /applicationset/users/applicationsets/{applicationSetId}
@desc Edit the details of an applicationset for a user
@required {applicationSetId: str(uuid) # The unique identifier of the Applicationset}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /applicationset/users/applicationsets/{applicationSetId}
@desc Delete a specific applicationset for a user
@required {applicationSetId: str(uuid) # The unique identifier of the Applicationset}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /applicationset/applicationsets/general
@desc List of applicationsets provided by the Loket application
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group providers
@endpoint GET /v2/providers/employers/employees/employments/{employmentId}/payrollSimulatorData
@desc Overview of the data used in a payroll simulation
@required {employmentId: str(uuid) # The unique identifier of the employment}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/{providerId}/emailidentities
@desc List of EmailIdentities for a provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/emailidentities
@desc Create an EmailIdentity for a provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/emailidentities/{emailIdentityId}
@desc Delete an EmailIdentity for a provider
@required {emailIdentityId: str(uuid) # The emailIdentity.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/emailidentities/{emailIdentityId}/sendtestemail
@desc Provider emailIdentity test email
@required {emailIdentityId: str(uuid) # The emailIdentity.}
@returns(201) OK. The test email has been sent.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/{providerId}/emailidentities/verify
@desc Verify an EmailIdentity for a provider
@required {providerId: str(uuid) # The unique identifier of a provider}
@returns(201) Verified
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/emailidentities
@desc List of EmailIdentities for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/emailidentities
@desc Create an EmailIdentity for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/emailidentities/{emailIdentityId}
@desc Delete an EmailIdentity for an employer
@required {emailIdentityId: str(uuid) # The emailIdentity.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/emailidentities/{emailIdentityId}/sendtestemail
@desc Employer emailIdentity test email
@required {emailIdentityId: str(uuid) # The emailIdentity.}
@returns(201) OK. The test email has been sent.
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/emailidentities/verify
@desc Verify an EmailIdentity for an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(201) Verified
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/conceptemployees/import/{payrollAdministrationId}
@desc Import concept employees via a file
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 413: The request is larger than the server is willing or able to process., 415: The server refuses to accept the request because the payload format is in an unsupported format., 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrollAdministrations/{payrollAdministrationId}/import/employees
@desc Import employee via a csv file
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, year: int # The year of the period the data will be imported in., period: int # The period the data will be imported in., payslipType: int # The paysliptype to import the data in.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 413: The request is larger than the server is willing or able to process., 415: The server refuses to accept the request because the payload format is in an unsupported format., 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/employees/employments/WageProposals
@desc List of wage proposals for the employments of an employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/employees/employments/WageProposals
@desc Accept or reject wage proposals
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PATCH /v2/providers/employers/payrollAdministrations/{payrollAdministrationId}/mdvNotifications
@desc MDV notifications
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/{employerId}/proforma/initialize
@desc Initialize the proforma environment
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(202) Accepted
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/{employerId}/proforma
@desc Get the status of proforma for this employer
@required {employerId: str(uuid) # The unique identifier of the employer}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/workRelatedCostsSchemeFinancials
@desc List of work related costs scheme (WKR)
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint POST /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/workRelatedCostsSchemeFinancials
@desc Create a work related costs scheme financial (WKR) record
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, journalProfileId: str(uuid) # The unique identifier of a journal profile}
@returns(201) Created
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/workRelatedCostsSchemeFinancials/{workRelatedCostsSchemeFinancialId}
@desc Details of a work related costs scheme financial (WKR)
@required {workRelatedCostsSchemeFinancialId: str(uuid) # The unique identifier of a work related costs scheme}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint PUT /v2/providers/employers/payrolladministrations/workRelatedCostsSchemeFinancials/{workRelatedCostsSchemeFinancialId}
@desc Edit the details of a work related costs scheme financial record
@required {workRelatedCostsSchemeFinancialId: str(uuid) # The unique identifier of a work related costs scheme}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 409: Conflict, 500: Internal Server Error}

@endpoint DELETE /v2/providers/employers/payrolladministrations/workRelatedCostsSchemeFinancials/{workRelatedCostsSchemeFinancialId}
@desc Delete a work related costs scheme financial
@required {workRelatedCostsSchemeFinancialId: str(uuid) # The unique identifier of a work related costs scheme}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/workRelatedCostsSchemeMatrix
@desc Work related costs scheme matrix (WKR)
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration}
@optional {filter: str # Filter the collection, orderBy: str # Order the collection on one or more fields, pageNumber: int(int32)=1 # Specifies which page should be returned, pageSize: int(int32)=250 # Specifies the number of objects per page}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /v2/providers/employers/payrolladministrations/{payrollAdministrationId}/workRelatedCostsSchemeReport
@desc Download the work related costs scheme report
@required {payrollAdministrationId: str(uuid) # The unique identifier of an administration, reportYear: int # A valid year for which the information is requested.}
@optional {payrollComponentSet: str(uuid) # The given payroll component set will influence the payroll components included in the output}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group provider
@endpoint GET /provider/providers/{providerId}/employers/modules
@desc List modules per employer for all employers of the provider
@required {providerId: str(uuid) # The unique identifier of a provider, modules: [str] # Allows the user to filter the modules.  If the option "All" is selected, all modules are returned. If "None" is selected, no modules are returned.  If "Selection" is selected, only the modules that are supplied in the `moduleIds` querystring parameter are returnd. If "OnlyEnabled" is selected, only the modules that are enabled for the employer are returned.}
@optional {moduleIds: [str(uuid)] # A comma separated list of module ids to filter the modules on. This parameter is only used when the `module` querystring parameter is set to "Selection".}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /provider/providers/{providerId}/payrollAdministrations/YearEndStatements
@desc List of year-end statements for all payroll administrations of the provider
@required {providerId: str(uuid) # The unique identifier of a provider, reportYear: int # A valid year for which the information is requested., referenceDate: str(date) # Set a reference date for choosing the date dependent data.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /provider/providers/{providerId}/payrollAdministrations/Payslips
@desc List of payslips per type for all payroll administrations of the provider
@required {providerId: str(uuid) # The unique identifier of a provider, startDate: str # The start date, endDate: str # The end date}
@optional {testYear: bool # If set to true, only payroll periods that are part of a test year are included in the result. If set to false, only payroll periods not part of a test year are included in the result.}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endpoint GET /provider/providers/{providerId}/payrollAdministrations/employmentTurnover
@desc List of employment turnover per payroll administration for the provider
@required {providerId: str(uuid) # The unique identifier of a provider, startDate: str # The start date, endDate: str # The end date}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@group payrolltaxreturn
@endpoint GET /payrolltaxreturn/providers/employers/payrolladministrations/payrolltaxreturns/{payrollTaxReturnId}/report
@desc Download the overview report of a payroll tax return
@required {payrollTaxReturnId: str(uuid) # The unique identifier of the payroll tax return}
@returns(200) OK
@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}

@endgroup

@end
