openapi: 3.0.1
info:
  title: Visma Nmbrs Public REST API
  description: Nmbrs Public REST API
  contact:
    name: Visma Nmbrs
    url: 'https://support.nmbrs.com/hc/en-us'
    email: tim.nelis@visma.com
  version: Global
  termsOfService: 'https://www.nmbrs.com/en/terms'
tags:
  - name: Address
  - name: BankAccount
  - name: ContactPerson
  - name: Company
  - name: Contract
  - name: CostCenter
  - name: Days
  - name: Debtor
  - name: Department
  - name: Document
  - name: Employee
  - name: Employment
  - name: ExtraField
  - name: Function
  - name: Hours
  - name: Leave
  - name: Manager
  - name: Salary
  - name: Schedule
  - name: StaticList
  - name: Subscription
  - name: UserAccount
  - name: WageComponent
  - name: SVWSettings
  - name: WageTax
  - name: WageTaxSettings
  - name: PensionExport
paths:
  /api/companies:
    get:
      summary: Get company list
      tags:
        - Company
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyListResponse'
              examples:
                Example 1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - companyId: 5b6a77c7-6abe-4f31-93dc-2692169e3ea4
                        number: '1'
                        name: Nmbrs BV
                        debtorId: 45d8ad44-ffb8-4691-87d8-7a7a5f4376e9
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanies
      description: Get list of companies the user has access to.
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - company.info
            - company.info.read
  '/api/companies/{companyId}/employees':
    parameters:
      - $ref: '#/components/parameters/companyid'
    post:
      summary: Create employee
      operationId: createEmployee
      responses:
        '201':
          description: 201 Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateEmployeeResponse'
              examples:
                Created employee:
                  value:
                    employeeId: d30ec597-bd29-453e-9613-7786297eedcc
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: 'Create a new employee in a company. Using this call, you can create an employee with personal information added to the employee. An employeeId will be returned and can be used to update other employee endpoints as contracts, schedule, salary, etc.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEmployee'
            examples:
              Example 1:
                value:
                  PersonalInfo:
                    personalInfoId: 0039b188-b5f5-49a6-a3d5-0448ce4042ee
                    basicInfo:
                      employeeNumber: 98072
                      firstName: John
                      firstNameInFull: string
                      prefix: van der
                      initials: string
                      lastName: Doe
                      employeeType: applicant
                    birthInfo:
                      birthDate: '1980-02-27'
                      birthCountryCodeISO: NL
                      nationalityCodeISO: PT
                      deceasedOn: '1980-02-27'
                      gender: unspecified
                    contactInfo:
                      privateEmail: doe@private.com
                      businessEmail: doe@business.com
                      businessPhone: '+351222222'
                      businessMobilePhone: '+351222222'
                      privatePhone: '+351222222'
                      privateMobilePhone: '+351222222'
                      otherPhone: '+351222222'
                    partnerInfo:
                      partnerPrefix: string
                      partnerName: string
                      ascriptionCode: 0
                    period:
                      year: 2021
                      period: 4
                    createdAt: '2021-07-01T10:15:08Z'
                  AdditionalEmployeeInfo:
                    inServiceDate: '2019-08-24'
                    defaultEmployeeTemplate: string
        description: ''
      security:
        - Bearer:
            - employee.info
      tags:
        - Employee
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
    get:
      summary: Get employee list
      operationId: getEmployeesByCompany
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeListResponse'
              examples:
                Example 1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - employeeId: 492f6362-79a3-4452-8e1d-a83fbe5437c2
                        employeeBasicInfo:
                          employeeNumber: 98072
                          firstName: John
                          firstNameInFull: string
                          prefix: van der
                          initials: string
                          lastName: Doe
                          employeeType: applicant
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: |-
        Get list of all employees from a company. 
        Returns the current period data of each employee.
        Useful to map the employees available.
      tags:
        - Employee
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/employeeType'
        - $ref: '#/components/parameters/employeeId'
        - $ref: '#/components/parameters/createdFrom'
      security:
        - Bearer:
            - employee.info
            - employee.info.read
  '/api/companies/{companyId}/employees/addresses':
    get:
      tags:
        - Address
      summary: Get addresses history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesAddressessResponse'
              examples:
                History of addresses:
                  value:
                    pagination:
                      pageNumber: 1
                      pageSize: 1
                      firstPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/addresses?pageNumber=1&pageSize=20'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/addresses?pageNumber=1&pageSize=20'
                      totalPages: 1
                      totalRecords: 1
                      nextPage: null
                      previousPage: null
                    data:
                      - employeeId: c6cec567-e40a-4892-b7d6-021f10e93743
                        addresses:
                          - addressId: ad96c221-0e84-4a56-befb-58be6cb4d46e
                            isDefault: true
                            type: homeAddress
                            street: Naritaweg
                            houseNumber: '70'
                            houseNumberAddition: null
                            postalCode: 1043BZ
                            city: Amsterdam
                            stateProvince: Noord-Holland
                            countryISOCode: NL
                            createdAt: '2021-05-24T14:15:22Z'
                          - addressId: f0aafc05-e7f7-49e8-b81b-19ad97ba5be4
                            isDefault: false
                            type: homeAddress
                            street: Kalverstraat
                            houseNumber: '43'
                            houseNumberAddition: C
                            postalCode: 1234AB
                            city: Amsterdam
                            stateProvince: Noord-Holland
                            countryISOCode: NL
                            createdAt: '2019-08-24T14:15:22Z'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getAddressesByCompany
      description: |-
        Get addresses from all employees of a company.

        For each employee, this call returns the mutation history. 
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      security:
        - Bearer:
            - employee.info
            - employee.info.read
    parameters:
      - $ref: '#/components/parameters/companyid'
  '/api/companies/{companyId}/employees/wagetaxsettings':
    get:
      summary: Get employee wage tax settings history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesWageTaxesResponse'
              examples:
                History of addresses:
                  value:
                    pagination:
                      pageNumber: 1
                      pageSize: 1
                      firstPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/addresses?pageNumber=1&pageSize=20'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/addresses?pageNumber=1&pageSize=20'
                      totalPages: 1
                      totalRecords: 1
                      nextPage: null
                      previousPage: null
                    data:
                      - employeeId: c6cec567-e40a-4892-b7d6-021f10e93743
                        addresses:
                          - addressId: ad96c221-0e84-4a56-befb-58be6cb4d46e
                            isDefault: true
                            type: homeAddress
                            street: Naritaweg
                            houseNumber: '70'
                            houseNumberAddition: null
                            postalCode: 1043BZ
                            city: Amsterdam
                            stateProvince: Noord-Holland
                            countryISOCode: NL
                            createdAt: '2021-05-24T14:15:22Z'
                          - addressId: f0aafc05-e7f7-49e8-b81b-19ad97ba5be4
                            isDefault: false
                            type: homeAddress
                            street: Kalverstraat
                            houseNumber: '43'
                            houseNumberAddition: C
                            postalCode: 1234AB
                            city: Amsterdam
                            stateProvince: Noord-Holland
                            countryISOCode: NL
                            createdAt: '2019-08-24T14:15:22Z'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getWageTaxSettingsByCompany
      description: |-
        Get wage tax settings for employees of a company

        For each employee, this call returns the mutation history. 
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      security:
        - Bearer:
            - employee.payrollsettings
            - employee.payrollsettings.read
      x-stoplight:
        id: awfuydnrt1yox
      tags:
        - WageTaxSettings
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
  '/api/companies/{companyId}/employees/labouragreementsettings':
    get:
      summary: Get employee labour agreement settings history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesLabourAgreementsResponse'
              examples:
                Example 1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - employeeId: c6cec567-e40a-4892-b7d6-021f10e93743
                        labourAgreementSettings:
                          - labourAgreementId: ad96c221-0e84-4a56-befb-58be6cb4d46e
                            number: '254'
                            description: Afbouw
                            period:
                              year: 2021
                              period: 4
                            createdAt: '2019-08-24T14:15:22Z'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getLabourAgreementSettingsByCompany
      description: 'Get labour agreement settings for employees of a company. For each employee, this call returns the mutation history. '
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      security:
        - Bearer:
            - employee.payrollsettings
            - employee.payrollsettings.read
      x-stoplight:
        id: g6ydc6essbmr1
      tags:
        - LabourAgreementSettings
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
  '/api/companies/{companyId}/employees/contracts':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      tags:
        - Contract
      summary: Get contracts history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesContractsResponse'
              examples:
                History of contracts:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 20
                      firstPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/contracts?pageNumber=1&pageSize=20'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/contracts?pageNumber=3&pageSize=20'
                      totalPages: 3
                      totalRecords: 42
                      nextPage: null
                      previousPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/contracts?pageNumber=2&pageSize=20'
                    data:
                      - employeeId: 2fdb7514-d778-4fd7-8671-1f637f6f6a28
                        contracts:
                          - contractId: e35e343b-55a3-4e44-bc4b-f41c3b93bcf5
                            startDate: '2021-01-01T09:29:18Z'
                            trialPeriod: '2021-02-01T00:00:00Z'
                            endDate: '2021-08-24T14:15:22Z'
                            indefinite: true
                            writtenContract: true
                            hoursPerWeek: 40
                            createdAt: '2021-08-01T15:10:54Z'
                          - contractId: 40413c5f-e6b0-4e30-86c8-6d6c7eb6e922
                            startDate: '2021-01-01T00:00:00Z'
                            trialPeriod: '2021-02-01T00:00:00Z'
                            endDate: null
                            indefinite: true
                            writtenContract: true
                            hoursPerWeek: 40
                            createdAt: '2021-02-17T16:15:09Z'
                          - contractId: 1b2ddaee-da21-4e42-a619-63e3901044b7
                            startDate: '2021-07-01T00:00:00Z'
                            trialPeriod: '2021-07-31T00:00:00Z'
                            endDate: '2021-12-31T00:00:00Z'
                            indefinite: false
                            writtenContract: true
                            hoursPerWeek: 20
                            createdAt: '2021-01-03T09:29:18Z'
                      - employeeId: 69d14a85-9580-4137-9324-e36d854ef7e8
                        contracts:
                          - contractId: 2363b3a6-44bd-4e80-b18c-ed09bdaa7f38
                            startDate: '2021-01-01T00:00:00Z'
                            trialPeriod: '2021-02-01T00:00:00Z'
                            endDate: '2021-12-24T14:15:22Z'
                            indefinite: true
                            writtenContract: false
                            hoursPerWeek: 32
                            createdAt: '2021-02-01T15:10:54Z'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getContractsByCompany
      description: |-
        Get contracts from all employees of a company.

        For each employee, this call returns the mutation history. 
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      security:
        - Bearer:
            - employee.employment
            - employee.employment.read
  '/api/companies/{companyId}/employees/departments':
    get:
      summary: Get employees departments history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesDepartmentsResponse'
              examples:
                History of departments:
                  value:
                    pagination:
                      pageNumber: 1
                      pageSize: 1
                      firstPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/departments?pageNumber=1&pageSize=20'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/departments?pageNumber=1&pageSize=20'
                      totalPages: 1
                      totalRecords: 1
                      nextPage: null
                      previousPage: null
                    data:
                      - employeeId: c6cec567-e40a-4892-b7d6-021f10e93743
                        departments:
                          - departmentId: '3214'
                            code: 2
                            description: Sales
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getDepartmentsByCompany
      description: |-
        Get departments from all employees of a company.

        For each employee, this call returns the mutation history. 
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      security:
        - Bearer:
            - employee.info
            - employee.info.read
      tags:
        - Department
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
  '/api/companies/{companyId}/employees/functions':
    get:
      summary: Get employees functions history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesFunctionsResponse'
              examples:
                History of functions:
                  value:
                    pagination:
                      pageNumber: 1
                      pageSize: 1
                      firstPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/functions?pageNumber=1&pageSize=20'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/functions?pageNumber=1&pageSize=20'
                      totalPages: 1
                      totalRecords: 1
                      nextPage: null
                      previousPage: null
                    data:
                      - employeeId: c6cec567-e40a-4892-b7d6-021f10e93743
                        functions:
                          - functionId: '5981'
                            code: 1
                            description: Sales Lead
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getFunctionsByCompany
      description: |-
        Get functions from all employees of a company.

        For each employee, this call returns the mutation history. 
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      security:
        - Bearer:
            - employee.info
            - employee.info.read
      tags:
        - Function
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
  '/api/companies/{companyId}/employees/personalinfo':
    get:
      tags:
        - Employee
      summary: Get employees history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesPersonalInfoResponse'
              examples:
                Example 1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - employeeId: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
                        info:
                          - personalInfoId: 0039b188-b5f5-49a6-a3d5-0448ce4042ee
                            basicInfo:
                              employeeNumber: 98072
                              firstName: John
                              firstNameInFull: string
                              prefix: van der
                              initials: string
                              lastName: Doe
                              employeeType: applicant
                            birthInfo:
                              birthDate: '1991-01-01T09:29:18Z'
                              birthCountry:
                                codeISO: NL
                                description: The Netherlands
                              nationality:
                                codeISO: NL
                                description: Dutch
                              deceasedOn: '2019-08-24T14:15:22Z'
                              gender: unspecified
                            contactInfo:
                              privateEmail: doe@private.com
                              businessEmail: doe@business.com
                              businessPhone: '+351222222'
                              businessMobilePhone: '+351222222'
                              privatePhone: '+351222222'
                              privateMobilePhone: '+351222222'
                              otherPhone: '+351222222'
                            partnerInfo:
                              partnerPrefix: string
                              partnerName: string
                              ascription:
                                code: 0
                                ascription: string
                                maritalStatus: livingTogether
                            period:
                              year: 2021
                              period: 4
                            createdAt: '2021-07-01T10:15:08Z'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getEmployeePersonalInfoByCompany
      description: 'Get detailed information from all employees of a company, including the historical changes.'
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      security:
        - Bearer:
            - employee.info
            - employee.info.read
    parameters:
      - $ref: '#/components/parameters/companyid'
  '/api/companies/{companyId}/employees/privateInfos':
    get:
      summary: Get employees private information history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesPrivateInfosResponse'
              examples: {}
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getPrivateInfosByCompany
      description: |-
        Get private information, like BSN, from all employees of a company.

        For each employee, this call returns the mutation history. 
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/createdFrom'
      security:
        - Bearer:
            - employee.info
            - employee.info.read
      tags:
        - Employee
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
  '/api/companies/{companyId}/employees/salaries':
    get:
      tags:
        - Salary
      summary: Get salaries history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesSalariesResponse'
              examples:
                History of salaries:
                  value:
                    pagination:
                      pageNumber: 1
                      pageSize: 20
                      firstPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/salaries?pageNumber=1&pageSize=20'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/salaries?pageNumber=1&pageSize=20'
                      totalPages: 1
                      totalRecords: 3
                      nextPage: null
                      previousPage: null
                    data:
                      - employeeId: 4cf78912-b17d-437a-a6f1-a00c4d11c33e
                        salaries:
                          - salaryId: 77985371-e121-489e-8ec8-c0b1b03963ce
                            startDate: '2021-11-01T00:00:00Z'
                            type: grossFulltimeSalary
                            value: 4210
                            createdAt: '2021-10-22T14:20:09Z'
                          - salaryId: 88ab6c09-d9f5-4efd-a9a9-9974615b6348
                            startDate: '2021-10-01T00:00:00Z'
                            type: grossFulltimeSalary
                            value: 4000.5
                            createdAt: '2021-09-12T11:44:27Z'
                          - salaryId: 7db08e3d-aaf7-48b2-b552-8d3e989b9924
                            startDate: '2021-02-01T00:00:00Z'
                            type: grossFulltimeSalary
                            value: 3480.95
                            salaryTable:
                              tableId: 9b7b566f-5ae7-466a-b07f-4681513d9be9
                              tableCode: 751
                              tableName: Bedrijfscatering
                              tableVersion: 2019-10-M
                              scale:
                                scaleId: 9b7b566f-5ae7-466a-b07f-4681513d9be9
                                scaleCode: A
                                scaleDescription: Aanloopschaal
                              step:
                                stepId: d5719111-c767-46a0-886e-c5cf81de7764
                                stepCode: '3'
                                stepDescription: Trede 3
                              automaticallyIncreaseStepPeriod:
                                period: 3
                                year: 2021
                            createdAt: '2021-01-01T15:12:07Z'
                      - employeeId: e28292ff-4755-4d79-bc7f-9e01e8d1fa93
                        salaries:
                          - salaryId: 2a336b70-4409-4a05-9155-afe783a16c40
                            startDate: '2021-01-01T00:00:00Z'
                            type: grossFulltimeSalary
                            value: 3000
                            createdAt: '2021-01-22T14:20:09Z'
                      - employeeId: 4998d588-362a-4003-9b3d-52a4d3ea989c
                        salaries:
                          - salaryId: 762ab955-4897-41da-8a81-29b76786d34c
                            startDate: '2021-03-01T00:00:00Z'
                            type: grossFulltimeSalary
                            value: 5000
                            createdAt: '2021-01-29T10:21:19Z'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getSalariesByCompany
      description: |-
        Get salaries from all employees of a company.

        For each employee, this call returns the mutation history. 
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      security:
        - Bearer:
            - employee.employment
            - employee.employment.read
    parameters:
      - $ref: '#/components/parameters/companyid'
  '/api/companies/{companyId}/employees/costperhour':
    get:
      tags:
        - Salary
      summary: Get cost per hour
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesCostPerHourResponse'
              examples:
                Example 1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - employeeId: 4cf78912-b17d-437a-a6f1-a00c4d11c33e
                        costPerHour: 15.42
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCostPerHourByCompany
      description: Get the estimated cost per hour of employees.
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/employeeId'
        - $ref: '#/components/parameters/year'
        - $ref: '#/components/parameters/period'
      security:
        - Bearer:
            - employee.employment
            - employee.employment.read
      x-stoplight:
        id: c15lyvg1e2ydy
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
  '/api/companies/{companyId}/employees/schedules':
    get:
      tags:
        - Schedule
      summary: Get schedules history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesSchedulesResponse'
              examples:
                History of schedules:
                  value:
                    pagination:
                      pageNumber: 2
                      pageSize: 10
                      firstPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/schedules?pageNumber=1&pageSize=10'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/schedules?pageNumber=5&pageSize=10'
                      totalPages: 5
                      totalRecords: 47
                      nextPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/schedules?pageNumber=3&pageSize=10'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/employees/schedules?pageNumber=1&pageSize=10'
                    data:
                      - employeeId: fc468faa-d83c-4b5c-b61e-65fad61767e3
                        schedules:
                          - scheduleId: e66ec3e9-6568-4fcf-9f45-945777a3e30d
                            startDate: '2021-10-01T07:02:10Z'
                            parttimePercentage: 92.5
                            week1:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 2.5
                              hoursSaturday: 0
                              hoursSunday: 0
                            week2:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 2.5
                              hoursSaturday: 0
                              hoursSunday: 0
                            createdAt: '2021-01-01T09:29:18Z'
                      - employeeId: 58ae6eaf-42d9-455d-b601-eb94c6372627
                        schedules:
                          - scheduleId: 6d586fbd-a703-4a7c-99b3-60532531c2f2
                            startDate: '2021-10-01T07:02:10Z'
                            parttimePercentage: 92.5
                            week1:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 2.5
                              hoursSaturday: 0
                              hoursSunday: 0
                            week2:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 2.5
                              hoursSaturday: 0
                              hoursSunday: 0
                            createdAt: '2021-01-01T09:29:18Z'
                      - employeeId: 6a240513-a24c-4caf-9476-39876d3c1313
                        schedules:
                          - scheduleId: b9acf237-f8d8-42f4-b7ec-22e2a212d8e5
                            startDate: '2021-01-01T00:00:00Z'
                            parttimePercentage: 50
                            week1:
                              hoursMonday: 8
                              hoursTuesday: 0
                              hoursWednesday: 0
                              hoursThursday: 8
                              hoursFriday: 8
                              hoursSaturday: 0
                              hoursSunday: 0
                            week2:
                              hoursMonday: 8
                              hoursTuesday: 0
                              hoursWednesday: 0
                              hoursThursday: 0
                              hoursFriday: 8
                              hoursSaturday: 0
                              hoursSunday: 0
                            createdAt: '2021-02-19T16:23:42Z'
                      - employeeId: ecbf546b-5c94-4eec-8557-32f5b65d30e2
                        schedules:
                          - scheduleId: 241f186b-4e77-477a-8cc2-c8b08625775d
                            startDate: '2021-01-01T00:00:00Z'
                            parttimePercentage: 80
                            week1:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 0
                              hoursSaturday: 0
                              hoursSunday: 0
                            week2:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 0
                              hoursSaturday: 0
                              hoursSunday: 0
                            createdAt: '2021-05-19T16:23:43Z'
                      - employeeId: 2382b17f-2178-495c-a016-f906c54a5a81
                        schedules:
                          - scheduleId: a5cad8d7-7f59-44e6-8a7b-843e306e09ca
                            startDate: '2021-01-01T00:00:00Z'
                            parttimePercentage: 60.000004
                            week1:
                              hoursMonday: 0
                              hoursTuesday: 0
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 8
                              hoursSaturday: 0
                              hoursSunday: 0
                            week2:
                              hoursMonday: 8
                              hoursTuesday: 0
                              hoursWednesday: 0
                              hoursThursday: 8
                              hoursFriday: 8
                              hoursSaturday: 0
                              hoursSunday: 0
                            createdAt: '2021-03-16T16:23:44Z'
                      - employeeId: 6d9a6131-dc20-42c9-a08c-89d30a063195
                        schedules:
                          - scheduleId: 530ce6c4-d12e-46bc-a48e-0f30752d0e61
                            startDate: '2021-01-01T00:00:00Z'
                            parttimePercentage: 100
                            week1:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 8
                              hoursSaturday: 0
                              hoursSunday: 0
                            week2:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 8
                              hoursSaturday: 0
                              hoursSunday: 0
                            createdAt: '2021-05-19T16:23:44Z'
                      - employeeId: 151e9cd8-2ac8-4f97-bf4a-34a9f8101533
                        schedules:
                          - scheduleId: 4f47c4b3-6cc2-412e-90aa-9db227db3da1
                            startDate: '2021-01-01T00:00:00Z'
                            parttimePercentage: 60.000004
                            week1:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 0
                              hoursFriday: 0
                              hoursSaturday: 0
                              hoursSunday: 0
                            week2:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 0
                              hoursFriday: 0
                              hoursSaturday: 0
                              hoursSunday: 0
                            createdAt: '2021-02-09T16:23:45Z'
                      - employeeId: 13c74c52-6a0b-42fc-b74d-fbb178cfc67d
                        schedules:
                          - scheduleId: c0021330-7fb5-4886-bbfb-b5e7be9694b8
                            startDate: '2021-01-01T00:00:00Z'
                            parttimePercentage: 80
                            week1:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 0
                              hoursSaturday: 0
                              hoursSunday: 0
                            week2:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 0
                              hoursSaturday: 0
                              hoursSunday: 0
                            createdAt: '2021-01-15T16:23:46Z'
                      - employeeId: 0c59c3e4-ee35-42ec-bd00-75510a12ecad
                        schedules:
                          - scheduleId: 9c614e88-77d7-4552-a329-0df7b50bdc75
                            startDate: '2021-01-01T00:00:00Z'
                            parttimePercentage: 100
                            week1:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 8
                              hoursSaturday: 0
                              hoursSunday: 0
                            week2:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 8
                              hoursSaturday: 0
                              hoursSunday: 0
                            createdAt: '2021-05-19T16:23:47Z'
                      - employeeId: 3e1d6f2b-b75f-4b38-a11d-c524f15152a0
                        schedules:
                          - scheduleId: 45d118da-6a65-4bb6-a68c-8703f0c9f726
                            startDate: '2021-01-01T00:00:00Z'
                            parttimePercentage: 80
                            week1:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 0
                              hoursSaturday: 0
                              hoursSunday: 0
                            week2:
                              hoursMonday: 8
                              hoursTuesday: 8
                              hoursWednesday: 8
                              hoursThursday: 8
                              hoursFriday: 0
                              hoursSaturday: 0
                              hoursSunday: 0
                            createdAt: '2021-03-10T16:23:47Z'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getSchedulesByCompany
      description: |-
        Get schedules from all employees of a company.

        For each employee, this call returns the mutation history. 
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      security:
        - Bearer:
            - employee.employment
            - employee.employment.read
    parameters:
      - $ref: '#/components/parameters/companyid'
  '/api/companies/{companyId}/hourcodes':
    get:
      tags:
        - Hours
      summary: Get company hour codes
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HourCodesResponse'
              examples:
                Hour codes:
                  value:
                    pagination:
                      pageNumber: 1
                      pageSize: 20
                      firstPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/hourcodes?pageNumber=1&pageSize=20'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/{companyId}/hourcodes?pageNumber=1&pageSize=20'
                      totalPages: 1
                      totalRecords: 4
                      nextPage: null
                      previousPage: null
                    data:
                      - code: 2100
                        description: Gewerkte uren
                      - code: 2190
                        description: Extra uren (parttimers)
                      - code: 3041
                        description: Betaald verlof
                      - code: 3043
                        description: ATV-uren
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: |-
        Get list of hour codes available from the company. 

        Those hour codes can be used to insert hour components on employee level. 
        For example, if the hour code 3045 is available, you can use it to insert a Bonus to the employee.
      operationId: getHourCodesByCompany
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - company.payrollsettings.read
    parameters:
      - $ref: '#/components/parameters/companyid'
  '/api/companies/{companyId}/period':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      summary: Get company current period
      tags:
        - Company
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyPeriodResponse'
              examples: {}
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCurrentPeriod
      description: 'Get what is the current period of a company. This information is very important to know which period to send in hour components, for example.'
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - company.info.read
            - company.info
  '/api/companies/{companyId}/svwsettings':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get company SVW settings
      tags:
        - SVWSettings
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanySVWSettingsResponse'
              examples: {}
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanySVWSettings
      description: 'Retrieve the company''s SVW table (Dutch social insurance) settings, including sector classification, collective labour agreement (CAO) codes, and employer contribution rates for WGA, ZW, and AOF. These settings determine the employer''s social insurance obligations for payroll processing.'
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/period'
        - $ref: '#/components/parameters/year'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/createdFrom'
      security:
        - Bearer:
            - company.payrollsettings.read
      x-stoplight:
        id: hd0mfnllrmjpy
  '/api/employees/{employeeId}':
    get:
      tags:
        - Employee
      summary: Get an employee
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeInfoResponse'
              examples:
                New Employee Call Information:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - employeeId: 97963db9-5f26-4a18-a56a-94b5101a0f28
                        personalInfo:
                          personalInfoId: 0039b188-b5f5-49a6-a3d5-0448ce4042ee
                          basicInfo:
                            employeeNumber: 98072
                            firstName: John
                            prefix: van der
                            lastName: Doe
                            employeeType: applicant
                          birthInfo:
                            birthDate: '1991-01-01T09:29:18Z'
                            birthCountry:
                              codeISO: NL
                              description: The Netherlands
                            nationality:
                              codeISO: NL
                              description: Dutch
                            deceasedOn: '2019-08-24T14:15:22Z'
                            gender: unspecified
                          contactInfo:
                            privateEmail: doe@private.com
                            businessEmail: doe@business.com
                            businessPhone: '+351222222'
                            businessMobilePhone: '+351222222'
                            privatePhone: '+351222222'
                            privateMobilePhone: '+351222222'
                            otherPhone: '+351222222'
                          period:
                            year: 2021
                            period: 4
                          createdAt: '2021-07-01T10:15:08Z'
                        manager:
                          managerId: 2f6aa11c-504a-49a1-903b-e15e79965702
                          number: 1
                          firstName: Anouk
                          lastName: van der Bak
                          gender: Female
                          department:
                            departmentId: 07e0422b-a991-40ad-afa4-c6cab728ab9d
                            code: 2
                            description: Sales
                            createdAt: '2021-01-01T09:29:18Z'
                          function:
                            functionId: ff4cc24d-8542-4d06-80ee-eadbf9708309
                            code: 1
                            description: Sales Lead
                            createdAt: '2021-01-01T09:29:18Z'
                          phoneNumber: '0640986755'
                          cellphone: '0640986755'
                          fax: string
                          email: anoukvanderbak@email.com
                        department:
                          departmentId: 07e0422b-a991-40ad-afa4-c6cab728ab9d
                          code: 2
                          description: Sales
                          createdAt: '2021-01-01T09:29:18Z'
                        function:
                          functionId: ff4cc24d-8542-4d06-80ee-eadbf9708309
                          code: 1
                          description: Sales Lead
                          createdAt: '2021-01-01T09:29:18Z'
                        address:
                          addressId: ad96c221-0e84-4a56-befb-58be6cb4d46e
                          isDefault: 'true'
                          type: homeAddress
                          street: Naritaweg
                          houseNumber: '70'
                          houseNumberAddition: string
                          postalCode: 1043BZ
                          city: Amsterdam
                          stateProvince: Noord-Holland
                          countryISOCode: NL
                          period:
                            year: 2021
                            period: 4
                          createdAt: '2021-06-07T07:59:11Z'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getEmployee
      description: |-
        Get detailed information about a specific employee. 
        The data returned is detailed and refers to the latest entry on current period of the company. 
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.info
            - employee.info.read
    parameters:
      - $ref: '#/components/parameters/employeeid'
  '/api/employees/{employeeId}/address':
    parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
    post:
      summary: Create employee address
      operationId: createEmployeeAddress
      responses:
        '201':
          description: 201 Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAddressResponse'
              examples:
                Created address:
                  value:
                    addressId: cc3449f5-9941-4209-be36-187a16267394
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.info
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAddress'
            examples:
              Update address:
                value:
                  isDefault: true
                  type: homeAddress
                  street: Naritaweg
                  houseNumber: '70'
                  houseNumberAddition: string
                  postalCode: 1043BZ
                  city: Amsterdam
                  stateProvince: Noord-Holland
                  countryISOCode: NL
                  period:
                    year: 2021
                    period: 4
      description: Update the address of a specific employee. A new address entry will be created in Nmbrs.
      tags:
        - Address
  '/api/employees/{employeeId}/SVWSettings':
    parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
    post:
      summary: Create employee SVW settings
      operationId: createEmployeeSVWSettings
      responses:
        '201':
          description: Shared Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateEmployeeSVWSettingsResponse'
              examples:
                Create Employee SVW Settings Response:
                  value:
                    employeeSVWSettingsId: cc3449f5-9941-4209-be36-187a16267394
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.payrollsettings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEmployeeSVWSettings'
            examples:
              Create Employee SVW Settings:
                value:
                  ZW: true
                  WW: true
                  waoWia: true
                  natureOfEmployment: 1
                  phaseClassification: 1
                  codeZvw: A
                  taxSequenceNumber: 0
                  incomeRelatedContributionZvw: 0
                  influenceObligedInsurance: 0
                  wageCostBenefit:
                    code: 0
                    endPeriod: 0
                    endYear: 0
                  CAO: 9999
                  hirerCAO: 9999
                  period:
                    year: 2021
                    period: 4
      description: 'Create SVW settings of a specific employee. A new SVW settings entry will be created in Nmbrs, starting from the applied start period.'
      x-stoplight:
        id: hthmqti6lolw7
      tags:
        - SVWSettings
  '/api/employees/{employeeId}/department':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    put:
      summary: Update employee department
      operationId: updateEmployeeDepartment
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateEmployeeDepartmentResponse'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.orgstructure
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeDepartment'
            examples: {}
      description: |-
        Update the department of a specific employee. 
        Each employee can have only one department at a time. 
      tags:
        - Department
  '/api/employees/{employeeId}/fixedhours':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    get:
      tags:
        - Hours
      summary: Get fixed hours per employee
      parameters:
        - $ref: '#/components/parameters/year'
        - $ref: '#/components/parameters/period'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/createdFrom'
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HourComponentFixedResponse'
              examples:
                Fixed hour components:
                  value:
                    pagination:
                      pageNumber: 1
                      pageSize: 20
                      firstPage: 'https://api.nmbrsapp.com/api/employees/{employeeId}/fixedhours?pageNumber=1&pageSize=20'
                      lastPage: 'https://api.nmbrsapp.com/api/employees/{employeeId}/fixedhours?pageNumber=7&pageSize=20'
                      totalPages: 1
                      totalRecords: 3
                      nextPage: null
                      previousPage: null
                    data:
                      - hourComponentId: fbea2c7d-97b2-42f4-b1c1-782d3ae5af47
                        hourCode: 2100
                        hourCodeDescription: Gewerkte uren
                        hours: 8
                        costCenterId: fbea2c7d-97b2-42f4-b1c1-782d3ae5af47
                        costUnitId: fbea2c7d-97b2-42f4-b1c1-782d3ae5af47
                        comment: Comment
                        endYear: 2021
                        endPeriod: 12
                        createdAt: '2019-06-21T14:15:29Z'
                      - hourComponentId: db528928-89d3-43fe-b9dd-de6c03f5c519
                        hourCode: 2190
                        hourCodeDescription: Extra uren (parttimers)
                        hours: 8
                        costCenterId: null
                        costUnitId: null
                        comment: null
                        endYear: 2021
                        endPeriod: 3
                        createdAt: '2019-06-09T17:13:26Z'
                      - hourComponentId: 0be93439-7076-4cd6-934c-007b6f686339
                        hourCode: 6100
                        hourCodeDescription: Overwerk 100%
                        hours: 10.5
                        costCenterId: null
                        costUnitId: null
                        comment: Comment
                        endYear: 2021
                        endPeriod: 12
                        createdAt: '2020-06-04T10:52:44Z'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getFixedHourComponentsByEmployee
      description: |-
        Get fixed hour components of an employee. 

        The fixed hours components are applied to the period they are added into and to further periods until the end year and end period is specified. For example, if the employee has some kind of travel allowance that must be on his payslip every period, it can be added as a fixed hour.
      security:
        - Bearer:
            - employee.payment
            - employee.payment.read
    post:
      tags:
        - Hours
      summary: Create fixed hours
      requestBody:
        description: The hour component body object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFixedHourComponent'
            examples:
              Create fixed hours 2100:
                value:
                  hourCode: 2100
                  hours: 40
                  costCenterId: aa506564-d1db-4fa8-83dc-d68db4cfcd82
                  costUnitId: d8ac6afb-2ac6-43bf-9880-2d382cdace43
                  comment: Regular working hours with full details
                  endYear: 2025
                  endPeriod: 12
                  periodDetails:
                    period:
                      year: 2025
                      period: 1
                    unprotectedMode: true
      responses:
        '201':
          description: 201 Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateFixedHourComponentResponse'
              examples:
                Hour component created:
                  value:
                    hourComponentId: ddaae291-47fa-4c67-bb2f-de0e5da9e8a1
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: createFixedHourComponent
      description: |-
        Create fixed hours into an employee.

        The fixed hours components are applied to the period they are created and to further periods until the end year and end period is specified. For example, if the employee has some kind of travel allowance that must be on his payslip every period, it can be created as a fixed hour.
      security:
        - Bearer:
            - employee.payment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
    put:
      summary: Update employee fixed hours
      tags:
        - Hours
      responses:
        '200':
          description: Shared Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateFixedHourComponentResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: updateEmployeeFixedHours
      x-stoplight:
        id: nohis521gooub
      description: Update an employee fixed hours component
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFixedHourComponent'
      security:
        - Bearer:
            - employee.payment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
  '/api/employees/{employeeId}/function':
    parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
    put:
      summary: Update employee function
      operationId: updateEmployeeFunction
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateEmployeeFunctionResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.orgstructure
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeFunction'
            examples: {}
      description: |-
        Update the function of a specific employee.
        Each employee can have only one function at a time. 
      tags:
        - Function
  '/api/employees/{employeeId}/documents/types':
    parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
    get:
      summary: Get employee document types
      operationId: getEmployeeDocumentTypes
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeDocumentTypesResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.document
            - employee.document.read
      description: Get available document types for employee documents. Document types are the same for all employees within the same company.
      tags:
        - Document
      x-stoplight:
        id: a3q0qollja0we
  '/api/employees/{employeeId}/manager':
    parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
    put:
      summary: Update employee manager
      operationId: updateEmployeeManager
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateEmployeeManagerResponse'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.orgstructure
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeManager'
            examples: {}
      description: |-
        Update the managerof a specific employee. 
        Each employee can have only one manager at a time. 
      tags:
        - Manager
  '/api/employees/{employeeId}/salary':
    parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
    post:
      summary: Create employee salary
      operationId: createEmployeeSalary
      responses:
        '201':
          description: 201 Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSalaryResponse'
              examples:
                Created salary:
                  value:
                    salaryId: cc3449f5-9941-4209-be36-187a16267394
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.employment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSalary'
            examples: {}
      description: Update the salary of a specific employee. A new salary entry will be created in Nmbrs.
      tags:
        - Salary
  '/api/employees/{employeeId}/variablehours':
    get:
      tags:
        - Hours
      summary: Get variable hours per employee
      parameters:
        - $ref: '#/components/parameters/year'
        - $ref: '#/components/parameters/period'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/createdFrom'
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HourComponentVariableResponse'
              examples:
                'Variable hour components ':
                  value:
                    pagination:
                      pageNumber: 1
                      pageSize: 20
                      firstPage: 'https://api.nmbrsapp.com/api/employees/{employeeId}/variablehours?pageNumber=1&pageSize=20'
                      lastPage: 'https://api.nmbrsapp.com/api/employees/{employeeId}/variablehours?pageNumber=1&pageSize=20'
                      totalPages: 1
                      totalRecords: 2
                      nextPage: null
                      previousPage: null
                    data:
                      - hourComponentId: 1f2f6b44-76d2-452b-98b3-a84a55d355b6
                        hourCode: 2100
                        hourCodeDescription: Gewerkte uren
                        hours: 80
                        costCenterId: null
                        costUnitId: null
                        comment: Comment of hour component
                        createdAt: '2021-08-24T14:15:22Z'
                      - hourComponentId: d13f1390-cfa7-4562-94ba-5d00b77dfcd1
                        hourCode: 3063
                        hourCodeDescription: Feestdaguren
                        hours: 16
                        costCenterId: null
                        costUnitId: null
                        comment: null
                        createdAt: '2021-08-13T10:09:15Z'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getVariableHourComponentsByEmployee
      description: |-
        Get variable hour components of an employee. 

        The variable hours components are applied only on the period they are added into. 
      security:
        - Bearer:
            - employee.payment
            - employee.payment.read
      x-stoplight:
        id: nwkmbdjb6l9ds
    post:
      tags:
        - Hours
      summary: Create variable hours
      requestBody:
        description: The hour component body object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVariableHourComponent'
            examples: {}
      responses:
        '201':
          description: 201 Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateVariableHourComponentResponse'
              examples:
                Hour component created:
                  value:
                    hourComponentId: 49a69eda-252e-4ccb-a220-38ea90511d4f
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: createVariableHourComponent
      description: |-
        Create variable hours into an employee.

        The variable hours components are applied only on the period they are added into. 
      security:
        - Bearer:
            - employee.payment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      x-stoplight:
        id: mb9alw5y0v0i2
    parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
    put:
      summary: Update employee variable hours
      tags:
        - Hours
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateVariableHourComponentResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          description: Forbidden
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: updateEmployeeVariableHours
      x-stoplight:
        id: ouoav1qizxkjn
      security:
        - Bearer:
            - employee.payment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateVariableHourComponent'
  '/api/employees/{employeeId}/leaverequest':
    post:
      summary: Create leave request
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLeaveRequest'
            examples: {}
      responses:
        '201':
          description: 201 Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateLeaveRequestResponse'
              examples:
                Leave request created:
                  value:
                    leaveRequestId: 49a69eda-252e-4ccb-a220-38ea90511d4f
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: createEmployeeLeaveRequest
      description: 'Create a leave request for a specific employee, including the status of the request.'
      security:
        - Bearer:
            - employee.leave
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      x-stoplight:
        id: yo7su0dcjojmd
      tags:
        - Leave
    parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
  /api/countries:
    parameters: []
    get:
      summary: Get country codes
      operationId: getCountryCodes
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountriesResponse'
              examples:
                List of country codes according to ISO:
                  value:
                    pagination:
                      pageNumber: 1
                      pageSize: 20
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      totalPages: 1
                      totalRecords: 5
                      nextPage: null
                      previousPage: null
                    data:
                      - codeISO: NL
                        description: The Netherlands
                      - codeISO: TG
                        description: Togo
                      - codeISO: TK
                        description: Tokelau
                      - codeISO: TO
                        description: Tonga
                      - codeISO: TT
                        description: Trinidad and Tobago
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Get list of all countries according to ISO standard.
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.info
      tags:
        - StaticList
  /api/debtors:
    get:
      summary: Get debtor list
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DebtorListResponse'
              examples:
                'Debtor list ':
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - debtorId: b4101ba1-9d3c-4d65-8b3b-904d42b74c9d
                        number: '2210'
                        name: Nmbrs International
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getDebtors
      description: |-
        Get list of debtors the user has access to.

        On business environments, only one debtor is present. 
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - company.info
            - company.info.read
      tags:
        - Debtor
    parameters: []
  '/api/debtors/{debtorId}/departments':
    parameters:
      - $ref: '#/components/parameters/debtorId'
    get:
      summary: Get departments
      operationId: getDepartmentsByDebtor
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DepartmentListResponse'
              examples: {}
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Get list of all departments of a specific debtor
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.orgstructure
            - employee.orgstructure.read
      tags:
        - Department
  '/api/debtors/{debtorId}/tags':
    parameters:
      - name: debtorId
        in: path
        required: true
        schema:
          type: string
          example: 45d8ad44-ffb8-4691-87d8-7a7a5f4376e9
          format: uuid
        description: Unique identifier of the debtor
    get:
      summary: Get debtor tags
      operationId: getTagsByDebtor
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DebtorTagsListResponse'
              examples: {}
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Get list of all debtor tags added to the debtor
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - debtor.info.read
      tags:
        - Debtor
      x-stoplight:
        id: wyd2s7sqry6yl
  '/api/debtors/{debtorId}/functions':
    parameters:
      - $ref: '#/components/parameters/debtorId'
    get:
      summary: Get functions
      operationId: getFunctionsByDebtor
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FunctionListResponse'
              examples:
                List of functions available:
                  value:
                    pagination:
                      pageNumber: 1
                      pageSize: 20
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      totalPages: 1
                      totalRecords: 4
                      nextPage: null
                      previousPage: null
                    functions:
                      - functionId: 30905f27-f151-4f47-bcd4-ac5b4a4f0c28
                        code: 1
                        description: Sales Lead
                      - functionId: 4086d9b1-9a0c-4235-b3a9-8b3114941953
                        code: 2
                        description: Product Owner
                      - functionId: f5ad4e1b-7357-4f70-a35a-82b25fb293d6
                        code: 3
                        description: Developer
                      - functionId: 5f6789a1-8732-4ae5-98c2-922269f19c06
                        code: 4
                        description: HR
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Get list of all functions of a specific debtor
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.orgstructure
            - employee.orgstructure.read
      tags:
        - Function
  '/api/debtors/{debtorId}/managers':
    parameters:
      - $ref: '#/components/parameters/debtorId'
    get:
      summary: Get managers
      operationId: getManagersByDebtor
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagersListResponse'
              examples: {}
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Get list of all managers of a specific debtor
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.orgstructure
            - employee.orgstructure.read
      tags:
        - Manager
  '/api/debtors/{debtorId}/accountantcontact':
    parameters:
      - name: debtorId
        in: path
        required: true
        schema:
          type: string
          example: 45d8ad44-ffb8-4691-87d8-7a7a5f4376e9
          format: uuid
        description: Unique identifier of the debtor
    get:
      summary: Get accountant contact persons
      operationId: getAccountantContactByDebtor
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountantContactPersonsResponse'
              examples: {}
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Get list of all accountant contact persons set to the debtor
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - debtor.info.read
      tags:
        - ContactPerson
      x-stoplight:
        id: 9zv993etm0sbb
  '/api/salarytable/{salaryTableId}':
    parameters:
      - $ref: '#/components/parameters/salaryTableId'
    get:
      summary: Get salary table versions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalaryTableObjectVersionsResponse'
      operationId: getSalaryTableVersions
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/scaleId'
        - $ref: '#/components/parameters/stepId'
        - $ref: '#/components/parameters/periodType'
      description: 'Get the versions and values of a specific salary table within a scale and step. '
      security:
        - Bearer:
            - company.payrollsettings.read
      tags:
        - Salary
  '/api/employees/{employeeId}/schedule':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    post:
      summary: Create employee schedule
      operationId: createEmployeeSchedule
      responses:
        '201':
          description: 201 Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateScheduleResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Update the schedule of a specific employee. A new schedule entry will be created in Nmbrs.
      security:
        - Bearer:
            - employee.employment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSchedule'
      tags:
        - Schedule
  '/api/employees/{employeeId}/contract':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    post:
      summary: Create employee contract
      operationId: createEmployeeContract
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateContractResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Create a new contract for a specific employee
      security:
        - Bearer:
            - employee.employment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateContract'
      tags:
        - Contract
    put:
      summary: Update employee contract
      operationId: updateEmployeeContract
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateEmployeeContractResponse'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: |
        Update an existent contract for a specific employee
      security:
        - Bearer:
            - employee.employment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeContract'
        description: ''
      tags:
        - Contract
  '/api/companies/{companyId}/employees/employments':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      summary: Get employments history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesEmploymentsResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getEmploymentsByCompany
      description: Get employments from all employees of a company
      security:
        - Bearer:
            - employee.employment.read
            - employee.employment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
        - $ref: '#/components/parameters/changedFrom'
      tags:
        - Employment
  '/api/companies/{companyId}/employees/bankaccounts':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      summary: Get bank accounts history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesBankAccountsResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getBankAccountsByCompany
      description: |-
        Get bank accounts from all employees of a company.

        For each employee, this call returns the bank account history. 
      security:
        - Bearer:
            - employee.bankaccount.read
            - employee.bankaccount
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      tags:
        - BankAccount
  '/api/employees/{employeeId}/bankaccount':
    parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
    post:
      summary: Create employee bank account
      operationId: createEmployeeBankAccount
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBankAccountResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Create a new bank account for a specific employee for the current period
      security:
        - Bearer:
            - employee.bankaccount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBankAccount'
      tags:
        - BankAccount
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
    put:
      summary: Update employee bank account
      operationId: updateBankAccount
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBankAccountResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          description: Not Found
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Update an existing employee bank account. Only the provided fields will be updated
      security:
        - Bearer:
            - employee.bankaccount
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBankAccount'
      tags:
        - BankAccount
  /api/debtors/info:
    get:
      summary: Get debtor info
      tags:
        - Debtor
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DebtorInfoResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getDebtorInfo
      description: Get debtor info
      security:
        - Bearer:
            - debtor.info.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
    parameters: []
  /api/user/info:
    get:
      summary: Get user info
      tags:
        - User
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfoResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getUserInfo
      description: Get user information
      security:
        - Bearer:
            - user.info.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
  '/api/companies/{companyId}/employees/costcenters':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      summary: Get cost centers history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesCostCentersResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          description: Bad Gateway
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCostCentersByCompany
      description: |-
        Get cost centers from all employees of a company.

        For each employee, this call returns the cost center history. 
      security:
        - Bearer:
            - employee.payment
            - employee.payment.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      tags:
        - CostCenter
  '/api/companies/{companyId}/employees/svwsettings':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get svw settings history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesSVWSettingsResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          description: Bad Gateway
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getSVWSettingsByCompany
      description: Get SVW settings of employees of a company.
      security:
        - Bearer:
            - employee.payrollsettings
            - employee.payrollsettings.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      x-stoplight:
        id: d3p22e0al3g05
      tags:
        - SVWSettings
  '/api/companies/{companyId}/employees/leaverequests':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get leave requests history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesLeaveRequestsResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          description: Bad Gateway
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getLeaveRequestsByCompany
      description: Get leave request history of employees
      security:
        - Bearer:
            - employee.leave
            - employee.leave.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/changedFrom'
        - $ref: '#/components/parameters/employeeId'
        - schema:
            type: integer
          in: query
          name: year
          description: 'Year of the search, takes the current year of the company when left empty'
        - schema:
            type: string
            enum:
              - Approved
              - Pending
              - Rejected
          in: query
          name: status
          description: Filter based on the status of leave requests
        - schema:
            type: string
            enum:
              - Withdrawal
              - Store
              - Expired
          in: query
          name: type
          description: Filter based on the usage type of leave requests
        - $ref: '#/components/parameters/leaveGroupId'
      x-stoplight:
        id: 5kfvwqb1duiay
      tags:
        - Leave
  '/api/companies/{companyId}/employees/parentalleave':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get employee parental leave history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesParentalLeaveResponse'
              examples: {}
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          description: Bad Gateway
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getParentalLeavesByCompany
      description: 'Retrieve the parental leave history for all employees in a company. Returns registered parental leave periods including start date, end date, and leave type. For general leave requests, use the leave requests endpoint.'
      security:
        - Bearer:
            - employee.leave
            - employee.leave.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
        - schema:
            type: integer
          in: query
          name: year
          description: 'Year of the search, takes the current year of the company when left empty'
      tags:
        - Leave
      x-stoplight:
        id: rov0t4de38wpm
  '/api/companies/{companyId}/employees/absences':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get employees absences history
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesAbsencesResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          description: Bad Gateway
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getAbsencesByCompany
      description: 'Get absences (sickness) history of all employees within a company. '
      security:
        - Bearer:
            - employee.leave
            - employee.leave.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/changedFrom'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
      tags:
        - Leave
      x-stoplight:
        id: 1dk37c28f5btg
  '/api/employees/{employeeId}/employeecostcenter':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    put:
      summary: Update employee cost center
      operationId: updateEmployeeCostCenter
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/502-error'
      description: Update employee's cost center object
      security:
        - Bearer:
            - employee.payment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeCostCenter'
      tags:
        - CostCenter
  '/api/employees/{employeeId}/wagetaxsettings':
    parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
    post:
      summary: Create employee wage tax settings
      operationId: createEmployeeWageTaxSettings
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateEmployeeWageTaxResponse'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/502-error'
      description: 'Create employee''s wage tax settings. A new entry is created in Nmbrs, starting from the applied start period.'
      security:
        - Bearer:
            - employee.payrollsettings
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEmployeeWageTaxSettings'
      x-stoplight:
        id: uolv9p84e9yni
      tags:
        - WageTaxSettings
  '/api/companies/{companyId}/employees/useraccounts':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      summary: Get employees user accounts
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesUserAccountsResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: GetEmployeesUserAccounts
      description: Get employees user accounts of the type 'employee login' in Nmbrs
      security:
        - Bearer:
            - employee.info.read
            - employee.info
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
      tags:
        - UserAccount
  '/api/debtors/{debtorId}/managers/useraccounts':
    parameters:
      - $ref: '#/components/parameters/debtorId'
    get:
      summary: Get managers user accounts
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagersUserAccountsResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: GetManagersUserAccounts
      description: Get managers user accounts of the type 'manager login' in Nmbrs
      security:
        - Bearer:
            - employee.orgstructure
            - employee.orgstructure.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
      tags:
        - UserAccount
  '/api/employees/{employeeId}/personalInfo':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    put:
      summary: Update employee personal info
      operationId: UpdateEmployeePersonalInfo
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePersonalInfoResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: 'Update employee personal info (basic,birth and contact)'
      security:
        - Bearer:
            - employee.info
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePersonalInfo'
            examples:
              Example 1:
                value:
                  basicInfo:
                    employeeNumber: 98072
                    firstName: John
                    firstNameInFull: string
                    prefix: van der
                    initials: string
                    lastName: Doe
                    employeeType: applicant
                  birthInfo:
                    birthDate: '2019-08-24T14:15:22Z'
                    birthCountryCodeISO: NL
                    nationalityCodeISO: NL
                    deceasedOn: '2019-08-24T14:15:22Z'
                    gender: unspecified
                  contactInfo:
                    privateEmail: doe@private.com
                    businessEmail: doe@business.com
                    businessPhone: '+351222222'
                    businessMobilePhone: '+351222222'
                    privatePhone: '+351222222'
                    privateMobilePhone: '+351222222'
                    otherPhone: '+351222222'
                  partnerInfo:
                    partnerPrefix: string
                    partnerName: string
                    ascriptionCode: 0
                  period:
                    year: 2021
                    period: 4
      tags:
        - Employee
  '/api/companies/{companyId}/employees/managers':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      summary: Get employees managers history
      tags:
        - Manager
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesManagersResponse'
              examples:
                example-1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - employeeId: b0e78c8f-8c8b-4410-8293-9239e39d9e17
                        managers:
                          - managerId: b2c2c359-55f3-4680-a660-901475c7a693
                            number: 0
                            firstName: John
                            lastName: Doe
                            gender: Male
                            department:
                              departmentId: 07e0422b-a991-40ad-afa4-c6cab728ab9d
                              code: 2
                              description: Sales
                              createdAt: '2021-01-01T09:29:18Z'
                            function:
                              functionId: '5981'
                              code: 1
                              description: Sales Lead
                            phoneNumber: string
                            cellphone: string
                            fax: string
                            email: johndoe@mail.com
                            createdAt: '2019-08-24T14:15:22Z'
                            period:
                              year: 2021
                              period: 4
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getManagersByCompany
      description: |-
        Get managers from all employees of a company

        For each employee, this call returns the mutation history
      security:
        - Bearer:
            - employee.info
            - employee.info.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
  '/api/companies/{companyId}/employees/fixedWageComponents':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get fixed wage components
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesFixedWageComponentResponse'
              examples:
                Example 1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - employeeId: b0e78c8f-8c8b-4410-8293-9239e39d9e17
                        fixedWageComponents:
                          - fixedWageComponentId: 643c6b90-57c6-4199-9e4e-ded553572d78
                            code: 0
                            value: 0
                            endYear: 0
                            endPeriod: 0
                            comment: string
                            costCenterId: aa506564-d1db-4fa8-83dc-d68db4cfcd82
                            costUnitId: d8ac6afb-2ac6-43bf-9880-2d382cdace43
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getFixedWageComponentsByCompany
      description: Get Fixed Wage components from all employees of a company for a period.
      security:
        - Bearer:
            - employee.payment
            - employee.payment.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
        - $ref: '#/components/parameters/period'
        - $ref: '#/components/parameters/year'
      tags:
        - WageComponent
  '/api/employees/{employeeId}/fixedWageComponent':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    post:
      summary: Create fixed wagecomponent
      operationId: createEmployeeFixedWageComponent
      responses:
        '201':
          description: 201 Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateFixedWageComponentResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Create a new fixed wage component for a specific employee
      security:
        - Bearer:
            - employee.payment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFixedWageComponent'
            examples:
              Example 1:
                value:
                  code: 1100
                  value: 500
                  endYear: 2023
                  endPeriod: 6
                  comment: string
                  costCenterId: aa506564-d1db-4fa8-83dc-d68db4cfcd82
                  costUnitId: d8ac6afb-2ac6-43bf-9880-2d382cdace43
                  periodDetails:
                    year: 2021
                    period: 4
                  unprotectedMode: true
        description: ''
      tags:
        - WageComponent
    put:
      summary: Update employee fixed wagecomponent
      tags:
        - WageComponent
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateFixedWageComponentResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: updateEmployeeFixedWagecomponent
      x-stoplight:
        id: f8eiriwishl7l
      description: Update fixed wage component for a specific employee
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.payment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFixedWageComponent'
  '/api/employees/{employeeId}/variablewagecomponent':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    post:
      summary: Create variable wagecomponent
      operationId: createEmployeeVariableWageComponent
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateVariableWageComponentResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      security:
        - Bearer:
            - employee.payment
      description: Create a employee variable wage component
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVariableWageComponent'
            examples:
              Example 1:
                value:
                  code: 3045
                  value: 200
                  comment: comment
                  costCenterId: aa506564-d1db-4fa8-83dc-d68db4cfcd82
                  costUnitId: d8ac6afb-2ac6-43bf-9880-2d382cdace43
                  periodDetails:
                    year: 2021
                    period: 4
                  unprotectedMode: true
        description: ''
      tags:
        - WageComponent
    put:
      summary: Update employee variable wagecomponent
      tags:
        - WageComponent
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateVariableWageComponentResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: updateEmployeeVariableWagecomponent
      x-stoplight:
        id: i7kucdjwjnipu
      security:
        - Bearer:
            - employee.payment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateVariableWageComponent'
      description: Update variable wage component for a specific employee
  '/api/companies/{companyId}/employees/variablewagecomponents':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      summary: Get variable wagecomponents
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesVariableWageComponentResponse'
              examples:
                Example 1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - employeeId: b0e78c8f-8c8b-4410-8293-9239e39d9e17
                        variablewagecomponents:
                          - variableWageComponentId: 7fc59095-daed-4746-a7f8-a454e38e3683
                            code: 1000
                            value: 2200
                            comment: string
                            costCenterId: aa506564-d1db-4fa8-83dc-d68db4cfcd82
                            costUnitId: d8ac6afb-2ac6-43bf-9880-2d382cdace43
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getVariableWageComponentsByCompany
      description: Get variable wagecomponents from all employees for a given period
      security:
        - Bearer:
            - employee.payment.read
            - employee.payment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/createdFrom'
        - $ref: '#/components/parameters/employeeId'
        - $ref: '#/components/parameters/period'
        - $ref: '#/components/parameters/year'
      tags:
        - WageComponent
  '/api/companies/{companyId}/variablewagecomponents':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get company variable wagecomponents history
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyVariableWageComponentResponse'
              examples:
                Example 1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - variableWageComponentId: 7fc59095-daed-4746-a7f8-a454e38e3683
                        code: 1000
                        value: 2200
                        period:
                          year: 2025
                          period: 6
                        createdAt: '2025-06-07T07:59:11Z'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getVariableCompanyWageComponentsByCompany
      description: Get variable wagecomponents for the chosen company
      security:
        - Bearer:
            - company.payrollsettings.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/createdFrom'
        - in: query
          name: year
          description: 'Year of the search. If empty, returns the current year.'
          schema:
            type: integer
      tags:
        - WageComponent
      x-stoplight:
        id: nhqej34mhlmpr
  '/api/companies/{companyId}/fixedwagecomponents':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get company fixed wagecomponents history
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyFixedWageComponentResponse'
              examples:
                Example 1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - fixedWageComponentId: 643c6b90-57c6-4199-9e4e-ded553572d78
                        code: 1000
                        value: 2200
                        startPeriod:
                          year: 2021
                          period: 4
                        endPeriod:
                          year: 2021
                          period: 4
                        createdAt: '2025-06-07T07:59:11Z'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getFixedCompanyWageComponentsByCompany
      description: Get fixed wagecomponents for the chosen company
      security:
        - Bearer:
            - company.payrollsettings.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/createdFrom'
        - in: query
          name: year
          description: 'Year of the search. If empty, returns the current year.'
          schema:
            type: integer
        - schema:
            type: integer
          in: query
          name: period
          description: Period of the search (use together with the year)
      tags:
        - WageComponent
      x-stoplight:
        id: coexkxt62fvn2
  '/api/employees/{employeeId}/employment':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    post:
      summary: Create employment
      operationId: createEmployment
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateEmploymentResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Create a new employment for the employee
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEmployment'
        description: ''
      security:
        - Bearer:
            - employee.employment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      tags:
        - Employment
    put:
      summary: Update employment
      operationId: UpdateEmploymentD
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateEmploymentResponse'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: |
        Update the seniority date of an employee's employment object or the End of Service date and Reason
      security:
        - Bearer:
            - employee.employment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmployment'
      tags:
        - Employment
  '/api/debtors/endcontractreasons/{Year}':
    parameters:
      - $ref: '#/components/parameters/Year'
    get:
      summary: Get end contract reasons
      tags:
        - Employment
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndContractReasonsResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: GetEndContractReasons
      description: Get the available end of contract reasons per the year provided
      security:
        - Bearer:
            - employee.employment
            - employee.employment.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
  '/api/companies/{companyId}/extrafieldSettings':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      summary: Get extra field settings
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtraFieldSettingsResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getextrafieldSettings
      description: Get a company's extra field settings
      security:
        - Bearer:
            - company.info
            - company.info.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
      tags:
        - ExtraField
  '/api/companies/{companyId}/employees/extraFields':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      summary: Get employees extra fields
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeExtraFieldsResponse'
        '400':
          description: Bad Request
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          description: Bad Gateway
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getEmployeesExtraFields
      description: |-
        Get employees extra fields from a company.
        Filter by extra field id
      security:
        - Bearer:
            - employee.info
            - employee.info.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/extraFieldType'
      tags:
        - ExtraField
  '/api/companies/{companyId}/employees/children':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get employees children
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeChildrenResponse'
        '400':
          description: Bad Request
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          description: Bad Gateway
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getEmployeesChildren
      description: Get employees children settings. Reflects the current settings of the employee(s).
      security:
        - Bearer:
            - employee.info
            - employee.info.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/employeeId'
      tags:
        - Employee
      x-stoplight:
        id: z0jp22ttk91wx
  '/api/companies/{companyId}/employees/leaveBalances':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get employees leave balances
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeLeaveBalancesResponse'
              examples:
                Example 1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - employeeId: b0e78c8f-8c8b-4410-8293-9239e39d9e17
                        leaveBalances:
                          - leaveGroupId: e473e8d4-d4d3-4082-bf46-d28bf5eaf203
                            leaveBalance: 160
        '400':
          description: Bad Request
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          description: Bad Gateway
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getEmployeesLeaveBalances
      description: Get employees leave balances from a company. A company can have up to 4 leave groups.
      security:
        - Bearer:
            - employee.leave
            - employee.leave.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/employeeId'
        - $ref: '#/components/parameters/leaveGroupId'
      x-stoplight:
        id: n1pc0h920dj7x
      tags:
        - Leave
  '/api/subscription/{subscriptionName}/info':
    get:
      summary: Get subscription info
      tags:
        - Subscription
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getSubscriptionInfo
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
      description: 'Get details from the subscription, status and tier purchased'
      security:
        - Bearer:
            - user.info.read
    parameters:
      - $ref: '#/components/parameters/subscriptionName'
  '/api/employees/{employeeId}/variabledays':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    get:
      summary: Get variable worked days per employee
      tags:
        - Days
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VariableDaysWorkedResponse'
              examples:
                Example 1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - days: 4
                        days for wage components per day: 0
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: GetVariableWorkedDays
      security:
        - Bearer:
            - employee.payment
            - employee.payment.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/year'
        - $ref: '#/components/parameters/period'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
    post:
      summary: Create variable worked days
      operationId: CreateVariableWorkedDays
      responses:
        '201':
          description: 201 Created
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: The variable days are applied only on the period they are added into
      security:
        - Bearer:
            - employee.payment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVariableWorkedDay'
            examples:
              Example 1:
                value:
                  days: 4
                  days for wage components per day: 0
                  periodDetails:
                    period:
                      year: 2021
                      period: 4
                    unprotectedMode: true
        description: ''
      tags:
        - Days
  '/api/employees/{employeeId}/fixeddays':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    get:
      summary: Get fixed worked days per employee
      tags:
        - Days
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FixedDaysWorkedResponse'
              examples:
                Example 1:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      - days: 4
                        days for wage components per day: 0
                        endPeriod: 12
                        endYear: 2021
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: GetFixedDaysByEmployee
      description: 'Get fixed days of an employee. '
      security:
        - Bearer:
            - employee.payment
            - employee.payment.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/year'
        - $ref: '#/components/parameters/period'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
    post:
      summary: Create fixed worked days
      operationId: CreateFixedWorkedDays
      responses:
        '201':
          description: 201 Created
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Create fixed worked days for an employee
      security:
        - Bearer:
            - employee.payment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFixedWorkedDay'
            examples:
              Example 1:
                value:
                  days: 2
                  days for wage components per day: 0
                  endPeriod: 12
                  endYear: 2021
                  periodDetails:
                    period:
                      year: 2021
                      period: 4
                    unprotectedMode: true
      tags:
        - Days
  '/api/employees/{employeeId}/payslipperperiod':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    get:
      summary: Get employee payslip per period
      tags:
        - Document
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeePaysliPerPeriodResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getEmployeePayslipPerPeriod
      description: Get an employee payslip per period
      security:
        - Bearer:
            - employee.document.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - schema:
            type: integer
          in: query
          name: period
        - schema:
            type: integer
          in: query
          name: year
  '/api/companies/{companyId}/wagetaxes/{wageTaxId}/xml':
    parameters:
      - $ref: '#/components/parameters/companyid'
      - $ref: '#/components/parameters/wageTaxId'
    get:
      summary: Get wage tax XML
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WageTaxXMLResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getWageTaxXML
      description: Get the XML file of a wage tax declaration
      security:
        - Bearer:
            - company.document.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      x-stoplight:
        id: wufegs17b5abb
      tags:
        - WageTax
  '/api/companies/{companyId}/runs/{payrollRunId}/sepa':
    parameters:
      - $ref: '#/components/parameters/companyid'
      - schema:
          type: string
          format: uuid
        name: payrollRunId
        in: path
        required: true
        description: Unique identifier of the payroll run
    get:
      summary: Get payroll run SEPA
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayrollRunSEPAResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getPayrollRunSEPA
      description: 'Get the SEPA (payment file) of a payroll run '
      security:
        - Bearer:
            - company.document.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - in: query
          name: year
          description: 'Year of the search '
          schema:
            type: integer
          required: true
        - schema:
            type: string
            format: date-time
          in: query
          name: paymentDate
          description: Optional payment date to be added to the payment file
          allowEmptyValue: true
      x-stoplight:
        id: jaokodgwtiy5y
      tags:
        - PayrollRun
  '/api/companies/{companyId}/runs/{payrollRunId}/journals':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
      - schema:
          type: string
          format: uuid
        name: payrollRunId
        in: path
        required: true
        description: Unique identifier of the payroll run
    get:
      summary: Get company journals
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JournalsResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getPayrollRunJournals
      description: "Retrieve journals for a payroll run. This endpoint operates asynchronously and returns a taskId that can be used with the Get document content endpoint to retrieve the generated file. \r\n\r\nRetrieved file format: XML"
      security:
        - Bearer:
            - company.document.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - in: query
          name: year
          description: 'Year of the search '
          schema:
            type: integer
          required: true
      x-stoplight:
        id: 6r31d1xrptc3b
      tags:
        - PayrollRun
  '/api/companies/{companyId}/runs/{payrollRunId}/journalscostcenterunit':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
      - schema:
          type: string
          format: uuid
        name: payrollRunId
        in: path
        required: true
        description: Unique identifier of the payroll run
    get:
      summary: Get company journals by cost center/ cost unit
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JournalsResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getPayrollRunJournalsByCostCenterCostUnit
      description: "Retrieve journals split by cost center and cost unit, for a payroll run. This endpoint operates asynchronously and returns a taskId that can be used with the Get document content endpoint to retrieve the generated file. \r\n\r\nRetrieved file format: XML"
      security:
        - Bearer:
            - company.document.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - in: query
          name: year
          description: 'Year of the search '
          schema:
            type: integer
          required: true
      tags:
        - PayrollRun
      x-stoplight:
        id: g6q7q5bglzlic
  '/api/companies/{companyId}/runs/{payrollRunId}/journalsemployee':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
      - schema:
          type: string
          format: uuid
        name: payrollRunId
        in: path
        required: true
        description: Unique identifier of the payroll run
    get:
      summary: Get company journals by employee
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JournalsByEmployeeResponse'
              examples:
                Example 1:
                  value:
                    taskId: e6e9d88a-9b63-468a-aec3-b7a11de27af8
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getPayrollRunJournalsByEmployee
      description: "Retrieve journals split by employees for a payroll run. This endpoint operates asynchronously and returns a taskId that can be used with the Get document content endpoint to retrieve the generated file. \r\n\r\nRetrieved file format: XML"
      security:
        - Bearer:
            - company.document.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - in: query
          name: year
          description: 'Year of the search '
          schema:
            type: integer
          required: true
      tags:
        - PayrollRun
      x-stoplight:
        id: exjx9eiinx4yj
  '/api/companies/{companyId}/runs/{payrollRunId}/journalsdepartment':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
      - schema:
          type: string
          format: uuid
        name: payrollRunId
        in: path
        required: true
        description: Unique identifier of the payroll run
    get:
      summary: Get company journals by department
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JournalsByDepartmentResponse'
              examples:
                Example 1:
                  value:
                    taskId: e6e9d88a-9b63-468a-aec3-b7a11de27af8
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getPayrollRunJournalsByDepartment
      description: "Retrieve journals split per department for a payroll run. This endpoint operates asynchronously and returns a taskId that can be used with the Get document content endpoint to retrieve the generated file. \r\n\r\nRetrieved file format: XML"
      security:
        - Bearer:
            - company.document.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - in: query
          name: year
          description: 'Year of the search '
          schema:
            type: integer
          required: true
      tags:
        - PayrollRun
      x-stoplight:
        id: d0vrtgw0duwks
  '/api/companies/{companyId}/runs/{payrollRunId}/journalscostcenter':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
      - schema:
          type: string
          format: uuid
        name: payrollRunId
        in: path
        required: true
        description: Unique identifier of the payroll run
    get:
      summary: Get company journals by cost centers
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JournalsByCostCenterResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getPayrollRunJournalsByCostCenter
      description: "Retrieve journals split per cost centers for a payroll run. This endpoint operates asynchronously and returns a taskId that can be used with the Get document content endpoint to retrieve the generated file. \r\n\r\nRetrieved file format: XML"
      security:
        - Bearer:
            - company.document.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - in: query
          name: year
          description: 'Year of the search '
          schema:
            type: integer
          required: true
      x-stoplight:
        id: na95rh86k9qta
      tags:
        - PayrollRun
  '/api/companies/{companyId}/runs/{payrollRunId}/wagecodes/xml':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
      - schema:
          type: string
          format: uuid
        name: payrollRunId
        in: path
        required: true
        description: Unique identifier of the payroll run
    get:
      summary: Get calculated wage components by payroll run
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayrollRunWageCodesResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getPayrollRunWageCodes
      description: 'Retrieves the run output for a specific payroll run within a company, returning the calculated wage components per employee per period. Use the wageCodes filter to limit the response to relevant components - omitting it returns all wage components across the run, which may result in large response payloads. In Nmbrs jargon this is often reffered to as the Run output. '
      security:
        - Bearer:
            - company.document.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/year'
        - $ref: '#/components/parameters/wageCodes'
      x-stoplight:
        id: mxu7c9zjc2p6c
      tags:
        - PayrollRun
  '/api/employees/{employeeId}/annualstatement':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    get:
      summary: Get employee annual statement
      tags:
        - Document
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeAnnualStatementResponse'
              examples:
                Example 1:
                  value:
                    taskId: e6e9d88a-9b63-468a-aec3-b7a11de27af8
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getEmployeeAnnualStatement
      description: "Retrieve the annual statement for an employee for a given year. The annual statement is generated after the final payroll run for that year has been processed. The final payroll run is either the last run of the calendar year, or the run in which the employee leaves service - whichever comes first.\r\n\r\nUse the Get document content endpoint to retrieve the PDF."
      security:
        - Bearer:
            - employee.document.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - schema:
            type: integer
          in: query
          name: year
      x-stoplight:
        id: z4k4i72hv365v
  '/api/documents/{taskId}':
    parameters:
      - $ref: '#/components/parameters/taskId'
    get:
      summary: Get document content
      tags:
        - Document
      responses:
        '200':
          description: OK
          content:
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/DocumentResponse'
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: string
                example: Document is being processed
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: GetDocumentContentId
      description: Provide the task Id generated in previous call to get your document content
      security:
        - Bearer:
            - document.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
  '/api/employees/{employeeId}/socialsecuritynumber':
    parameters:
      - $ref: '#/components/parameters/employeeid'
    put:
      summary: Update employee social security number
      operationId: updateEmployeeSocialSecurityNumber
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSocialSecurityNumberResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      description: Update an employee's social security number
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.info
      tags:
        - Employee
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSocialSecurityNumber'
  '/api/companies/{companyId}/wagemodels':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get company wage models
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyWageModelResponse'
              examples:
                WageModelsResponse:
                  value:
                    pagination:
                      pageNumber: 3
                      pageSize: 30
                      firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
                      lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
                      totalPages: 10
                      totalRecords: 328
                      nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
                      previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
                    data:
                      wageModels:
                        - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                          number: 0
                          name: string
                          '':
                            - wageCodeId: 5f44d463-8c4e-4b4b-b438-50f2737656da
                              code: 1000
                              description: Salary
                              continuityType: fixed
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: GetCompanyWageModels
      description: Get company wage models per period. Returns the available wage codes for employees of this company in the period consulted. If no period is used it returns the current period information
      security:
        - Bearer:
            - company.payrollsettings.read
      tags:
        - WageComponent
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/period'
        - $ref: '#/components/parameters/year'
  '/api/debtors/{debtorId}/companies':
    parameters:
      - $ref: '#/components/parameters/debtorId'
    get:
      summary: Get company list by debtor
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyListResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompaniesByDebtor
      x-stoplight:
        id: t244m3rjye9dg
      description: Get companies inside the provided debtor
      tags:
        - Company
      security:
        - Bearer:
            - company.info.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
  '/api/employees/{employeeId}/hours/{hourcomponentId}':
    parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
      - $ref: '#/components/parameters/hourComponentId'
    delete:
      summary: Delete employee hours
      tags:
        - Hours
      responses:
        '204':
          description: No Content
          headers: {}
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: deleteEmployeeHours
      x-stoplight:
        id: ohvrbw5c8lxlv
      security:
        - Bearer:
            - employee.payment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
  '/api/employees/{employeeId}/leave/{leaverequestId}':
    parameters:
      - name: employeeId
        in: path
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
        required: true
      - schema:
          type: string
          format: uuid
        name: leaverequestId
        in: path
        required: true
        description: Unique identifier of a leave request
    delete:
      summary: Delete employee leave request
      responses:
        '204':
          description: No Content
          headers: {}
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: deleteEmployeeLeaveRequest
      security:
        - Bearer:
            - employee.leave
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      x-stoplight:
        id: ym0672w68vakl
      tags:
        - Leave
      description: 'To delete a leave request made by an employee. '
  '/api/employees/{employeeId}/wagecomponents/{wagecomponentId}':
    parameters:
      - $ref: '#/components/parameters/employeeid'
      - $ref: '#/components/parameters/wagecomponentId'
    delete:
      summary: Delete employee wagecomponent
      tags:
        - WageComponent
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: deleteEmployeeWagecomponent
      x-stoplight:
        id: buogw6o8lfccl
      security:
        - Bearer:
            - employee.payment
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
  '/api/companies/{companyId}/costCenters':
    parameters:
      - $ref: '#/components/parameters/companyid'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageNumber'
    get:
      summary: Get company cost centers
      tags:
        - CostCenter
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostCenterCompanyResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanyCostCenters
      x-stoplight:
        id: izrsyud59p9cq
      description: Get cost centers available in a company
      security:
        - Bearer:
            - company.payrollsettings.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
  '/api/companies/{companyId}/schedules':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          default: 20
          example: 20
          minimum: 1
          maximum: 100
        description: 'Size of the page. Max 100. '
      - name: pageNumber
        in: query
        required: false
        schema:
          type: integer
          example: 1
          default: 1
          minimum: 1
        description: Number of the page to be retrieved
    get:
      summary: Get company schedules history
      tags:
        - Schedule
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleCompanyResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanySchedules
      description: Get fulltime schedules settings of a company
      security:
        - Bearer:
            - company.payrollsettings.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/year'
        - $ref: '#/components/parameters/period'
      x-stoplight:
        id: twiy76jqqk9zw
  '/api/companies/{companyId}/runs':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          default: 20
          example: 20
          minimum: 1
          maximum: 100
        description: 'Size of the page. Max 100. '
      - name: pageNumber
        in: query
        required: false
        schema:
          type: integer
          example: 1
          default: 1
          minimum: 1
        description: Number of the page to be retrieved
    get:
      summary: Get company payroll runs
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayrollRunResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanyPayrollRuns
      description: Get payroll runs processed for a company within a certain year. A payroll run can span over multiple periods within the same year.
      security:
        - Bearer:
            - company.payrollsettings.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - in: query
          name: year
          schema:
            type: integer
          description: 'Year of the search. If empty, returns the current year.'
      x-stoplight:
        id: idgmktq42qnjz
      tags:
        - PayrollRun
  '/api/companies/{companyId}/workcost':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          default: 20
          example: 20
          minimum: 1
          maximum: 100
        description: 'Size of the page. Max 100. '
      - name: pageNumber
        in: query
        required: false
        schema:
          type: integer
          example: 1
          default: 1
          minimum: 1
        description: Number of the page to be retrieved
    get:
      summary: Get company work-related costs scheme
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkCostsResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanyWorkCosts
      description: Get the work-related costs scheme of a company for a specific year.
      security:
        - Bearer:
            - company.payrollsettings.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - in: query
          name: year
          schema:
            type: integer
          description: 'Year of the search. If empty, uses the company current year.'
      x-stoplight:
        id: osp26sojsg1uk
      tags:
        - WorkCosts
  '/api/companies/{companyId}/wagetaxes':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          default: 20
          example: 20
          minimum: 1
          maximum: 100
        description: 'Size of the page. Max 100. '
      - name: pageNumber
        in: query
        required: false
        schema:
          type: integer
          example: 1
          default: 1
          minimum: 1
        description: Number of the page to be retrieved
      - $ref: '#/components/parameters/year'
    get:
      summary: Get company wage taxes
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WageTaxResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanyWageTaxes
      description: Get wage taxes of a company for a specific year
      security:
        - Bearer:
            - company.payrollsettings.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      x-stoplight:
        id: 3ch337idh7uqk
      tags:
        - WageTax
  '/api/companies/{companyId}/pensionexport':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          default: 20
          example: 20
          minimum: 1
          maximum: 100
        description: 'Size of the page. Max 100. '
      - name: pageNumber
        in: query
        required: false
        schema:
          type: integer
          example: 1
          default: 1
          minimum: 1
        description: Number of the page to be retrieved
      - name: year
        in: query
        schema:
          type: integer
          example: 2021
        description: 'Year of the search. If empty, returns the current year.'
    get:
      summary: Get company pension exports
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PensionExportResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanyPensionExports
      description: Get pension exports of a company for a specific year
      security:
        - Bearer:
            - company.payrollsettings.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      x-stoplight:
        id: l8lm3nbbinio5
      tags:
        - PensionExport
  '/api/companies/{companyId}/leaveGroups':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get company leave groups
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LeaveGroupsCompanyResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanyLeaveGroups
      description: Get leave groups available in a company. A company can have up to 4 leave groups defined.
      security:
        - Bearer:
            - company.leave.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
      x-stoplight:
        id: 0o5ei6sczl1ix
      tags:
        - Leave
  '/api/companies/{companyId}/costUnits':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      summary: Get company cost units
      tags:
        - CostCenter
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostUnitCompanyResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          description: Service Unavailable
      operationId: getCompanyCostUnits
      x-stoplight:
        id: zcg4afdvbemvb
      security:
        - Bearer:
            - company.payrollsettings.read
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/pageNumber'
  '/api/employees/{employeeId}/documents':
    parameters:
      - name: employeeId
        in: path
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
        required: true
    post:
      summary: Upload employee document
      tags:
        - Document
      responses:
        '201':
          description: 201 Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateEmployeeDocumentResponse'
          headers: {}
      operationId: uploadEmployeeDocument
      x-stoplight:
        id: t1f869cj02epa
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateEmployeeDocument'
            examples:
              Example 1:
                value:
                  number: string
                  description: string
                  isVisibleForEmployee: string
                  type: string
                  folder: ca579eb8-24ac-44d0-a8b9-a42c500083f5
                  validFrom: string
                  validTo: string
                  file:
                    fileContent: string
                  fileName: string
                  fileExtension: string
      security:
        - Bearer:
            - employee.document
  '/api/companies/{companyId}/defaultTemplates':
    get:
      summary: Get default employee templates
      tags:
        - Employee
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultEmployeeTemplateResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getDefaultTemplates
      x-stoplight:
        id: tgy4vcumwd9im
      security:
        - Bearer:
            - employee.info
      description: Get available default employee templates by company
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/pageNumber'
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
  '/api/employees/{employeeId}/documents/folders':
    parameters:
      - name: employeeId
        in: path
        schema:
          type: string
          example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
          format: uuid
        description: Unique identifier of the employee
        required: true
    get:
      summary: Get employee document folders
      tags:
        - Document
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentFolderResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getEmployeeDocumentFolders
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
      security:
        - Bearer:
            - employee.document
            - employee.document.read
      x-stoplight:
        id: 21re698gqubgl
      description: Get available document folders of employee documents. Document folders are the same for all employees within the same company.
  '/api/companies/{companyId}/runs/{payrollRunId}/employees':
    parameters:
      - $ref: '#/components/parameters/companyid'
      - schema:
          type: string
          format: uuid
          example: ca34db07-5a03-4cf3-b487-469eea59f1b2
        name: payrollRunId
        in: path
        required: true
        description: Unique identifier of the payroll run
    get:
      summary: Get employees in payroll run
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeesInPayrollRunResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          description: Internal Server Error
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getEmployeesInPayrollRun
      x-stoplight:
        id: p83502ctesqmi
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/year'
      security:
        - Bearer:
            - company.payrollsettings.read
      description: Get the employees that are processed in a specific payroll run.
      tags:
        - PayrollRun
  '/api/companies/{companyId}/addresses':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      summary: Get company addresses history
      tags:
        - Address
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyAddressResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanyAddresses
      x-stoplight:
        id: p0h4rbqikb7bv
      security:
        - Bearer:
            - company.info.read
            - company.info
      description: 'Get addresses history for a company. '
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
  '/api/companies/{companyId}/salarytables':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get company salary table history
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanySalaryTableResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanySalaryTables
      description: 'Get salary table settings history for a company. '
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
      x-stoplight:
        id: t4wzqbbwo8oxt
      tags:
        - Salary
      security:
        - Bearer:
            - company.payrollsettings.read
  '/api/companies/{companyId}/contactpersons':
    parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
          example: ad3562fc-b050-4de7-9eb0-1751eefa680c
          format: uuid
        description: Unique identifier of the company
    get:
      summary: Get company contact persons
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyContactPersonResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanyContactPersons
      security:
        - Bearer:
            - company.info.read
            - company.info
      description: Get the contact persons set for a company. There's no history on these values.
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
      x-stoplight:
        id: jc8sgkmsn2e38
      tags:
        - ContactPerson
  '/api/companies/{companyId}/bankaccounts':
    parameters:
      - $ref: '#/components/parameters/companyid'
    get:
      summary: Get company bank accounts history
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyBankAccountResponse'
        '400':
          $ref: '#/components/responses/400-error'
        '401':
          $ref: '#/components/responses/401-error'
        '403':
          $ref: '#/components/responses/403-error'
        '404':
          $ref: '#/components/responses/404-error'
        '429':
          $ref: '#/components/responses/429-error'
        '500':
          $ref: '#/components/responses/500-error'
        '502':
          $ref: '#/components/responses/502-error'
        '503':
          $ref: '#/components/responses/503-error'
      operationId: getCompanyBankAccounts
      security:
        - Bearer:
            - company.info.read
            - company.info
      description: 'Get bank accounts history for a company. '
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageSize'
      x-stoplight:
        id: pao4pm0eotvyt
      tags:
        - BankAccount
  '/api/companies/{companyId}/wagetaxes/{wageTaxId}/sepa':
    parameters:
      - $ref: '#/components/parameters/companyid'
      - schema:
          type: string
          format: uuid
        name: wageTaxId
        in: path
        required: true
        description: Unique identifier of a wage tax declaration
    get:
      summary: Get wage tax SEPA
      tags:
        - WageTax
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WageTaxSEPAResponse'
              examples:
                Example 1:
                  value:
                    taskId: e6e9d88a-9b63-468a-aec3-b7a11de27af8
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '429':
          description: Too Many Requests
        '500':
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
      operationId: getWageTaxSEPA
      security:
        - Bearer:
            - company.document.read
      x-stoplight:
        id: nlleni1c2ib2x
      parameters:
        - $ref: '#/components/parameters/X-Subscription-Key'
        - schema:
            type: integer
          in: query
          name: year
          description: Year of the search
          required: true
        - schema:
            type: string
            format: date-time
          in: query
          name: paymentDate
          description: Optional payment date to be added to the payment file
      description: Get the wage tax SEPA (payment file)
components:
  schemas:
    Address:
      type: object
      additionalProperties: false
      description: Address object
      title: Address object
      x-tags:
        - Models
      properties:
        addressId:
          type: string
          description: Address unique identifier
          example: ad96c221-0e84-4a56-befb-58be6cb4d46e
          format: uuid
          readOnly: true
        isDefault:
          type: boolean
          description: Wheter the address is the default
          example: 'true'
          nullable: true
        type:
          $ref: '#/components/schemas/AddressType'
        street:
          type: string
          description: Name of the street
          example: Naritaweg
        houseNumber:
          type: string
          description: NL-only - House number
          example: '70'
          nullable: true
        houseNumberAddition:
          type: string
          description: NL-only - Additional house number information
          nullable: true
        postalCode:
          type: string
          description: Postal code
          example: 1043BZ
          nullable: true
        city:
          type: string
          description: City
          example: Amsterdam
        stateProvince:
          type: string
          description: State/province name
          example: Noord-Holland
          nullable: true
        countryISOCode:
          type: string
          description: Two-letter ISO country code
          example: NL
          nullable: true
        period:
          $ref: '#/components/schemas/Period'
        createdAt:
          type: string
          description: 'Time at which the object was created, timezone CET'
          format: date-time
          example: '2021-06-07T07:59:11Z'
          readOnly: true
      required:
        - type
        - street
        - city
    EmployeeWageTax:
      type: object
      x-stoplight:
        id: 3b2vrjgvr75cj
      additionalProperties: false
      description: Wage tax settings
      title: Employee wage tax object
      x-tags:
        - Models
      x-examples: {}
      properties:
        wageTaxSettingsId:
          type: string
          example: ad96c221-0e84-4a56-befb-58be6cb4d46e
          format: uuid
          x-stoplight:
            id: rsccg577sf0vw
          readOnly: true
        wageTax:
          type: boolean
          example: 'true'
          x-stoplight:
            id: bl73oandieuyv
          nullable: true
        wageTaxRebate:
          type: boolean
          description: Loonheffingskorting
          example: 'true'
          x-stoplight:
            id: wmw2mo1rvzs9v
          nullable: true
        singleElderlyDiscount:
          type: boolean
          example: 'true'
          x-stoplight:
            id: fl87z2ee3f2tr
          nullable: true
        colorTable:
          $ref: '#/components/schemas/ColorTable'
        periodTable:
          $ref: '#/components/schemas/PeriodTable'
        incomeType:
          type: string
          x-stoplight:
            id: h5ff3uvcx1tvt
          nullable: true
        specialAnnualSalaryRate:
          type: number
          description: Loonheffing BT
          x-stoplight:
            id: ata6jhajk1om9
          example: 32000
          nullable: true
        specialTable:
          type: string
          x-stoplight:
            id: euraba33s0tpt
          nullable: true
        differentSpecialRate:
          type: string
          x-stoplight:
            id: ikefhlom91swv
          description: Afwijkend Bijzonder tarief %
          nullable: true
        Calc30PercentRuling:
          $ref: '#/components/schemas/Calc30PercentRuling'
        period:
          $ref: '#/components/schemas/Period'
        createdAt:
          type: string
          x-stoplight:
            id: x6k9ubcvf7qlb
          format: date-time
    EmployeeLabourAgreement:
      type: object
      x-stoplight:
        id: qva3eahboqa4s
      additionalProperties: false
      description: Employee labour agreement object
      title: Employee labour agreement object
      x-examples:
        Example 1:
          labourAgreementId: ad96c221-0e84-4a56-befb-58be6cb4d46e
          number: '254'
          description: Afbouw
          period:
            year: 2021
            period: 4
          createdAt: '2019-08-24T14:15:22Z'
      properties:
        labourAgreementId:
          type: string
          example: ad96c221-0e84-4a56-befb-58be6cb4d46e
          format: uuid
          x-stoplight:
            id: vc07mdjne59or
          readOnly: true
        number:
          type: string
          example: '254'
          x-stoplight:
            id: 8bkbl6x558z00
          nullable: true
        description:
          type: string
          example: Afbouw
          x-stoplight:
            id: rj85s445yg1ww
          nullable: true
        period:
          $ref: '#/components/schemas/Period'
        createdAt:
          type: string
          format: date-time
      x-tags:
        - Models
    CompanyAddress:
      type: object
      x-stoplight:
        id: mdlwywof1o8xd
      additionalProperties: false
      description: Address object
      title: Address object
      x-tags:
        - Models
      properties:
        addressId:
          type: string
          description: Address unique identifier
          example: ad96c221-0e84-4a56-befb-58be6cb4d46e
          format: uuid
          readOnly: true
        isDefault:
          type: boolean
          description: Wheter the address is select as the default address
          example: 'true'
          nullable: true
        street:
          type: string
          description: Name of the street
          example: Naritaweg
        houseNumber:
          type: string
          description: House number
          example: '70'
          nullable: true
        houseNumberAddition:
          type: string
          description: Additional house number information
          nullable: true
        postalCode:
          type: string
          description: Postal code
          example: 1043BZ
          nullable: true
        city:
          type: string
          description: City
          example: Amsterdam
        stateProvince:
          type: string
          description: State/province name
          example: Noord-Holland
          nullable: true
        countryISOCode:
          type: string
          description: Two-letter ISO country code
          example: NL
          nullable: true
        period:
          $ref: '#/components/schemas/Period'
        createdAt:
          type: string
          description: 'Time at which the object was created, timezone CET'
          format: date-time
          example: '2021-06-07T07:59:11Z'
          readOnly: true
        type:
          $ref: '#/components/schemas/CompanyAddressType'
    CompanySalaryTable:
      type: object
      x-stoplight:
        id: 2qk3w3ke57lac
      additionalProperties: false
      title: CompanySalaryTable
      properties:
        salaryTableId:
          type: string
          example: ad96c221-0e84-4a56-befb-58be6cb4d46e
          format: uuid
          x-stoplight:
            id: 1b7dw5oqzpiap
          readOnly: true
        tableCode:
          type: integer
          x-stoplight:
            id: lvkitbgo2y59p
          example: 123
        tableName:
          type: string
          x-stoplight:
            id: wr1rbrmj2269v
          example: Horeca
        period:
          $ref: '#/components/schemas/Period'
        createdAt:
          type: string
          x-stoplight:
            id: kvqvd9x603i7j
          format: date-time
      x-tags:
        - Model
      x-examples:
        Example 1:
          salaryTableId: ad96c221-0e84-4a56-befb-58be6cb4d46e
          tableCode: 123
          tableName: Horeca
          period:
            year: 2021
            period: 4
          createdAt: '2019-08-24T14:15:22Z'
    CompanyContactPerson:
      type: object
      x-stoplight:
        id: ba6nyy7cmvwrp
      additionalProperties: false
      title: Company contact person
      x-tags:
        - Models
      properties:
        email:
          type: string
          x-stoplight:
            id: 2ddbnfpxppmec
        name:
          type: string
          x-stoplight:
            id: 55br5nm926hn0
          nullable: true
        gender:
          $ref: '#/components/schemas/Gender'
        department:
          $ref: '#/components/schemas/Department'
        function:
          $ref: '#/components/schemas/Function'
        phoneNumber:
          type: string
          x-stoplight:
            id: mhwop93oi6ih8
          nullable: true
        mobilePhoneNumber:
          type: string
          x-stoplight:
            id: 871k3kikme9fi
          nullable: true
        isDefault:
          type: boolean
          x-stoplight:
            id: xx4tq8y2ter8r
    CompanyBankAccount:
      type: object
      x-stoplight:
        id: 6vb7w600ugg63
      additionalProperties: false
      title: Bank account object
      properties:
        bankAccountNumber:
          type: string
          example: '1111'
          x-stoplight:
            id: t591asle2w4hf
        IBAN:
          type: string
          x-stoplight:
            id: iimv8ithhhdqo
          example: NL98INGB0003856625
        BIC:
          type: string
          example: INGBNL2A
          x-stoplight:
            id: 54uia3dc4rhvu
        bankName:
          type: string
          example: ING
          x-stoplight:
            id: kk09rl5p24cdo
        createdAt:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
        period:
          $ref: '#/components/schemas/Period'
    DebtorAddress:
      type: object
      additionalProperties: false
      description: Address object
      title: Debtor address object
      x-tags:
        - Models
      properties:
        addressId:
          type: string
          description: Address unique identifier
          example: ad96c221-0e84-4a56-befb-58be6cb4d46e
          format: uuid
          readOnly: true
        isDefault:
          type: boolean
          description: Wheter the address is the default
          example: 'true'
          nullable: true
        type:
          $ref: '#/components/schemas/DebtorAddressType'
        street:
          type: string
          description: Name of the street
          example: Naritaweg
        houseNumber:
          type: string
          description: NL-only - House number
          example: '70'
          nullable: true
        houseNumberAddition:
          type: string
          description: NL-only - Additional house number information
          nullable: true
        postalCode:
          type: string
          description: Postal code
          example: 1043BZ
          nullable: true
        city:
          type: string
          description: City
          example: Amsterdam
        stateProvince:
          type: string
          description: State/province name
          example: Noord-Holland
          nullable: true
        countryISOCode:
          type: string
          description: Two-letter ISO country code
          example: NL
          nullable: true
        period:
          $ref: '#/components/schemas/Period'
        createdAt:
          type: string
          description: 'Time at which the object was created, timezone CET'
          format: date-time
          example: '2021-06-07T07:59:11Z'
          readOnly: true
      required:
        - type
        - street
        - city
    CreateAddress:
      type: object
      additionalProperties: false
      description: Create Address object
      title: CreateAddress
      x-tags:
        - Models
      required:
        - type
        - street
        - city
        - countryISOCode
      properties:
        isDefault:
          type: boolean
          description: Wheter the address is the default
          nullable: true
        type:
          $ref: '#/components/schemas/AddressType'
        street:
          type: string
          description: Name of the street
          example: Naritaweg
        houseNumber:
          type: string
          description: NL-only - House number
          example: '70'
          nullable: true
        houseNumberAddition:
          type: string
          description: NL-only - Additional house number information
          nullable: true
        postalCode:
          type: string
          description: Postal code
          example: 1043BZ
          nullable: true
        city:
          type: string
          description: City
          example: Amsterdam
        stateProvince:
          type: string
          description: State/province name
          example: Noord-Holland
          nullable: true
        countryISOCode:
          type: string
          description: Two-letter ISO country code
          example: NL
        period:
          $ref: '#/components/schemas/Period'
    AddressType:
      type: string
      enum:
        - homeAddress
        - postAddress
        - absenceAddress
        - holidaysAddress
        - weekendAddress
        - workAddress
      description: List of available address types
      title: Address Type
      example: homeAddress
      x-tags:
        - Models
    Calc30PercentRulingType:
      type: string
      x-stoplight:
        id: x8v5v5yb1t8bc
      enum:
        - None
        - Gross deduction
        - Reduced salary
      description: List of available 30 Percent Ruling Calculation types
      title: Calc 30 Percent Ruling Type
      example: None
      x-tags:
        - Models
    ColorTable:
      type: string
      x-stoplight:
        id: 00z4p8nqivhtg
      enum:
        - White
        - Green
      description: List of available color table values for wage tax settings
      title: Color table
      example: White
      x-tags:
        - Models
    PeriodTable:
      type: string
      x-stoplight:
        id: zi8gai495m91w
      enum:
        - Month
        - Week
        - 4Week
        - Day
      description: List of available period table values for wage tax settings
      title: Period table
      example: Month
      x-tags:
        - Models
    Calc30PercentRuling:
      type: object
      x-stoplight:
        id: s4ia11haiqxsp
      description: 30 percent ruling setttings
      title: Calc 30 percent ruling
      example: None
      x-examples: {}
      properties:
        Calc30PercentRuling:
          $ref: '#/components/schemas/Calc30PercentRulingType'
        endPeriod:
          type: integer
          x-stoplight:
            id: 8lmrmauzz0umu
          example: 8
        endYear:
          type: integer
          x-stoplight:
            id: mq6kvgripg3o8
          example: 2025
    CompanyAddressType:
      type: string
      x-stoplight:
        id: zcbo82krn5bgm
      enum:
        - companyAddress
        - postAddress
        - workAddress
      description: List of available company address types
      title: Company Address Type
      example: companyAddress
      x-tags:
        - Models
    MaritalStatus:
      type: string
      x-stoplight:
        id: xe7xjxhnc1qde
      enum:
        - married
        - unmarried
        - livingTogether
        - divorced
        - registeredPartner
        - widowWidower
        - notSpecified
      description: List of available marital status
      title: Marital Status
      example: notSpecified
      x-tags:
        - Models
    DebtorAddressType:
      type: string
      enum:
        - billingAddress
        - debtorAddress
      description: List of available address types
      title: Debtor Address Type
      example: billingAddress
      x-tags:
        - Models
    Contract:
      type: object
      additionalProperties: false
      description: Contract object
      title: Contract object
      x-tags:
        - Models
      properties:
        contractId:
          type: string
          description: Contract unique identifier
          example: e35e343b-55a3-4e44-bc4b-f41c3b93bcf5
          format: uuid
        startDate:
          type: string
          description: Start date of the contract
          nullable: true
          example: '2021-01-01T09:29:18Z'
          format: date-time
        trialPeriod:
          type: string
          description: Trial period of the contract
          nullable: true
          format: date-time
          example: '2021-02-01T00:00:00Z'
        endDate:
          type: string
          description: End date of the contract. Mandatory when it's a permanent contract
          nullable: true
          format: date-time
        indefinite:
          type: boolean
          description: 'When true, contract is permanent. Else, contract is temporary'
          nullable: true
        writtenContract:
          type: boolean
          description: NL-only. Wheter the contract is written. New field available from 2021 onwards due to WAB changes
          nullable: true
        hoursPerWeek:
          type: number
          description: NL-only. Contract hours per week. New field available from 2021 onwards due to WAB changes
          nullable: true
          example: 40
          format: float
        createdAt:
          type: string
          format: date-time
          description: 'Time at which the object was created, timezone CET'
          example: '2021-03-01T15:10:54Z'
      required:
        - startDate
        - indefinite
    CreateEmployee:
      type: object
      additionalProperties: false
      description: Create employee object
      title: CreateEmployee
      x-examples: {}
      x-tags:
        - Models
      properties:
        PersonalInfo:
          $ref: '#/components/schemas/CreatePersonalInfo'
        AdditionalEmployeeInfo:
          $ref: '#/components/schemas/AdditionalEmployeeInfo'
    Company:
      title: Company object
      type: object
      x-tags:
        - Models
      description: ''
      properties:
        companyId:
          type: string
          example: 5b6a77c7-6abe-4f31-93dc-2692169e3ea4
          format: uuid
          description: Company unique identifier
        number:
          type: string
          example: '1'
          description: Company number
        name:
          type: string
          example: Nmbrs BV
          description: Company name
        debtorId:
          type: string
          example: 45d8ad44-ffb8-4691-87d8-7a7a5f4376e9
          description: 'Debtor unique identifier. Used to deal with resources as functions, departments, etc.'
          format: uuid
    CreateFixedHourComponent:
      title: CreateFixedHourComponent
      type: object
      description: |-
        A fixed hour component is applied to the current and all subsequent periods. If no end year and period is specified, it will be added to all periods further.

        For example, a travel allowance that is added to for all periods.
      x-tags:
        - Models
      required:
        - hourCode
        - hours
      properties:
        hourCode:
          type: integer
          description: Code of the hour component
          example: 2100
        hours:
          type: number
          description: Amount of hours to be registered on this hour component
          format: float
          example: 8
        costCenterId:
          type: string
          x-stoplight:
            id: u5qayq5o46tm0
          format: uuid
          nullable: true
        costUnitId:
          type: string
          x-stoplight:
            id: z5ty8ec61zlhb
          format: uuid
          nullable: true
        comment:
          type: string
          description: Comment of the hour component
          example: 'Comment '
          nullable: true
        endYear:
          type: integer
          example: 2021
          description: End year. Until which year the hour component is valid.
        endPeriod:
          type: integer
          example: 3
          description: End period. Until which period the hour component is valid.
        periodDetails:
          $ref: '#/components/schemas/PeriodPost'
    UpdateFixedHourComponent:
      title: UpdateFixedHourComponent
      x-stoplight:
        id: 1s4knuankyi2y
      type: object
      description: |-
        A fixed hour component is applied to the current and all subsequent periods. If no end year and period is specified, it will be added to all periods further.

        For example, a travel allowance that is added to for all periods.
      x-tags:
        - Models
      required:
        - hourComponentId
      properties:
        hourComponentId:
          type: string
          x-stoplight:
            id: pezno0rn1mt5a
          format: uuid
        hourCode:
          type: integer
          description: Code of the hour component
          example: 2100
          nullable: true
        hours:
          type: number
          description: Amount of hours to be registered on this hour component
          example: 8
          nullable: true
        costCenterId:
          type: string
          format: uuid
          nullable: true
        costUnitId:
          type: string
          format: uuid
          nullable: true
        comment:
          type: string
          description: Comment of the hour component
          example: 'Comment '
          nullable: true
        endYear:
          type: integer
          example: 2021
          description: End year. Until which year the hour component is valid.
          nullable: true
        endPeriod:
          type: integer
          example: 3
          description: End period. Until which period the hour component is valid.
          nullable: true
        periodDetails:
          $ref: '#/components/schemas/PeriodPost'
    AdditionalEmployeeInfo:
      title: AdditionalEmployeeInfo
      type: object
      description: Payroll employees are created to be used on the payroll run
      x-tags:
        - Models
      properties:
        inServiceDate:
          type: string
          format: date
        defaultEmployeeTemplate:
          type: string
          description: Default employee template unique identifier to be only used for employee's of type Payrol.
          format: uuid
          nullable: true
    CreateVariableHourComponent:
      title: CreateVariableHourComponent
      type: object
      description: |-
        A variable hour component is only applied for the period in which it was added to.

        For example, shift hours worked coming from a time registration integration that change every period. In period 2021/2 is 30h, in period 2021/2 is 45h, etc.  
      x-tags:
        - Models
      required:
        - hourCode
        - hours
      properties:
        hourCode:
          type: integer
          description: Code of the hour component
          example: 2100
        hours:
          type: number
          description: Amount of hours to be registered on this hour component
          format: float
          example: 3.5
        comment:
          type: string
          description: Comment of the hour component
          example: Comment
          nullable: true
        costCenterId:
          type: string
          x-stoplight:
            id: lib5qttxi1xm9
          format: uuid
          nullable: true
        costUnitId:
          type: string
          x-stoplight:
            id: wbuieztsn57cs
          format: uuid
          nullable: true
        periodDetails:
          $ref: '#/components/schemas/PeriodPost'
    CreateLeaveRequest:
      title: CreateLeaveRequest
      x-stoplight:
        id: e5kszqx937dmw
      type: object
      x-tags:
        - Models
      required:
        - startDate
        - endDate
        - hours
        - leaveGroupId
        - status
        - type
      properties:
        startDate:
          type: string
          x-stoplight:
            id: kmthpcd6uf6mo
          format: date
        endDate:
          type: string
          x-stoplight:
            id: gbn1l6td5unov
          format: date
        hours:
          type: number
          description: Amount of hours to be registered on this hour component
          format: float
          example: 3.5
        leaveGroupId:
          type: string
          x-stoplight:
            id: kkrwx5pzgaf5i
          format: uuid
        description:
          type: string
          x-stoplight:
            id: vbemsgzwnvnbe
        status:
          $ref: '#/components/schemas/LeaveStatus'
        type:
          $ref: '#/components/schemas/LeaveUsageType'
    UpdateVariableHourComponent:
      title: UpdateVariableHourComponent
      x-stoplight:
        id: vuuvs5mkjrz8o
      type: object
      description: |-
        A variable hour component is only applied for the period in which it was added to.

        For example, shift hours worked coming from a time registration integration that change every period. In period 2021/2 is 30h, in period 2021/2 is 45h, etc.  
      x-tags:
        - Models
      required:
        - hourComponentId
      properties:
        hourComponentId:
          type: string
          x-stoplight:
            id: ox4fnsij0wjht
          format: uuid
        hourCode:
          type: integer
          description: Code of the hour component
          example: 2100
          nullable: true
        hours:
          type: number
          description: Amount of hours to be registered on this hour component
          example: 3.5
          nullable: true
        costCenterId:
          type: string
          format: uuid
          nullable: true
        costUnitId:
          type: string
          format: uuid
          nullable: true
        comment:
          type: string
          description: Comment of the hour component
          example: Comment
          nullable: true
        periodDetails:
          $ref: '#/components/schemas/PeriodPost'
    CreateVariableHourComponentResponse:
      title: CreateVariableHourComponentResponse
      type: object
      properties:
        hourComponentId:
          type: string
          description: Created hour component Id
          example: 49a69eda-252e-4ccb-a220-38ea90511d4f
          format: uuid
    CreateLeaveRequestResponse:
      title: CreateLeaveRequestResponse
      x-stoplight:
        id: wqd8pibitdgv0
      type: object
      properties:
        leaveRequestId:
          type: string
          description: Created hour component Id
          example: 49a69eda-252e-4ccb-a220-38ea90511d4f
          format: uuid
          x-stoplight:
            id: g2037i8mp3o80
    UpdateVariableHourComponentResponse:
      title: UpdateVariableHourComponentResponse
      x-stoplight:
        id: 6rj156ditbl8g
      type: object
      properties:
        hourComponentId:
          type: string
          description: Updated hour component Id
          example: 49a69eda-252e-4ccb-a220-38ea90511d4f
          format: uuid
    UpdateFixedHourComponentResponse:
      title: UpdateFixedHourComponentResponse
      x-stoplight:
        id: 3gp40gly2k6q8
      type: object
      properties:
        hourComponentId:
          type: string
          description: Updated hour component Id
          example: 49a69eda-252e-4ccb-a220-38ea90511d4f
          format: uuid
      description: ''
    CompanyPeriod:
      title: CompanyPeriod
      type: object
      description: Current period of the company
      properties:
        period:
          $ref: '#/components/schemas/Period'
        periodType:
          $ref: '#/components/schemas/CompanyPeriodType'
        displayPeriod:
          type: string
          example: 2021-2-M
          description: 'Concatenated period information that is show on the Nmbrs webapp, useful for partners to display on their side'
      required:
        - period
        - periodType
        - displayPeriod
    CompanySVWSettings:
      title: CompanySVWSettings
      x-stoplight:
        id: 8xp1c1lrnkpzg
      type: object
      description: SVW settings of the company
      properties:
        SVWSettingsId:
          type: string
          example: 2021-2-M
          x-stoplight:
            id: fd4iqc2hhq0aw
          format: uuid
        ownRiskDifWGA:
          type: boolean
          x-stoplight:
            id: hvk203n0b32hd
        ownRiskHealthCare:
          type: boolean
          x-stoplight:
            id: 8ebuvp0d0u6v0
        AOF:
          x-stoplight:
            id: j5ajs985k334l
          enum:
            - Low
            - High
        diffWGAWn:
          x-stoplight:
            id: do7qjhnwdcv2h
          type: number
          format: float
          example: 0.24
        diffWGAWg:
          x-stoplight:
            id: 8u4h07bw3jgk4
          type: number
          format: float
          example: 0.24
        zwWg:
          x-stoplight:
            id: 4c8ecgfbn2z8i
          type: number
          format: float
          example: 1.01
        sector:
          type: object
          x-stoplight:
            id: 60xjo31l360kx
          properties:
            sectorCode:
              type: string
              x-stoplight:
                id: zl3gsc3dvevrq
            description:
              type: string
              x-stoplight:
                id: pdedkwebna2qd
        CAO:
          type: object
          x-stoplight:
            id: xbfsga2dj2wl0
          properties:
            CAOCode:
              type: string
              x-stoplight:
                id: el07znl6ny3yz
            description:
              type: string
              x-stoplight:
                id: 7e1prph45oc2u
        period:
          $ref: '#/components/schemas/Period'
        createdAt:
          type: string
          x-stoplight:
            id: rtm7qx6p02wig
          format: date-time
    CompanyListResponse:
      title: CompanyListResponse
      type: object
      x-tags:
        - Models
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          description: List of companies the user has access to
          items:
            $ref: '#/components/schemas/Company'
    CreateFixedHourComponentResponse:
      title: CreateFixedHourComponentResponse
      type: object
      properties:
        hourComponentId:
          type: string
          description: Created hour component Id
          format: uuid
          example: ddaae291-47fa-4c67-bb2f-de0e5da9e8a1
    CountriesResponse:
      title: CountriesResponse
      description: List of all countries and it's ISO code
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/CountryInformation'
    CompanyPeriodType:
      type: string
      title: CompanyPeriodType
      enum:
        - month
        - 1-week
        - 4-weeks
      description: 'Period type of a company, which can be: month, 1-week or 4-week. '
    CreateEmployeeResponse:
      title: CreateEmployeeResponse
      type: object
      properties:
        employeeId:
          type: string
          description: Created Employee Id
          format: uuid
          example: 3054d4cf-b449-489d-8d2e-5dd30e5ab994
    CountryInformation:
      type: object
      title: CountryInformation
      description: 'Country information object, defines the country and nationality associated with a codeISO'
      properties:
        codeISO:
          type: string
          example: NL
        country:
          type: string
          example: The Netherlands
          readOnly: true
        nationality:
          type: string
          example: Dutch
          readOnly: true
    Debtor:
      title: Debtor object
      type: object
      description: ''
      properties:
        debtorId:
          type: string
          example: b4101ba1-9d3c-4d65-8b3b-904d42b74c9d
          format: uuid
          description: Debtor unique identifier
        number:
          type: string
          example: '2210'
          description: Debtor number
        name:
          type: string
          example: Nmbrs International
          description: Debtor name
    DebtorListResponse:
      title: DebtorListResponse
      type: object
      x-tags:
        - Models
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          description: List of companies the user has access to
          items:
            $ref: '#/components/schemas/Debtor'
    Department:
      title: Department
      type: object
      description: Department object
      x-examples: {}
      properties:
        departmentId:
          type: string
          description: 'Department unique identifier '
          format: uuid
          example: 07e0422b-a991-40ad-afa4-c6cab728ab9d
        code:
          type: integer
          description: Department number that is set on the webapp
          example: 2
        description:
          type: string
          description: Department description
          example: Sales
    EmployeeDepartment:
      title: EmployeeDepartment
      type: object
      description: EmployeeDepartment object
      x-examples: {}
      properties:
        departmentId:
          type: string
          description: 'Department unique identifier '
          format: uuid
          example: 07e0422b-a991-40ad-afa4-c6cab728ab9d
        code:
          type: integer
          description: Department number that is set on the webapp
          example: 2
        description:
          type: string
          description: Department description
          example: Sales
        createdAt:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
        period:
          $ref: '#/components/schemas/Period'
    DepartmentListResponse:
      title: DepartmentListResponse
      type: object
      description: List of all departments
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          description: List of all departments available for this debtor
          items:
            $ref: '#/components/schemas/DepartmentWithManagers'
    DebtorTagsListResponse:
      title: DebtorTagsListResponse
      x-stoplight:
        id: 1gae2zdp47c3j
      type: object
      description: List of all debtor tags
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          description: List of all tags available for this debtor
          items:
            $ref: '#/components/schemas/DebtorTag'
    EmployeeDocumentTypesResponse:
      title: EmployeeDocumentTypesResponse
      x-stoplight:
        id: p1j3plyd7sdz5
      type: object
      description: List of all departments
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          description: List of all departments available for this debtor
          type: array
          items:
            $ref: '#/components/schemas/DocumentType'
    EmployeeContracts:
      type: object
      additionalProperties: false
      title: Contracts
      description: 'History of contracts, per employee'
      x-tags:
        - Models
      properties:
        employeeId:
          type: string
          description: Employee unique identifier
          example: 2fdb7514-d778-4fd7-8671-1f637f6f6a28
          format: uuid
        contracts:
          type: array
          description: History of contracts
          nullable: true
          items:
            $ref: '#/components/schemas/Contract'
    HourCode:
      type: object
      additionalProperties: false
      description: Hour code object
      title: HourCode
      x-tags:
        - Models
      properties:
        code:
          type: integer
          description: Description of the hour code
          example: 2100
        description:
          type: string
          description: Hour code description
          nullable: true
          example: Gewerkte uren
      required:
        - code
        - description
    ScheduleHours:
      type: object
      additionalProperties: false
      description: Schedule hours
      title: ScheduleHours
      x-tags:
        - Models
      properties:
        hoursMonday:
          type: number
          description: Monday
          format: float
          example: 8
        hoursTuesday:
          type: number
          description: Tuesday
          format: float
          example: 8
        hoursWednesday:
          type: number
          description: Wednesday
          format: float
          example: 8
        hoursThursday:
          type: number
          description: Thursday
          format: float
          example: 8
        hoursFriday:
          type: number
          description: Friday
          format: float
          example: 2.5
        hoursSaturday:
          type: number
          description: Saturday
          format: float
          example: 0
        hoursSunday:
          type: number
          description: Sunday
          format: float
          example: 0
    Schedule:
      type: object
      additionalProperties: false
      title: Schedule object
      description: Schedule object
      x-tags:
        - Models
      properties:
        scheduleId:
          type: string
          description: Schedule identifier
          example: e66ec3e9-6568-4fcf-9f45-945777a3e30d
          format: uuid
        startDate:
          type: string
          description: Schedule Start Date
          format: date-time
          example: '2021-10-01T07:02:10Z'
        parttimePercentage:
          type: number
          description: Partime Percentage
          format: float
          example: 92.5
        hoursPerWeek:
          type: number
          description: Hour per week
          example: 40
        daysPerWeek:
          type: number
          description: Days per week
          example: 5
        week1:
          $ref: '#/components/schemas/ScheduleHours'
        week2:
          $ref: '#/components/schemas/ScheduleHours'
        createdAt:
          type: string
          example: '2021-01-01T09:29:18Z'
          format: date-time
          description: 'Time at which the object was created, timezone CET'
      required:
        - startDate
    EmployeeSchedules:
      type: object
      additionalProperties: false
      title: Schedules
      description: 'History of schedules, per employee'
      x-tags:
        - Models
      properties:
        employeeId:
          type: string
          description: The Employee Id
          example: fc468faa-d83c-4b5c-b61e-65fad61767e3
          format: uuid
        schedules:
          type: array
          description: History of schedules
          nullable: true
          items:
            $ref: '#/components/schemas/Schedule'
    SalaryType:
      type: string
      enum:
        - grossFulltimeSalary
        - grossParttimeSalary
        - grossHourlyWage
        - netParttimeSalaryInclWageComp
        - netParttimeSalaryExclWageComp
        - netHourlyWageExclWageComp
        - netHourlyWageInclWageComp
        - employerCosts
      title: SalaryType
      description: 'Type of the salary. Read more about it: https://support.nmbrs.com/hc/en-us/articles/360011891091-Register-salary'
      x-tags:
        - Models
    Salary:
      type: object
      additionalProperties: false
      title: Salary object
      description: Salary object
      x-tags:
        - Models
      properties:
        salaryId:
          type: string
          description: Salary unique identifier
          example: 77985371-e121-489e-8ec8-c0b1b03963ce
          format: uuid
          readOnly: true
        startDate:
          type: string
          description: Start date of the salary
          format: date-time
          example: '2021-08-01T00:00:00Z'
        type:
          $ref: '#/components/schemas/SalaryType'
        value:
          type: number
          description: Value of the salary
          format: float
          example: 3480.95
        createdAt:
          type: string
          format: date-time
          example: '2021-03-01T15:10:54Z'
        salaryTable:
          $ref: '#/components/schemas/SalaryTable'
      required:
        - startDate
    CreateSalary:
      type: object
      additionalProperties: false
      title: Create Salary object
      description: Salary object
      x-tags:
        - Models
      properties:
        startDate:
          type: string
          description: Start date of the salary
          format: date-time
          example: '2021-08-01T00:00:00Z'
        type:
          $ref: '#/components/schemas/SalaryType'
        value:
          type: number
          description: Value of the salary
          format: float
          example: 3480.95
        salaryTable:
          type: object
          properties:
            salaryTableId:
              type: string
              example: e17a06f1-ae4c-4098-92a6-87976ea7dc9a
              description: Unique identifier of the salary table
            scaleId:
              type: string
              example: d5f761c0-20e7-490b-b756-644739fa6120
              description: Unique identifier of the scale
            stepId:
              type: string
              example: c9c6feef-cd69-4773-8602-f70fa3b561e4
              description: Unique identifier of the step
            increaseStep:
              type: object
              description: Automatically increase step during this defined period
              properties:
                period:
                  type: integer
                  description: '12'
                year:
                  type: integer
                  description: '2021'
      required:
        - startDate
    EmployeeSalaries:
      type: object
      additionalProperties: false
      title: Salaries
      description: 'History of salaries, per employee'
      x-tags:
        - Models
      properties:
        employeeId:
          type: string
          description: The Employee Id
          example: 4cf78912-b17d-437a-a6f1-a00c4d11c33e
          format: uuid
        salaries:
          type: array
          description: History of salaries
          nullable: true
          items:
            $ref: '#/components/schemas/Salary'
    EmployeeCostPerHour:
      type: object
      x-stoplight:
        id: 0rct2rj1vls8z
      additionalProperties: false
      title: CostPerHour
      description: 'Estimated cost per hour, per employee'
      x-tags:
        - Models
      properties:
        employeeId:
          type: string
          example: 4cf78912-b17d-437a-a6f1-a00c4d11c33e
          format: uuid
        costPerHour:
          type: string
          example: 15.42
          nullable: true
    EmployeeBasic:
      type: object
      additionalProperties: false
      description: Basic information
      title: EmployeeBasic
      x-examples: {}
      x-tags:
        - Models
      required:
        - lastName
        - employeeType
      properties:
        employeeNumber:
          type: integer
          example: 98072
          description: 'The employee number. Defined by the user, not unique.'
        firstName:
          type: string
          description: The employee's first name
          example: John
          nullable: true
        firstNameInFull:
          type: string
          description: First name In full
          nullable: true
        prefix:
          type: string
          description: NL-only. The employee's prefix of the surname
          example: van der
          nullable: true
        initials:
          type: string
          nullable: true
        lastName:
          type: string
          description: The employee's last name
          example: Doe
        employeeType:
          $ref: '#/components/schemas/EmployeeType'
    UpdateEmployeeBasic:
      type: object
      additionalProperties: false
      description: Basic information
      title: UpdateEmployeeBasic
      x-examples:
        Employee example:
          employeeNumber: 98072
          initials: string
          firstName: John
          prefix: van der
          lastName: Doe
          firstNameInFull: John van der Doe
      x-tags:
        - Models
      required:
        - lastName
      properties:
        employeeNumber:
          type: integer
          example: 98072
          description: 'The employee number. Defined by the user, not unique.'
          nullable: true
        firstName:
          type: string
          description: The employee's first name
          example: John
          nullable: true
        firstNameInFull:
          type: string
          description: First name In full
          nullable: true
        prefix:
          type: string
          description: NL-only. The employee's prefix of the surname
          example: van der
          nullable: true
        initials:
          type: string
          nullable: true
        lastName:
          type: string
          description: The employee's last name
          example: Doe
          nullable: true
    EmployeeBirth:
      type: object
      additionalProperties: false
      description: Birth information
      title: EmployeeBirth
      x-tags:
        - Models
      properties:
        birthDate:
          type: string
          description: The employee birth date
          format: date-time
          example: '1991-01-01T09:29:18Z'
          nullable: true
        birthCountry:
          $ref: '#/components/schemas/Country'
        nationality:
          $ref: '#/components/schemas/Nationality'
        deceasedOn:
          type: string
          description: The employee deceased date
          format: date-time
          nullable: true
        gender:
          $ref: '#/components/schemas/Gender'
    CreateEmployeeBirth:
      type: object
      additionalProperties: false
      description: Birth information
      title: CreateEmployeeBirth
      x-tags:
        - Models
      properties:
        birthDate:
          type: string
          description: The employee birth date
          example: '1980-02-27'
          format: date
          nullable: true
        birthCountryCodeISO:
          type: string
          example: NL
          description: The birth country to be inserted in the format ISO code
          nullable: true
        nationalityCodeISO:
          type: string
          example: PT
          description: The nationality to be inserted in the format ISO code
          nullable: true
        deceasedOn:
          type: string
          description: The employee deceased date
          example: '1980-02-27'
          format: date
          nullable: true
        gender:
          $ref: '#/components/schemas/Gender'
    UpdateEmployeeBirth:
      title: UpdateEmployeeBirth
      x-stoplight:
        id: k928igkwcj4br
      type: object
      properties:
        birthDate:
          type: string
          format: date-time
          nullable: true
        birthCountryCodeISO:
          type: string
          example: NL
          nullable: true
        nationalityCodeISO:
          type: string
          example: NL
          nullable: true
        deceasedOn:
          type: string
          format: date-time
          nullable: true
        gender:
          $ref: '#/components/schemas/Gender'
    EmployeeContact:
      type: object
      additionalProperties: false
      description: 'Contact information '
      title: EmployeeContact
      x-tags:
        - Models
      properties:
        privateEmail:
          type: string
          description: The employee private email
          nullable: true
          example: doe@private.com
          format: email
        businessEmail:
          type: string
          format: email
          example: doe@business.com
          nullable: true
          description: The employee business email
        businessPhone:
          type: string
          description: The employee business phone
          nullable: true
          example: '+351222222'
        businessMobilePhone:
          type: string
          description: The employee business mobile phone
          nullable: true
          example: '+351222222'
        privatePhone:
          type: string
          description: The employee private phone
          nullable: true
          example: '+351222222'
        privateMobilePhone:
          type: string
          description: The employee private mobile phone
          nullable: true
          example: '+351222222'
        otherPhone:
          type: string
          description: The employee other phone
          nullable: true
          example: '+351222222'
    EmployeeEmergencyInfo:
      type: object
      x-stoplight:
        id: ajiqbn3vrkico
      additionalProperties: false
      description: Contact information in case of emergency
      title: EmployeeEmergencyInfo
      x-tags:
        - Models
      properties:
        emergencyContact:
          type: string
          x-stoplight:
            id: 60p9e2samr5cj
          nullable: true
        emergencyPhone:
          type: string
          x-stoplight:
            id: r3c4rbki5sypt
          nullable: true
        emergencyRelationship:
          type: string
          x-stoplight:
            id: 2h9o4o627p8rd
          nullable: true
    PersonalInfo:
      type: object
      additionalProperties: false
      description: Detailed employee object
      title: Personal info object
      x-examples: {}
      x-tags:
        - Models
      properties:
        personalInfoId:
          type: string
          format: uuid
          example: 0039b188-b5f5-49a6-a3d5-0448ce4042ee
          readOnly: true
        basicInfo:
          $ref: '#/components/schemas/EmployeeBasic'
        birthInfo:
          $ref: '#/components/schemas/EmployeeBirth'
        contactInfo:
          $ref: '#/components/schemas/EmployeeContact'
        partnerInfo:
          $ref: '#/components/schemas/EmployeePartnerInfo'
        emergencyInfo:
          $ref: '#/components/schemas/EmployeeEmergencyInfo'
        period:
          $ref: '#/components/schemas/Period'
        createdAt:
          type: string
          description: 'Time at which the object was created, timezone CET'
          format: date-time
          example: '2021-07-01T10:15:08Z'
          readOnly: true
    CreatePersonalInfo:
      type: object
      additionalProperties: false
      description: Detailed employee object
      title: CreatePersonalInfo
      x-examples: {}
      x-tags:
        - Models
      properties:
        personalInfoId:
          type: string
          format: uuid
          example: 0039b188-b5f5-49a6-a3d5-0448ce4042ee
          readOnly: true
        basicInfo:
          $ref: '#/components/schemas/EmployeeBasic'
        birthInfo:
          $ref: '#/components/schemas/CreateEmployeeBirth'
        contactInfo:
          $ref: '#/components/schemas/EmployeeContact'
        partnerInfo:
          $ref: '#/components/schemas/UpdatePartnerInfo'
        period:
          $ref: '#/components/schemas/Period'
        createdAt:
          type: string
          description: 'Time at which the object was created, timezone CET'
          format: date-time
          example: '2021-07-01T10:15:08Z'
          readOnly: true
    UpdatePersonalInfo:
      title: UpdatePersonalInfo
      x-stoplight:
        id: 4amss28rhvygr
      type: object
      properties:
        basicInfo:
          $ref: '#/components/schemas/UpdateEmployeeBasic'
        birthInfo:
          $ref: '#/components/schemas/UpdateEmployeeBirth'
        contactInfo:
          $ref: '#/components/schemas/EmployeeContact'
        partnerInfo:
          $ref: '#/components/schemas/UpdatePartnerInfo'
        period:
          $ref: '#/components/schemas/Period'
    EmployeeAddressess:
      type: object
      additionalProperties: false
      title: Addresses
      description: 'History of addresses, per employee'
      x-tags:
        - Models
      properties:
        employeeId:
          type: string
          description: Employee unique identifier
          example: c6cec567-e40a-4892-b7d6-021f10e93743
          format: uuid
        addresses:
          type: array
          description: History of addresses
          nullable: true
          items:
            $ref: '#/components/schemas/Address'
    EmployeeWageTaxes:
      type: object
      x-stoplight:
        id: j8mdgn8l0ivxd
      additionalProperties: false
      title: Wage tax settings
      description: 'History of wage tax settings, per employee'
      x-tags:
        - Models
      properties:
        employeeId:
          type: string
          description: Employee unique identifier
          example: c6cec567-e40a-4892-b7d6-021f10e93743
          format: uuid
        wageTaxSettings:
          type: array
          description: History of wage tax settings
          nullable: false
          items:
            $ref: '#/components/schemas/EmployeeWageTax'
      x-examples:
        Example 2:
          employeeId: c6cec567-e40a-4892-b7d6-021f10e93743
          wageTaxSettings:
            - wageTaxId: ad96c221-0e84-4a56-befb-58be6cb4d46e
              wageTax: 'true'
              wageTaxRebate: 'true'
              singleElderlyDiscount: 'true'
              colorTable: Naritaweg
              incomeType: string
              specialAnnualSalaryRate: 32000
              specialTable: string
              differentSpecialRate: string
              30PercentRuling: None
              period:
                year: 2021
                period: 4
              createdAt: '2019-08-24T14:15:22Z'
    EmployeeLabourAgreements:
      type: object
      x-stoplight:
        id: 8ynt28xhhkupl
      additionalProperties: false
      title: LabourAgreementSettings
      description: 'History of labour agreement settings, per employee'
      x-examples:
        Example 1:
          employeeId: c6cec567-e40a-4892-b7d6-021f10e93743
          labourAgreementSettings:
            - labourAgreementId: ad96c221-0e84-4a56-befb-58be6cb4d46e
              number: '254'
              description: Afbouw
              period:
                year: 2021
                period: 4
              createdAt: '2019-08-24T14:15:22Z'
      properties:
        employeeId:
          type: string
          description: Employee unique identifier
          example: c6cec567-e40a-4892-b7d6-021f10e93743
          format: uuid
        labourAgreementSettings:
          type: array
          description: History of wage tax settings
          nullable: false
          items:
            $ref: '#/components/schemas/EmployeeLabourAgreement'
      x-tags:
        - Models
    EmployeeDepartments:
      type: object
      additionalProperties: false
      title: Departments
      description: 'History of departments, per employee'
      x-tags:
        - Models
      properties:
        employeeId:
          type: string
          description: Employee unique identifier
          example: c6cec567-e40a-4892-b7d6-021f10e93743
          format: uuid
        departments:
          type: array
          description: History of addresses
          nullable: true
          items:
            $ref: '#/components/schemas/EmployeeDepartment'
    EmployeeFunctions:
      type: object
      additionalProperties: false
      title: Functions
      description: 'History of functions, per employee'
      x-tags:
        - Models
      x-examples: {}
      properties:
        employeeId:
          type: string
          description: Employee unique identifier
          example: c6cec567-e40a-4892-b7d6-021f10e93743
          format: uuid
        functions:
          type: array
          description: History of addresses
          nullable: true
          items:
            $ref: '#/components/schemas/EmployeeFunction'
    EmployeePrivateInfos:
      type: object
      additionalProperties: false
      title: PrivateInfos
      description: 'History of Private Infos, per employee'
      x-tags:
        - Models
      x-examples: {}
      properties:
        employeeId:
          type: string
          description: Employee unique identifier
          example: c6cec567-e40a-4892-b7d6-021f10e93743
          format: uuid
        privateInfos:
          type: array
          description: History of addresses
          nullable: true
          items:
            $ref: '#/components/schemas/EmployeePrivateInfo'
    HourComponentFixed:
      type: object
      additionalProperties: false
      description: Fixed hour component object
      title: Fixed hour component object
      x-tags:
        - Models
      required:
        - hourCode
        - hours
      properties:
        hourComponentId:
          type: string
          description: Hour component unique identifier
          example: 9ddf27fe-2474-4813-b9c8-a1d8d3a222b6
          format: uuid
        hourCode:
          type: integer
          description: Code of the hour component
          example: 2100
        hourCodeDescription:
          type: string
          description: Description of the hour component
          example: Gewerkte uren
        hours:
          type: number
          description: Amount of hours to be registered on this hour component
          format: float
          example: 8
        costCenterId:
          type: string
          x-stoplight:
            id: 1glhe7lvyqu84
          format: uuid
          nullable: true
        costUnitId:
          type: string
          x-stoplight:
            id: a90vsryv641he
          format: uuid
          nullable: true
        comment:
          type: string
          description: Comment of the hour component
          example: Comment
          nullable: true
        endYear:
          type: integer
          example: 2021
          description: End year. Only applicable for fixed hour components
          nullable: true
        endPeriod:
          type: integer
          example: 3
          description: End period. Only applicable for fixed hour components
          nullable: true
        createdAt:
          type: string
          description: 'Time at which the object was created, timezone CET'
          format: date-time
    PersonalInfos:
      title: Employees
      type: object
      description: Employees list
      x-tags:
        - Models
      properties:
        employeeId:
          type: string
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
          format: uuid
        info:
          type: array
          items:
            $ref: '#/components/schemas/PersonalInfo'
    SalaryTable:
      title: SalaryTableGet
      description: Salary table object
      x-tags:
        - Models
      type: object
      properties:
        tableId:
          type: string
          description: Salary table unique identifier
          example: 9b7b566f-5ae7-466a-b07f-4681513d9be9
          format: uuid
        tableCode:
          type: integer
          description: Code of the salary table
          example: 751
        tableName:
          type: string
          description: Name of the salary table
          example: Bedrijfscatering
        scale:
          type: object
          description: Scale of the salary table
          properties:
            scaleId:
              type: string
              example: be36bc21-abd9-4f20-921b-ce32d4bbe9e3
            scaleCode:
              type: string
              description: Code of the scale
              example: A
            scaleDescription:
              type: string
              description: Description of the scale
              example: Aanloopschaal
        step:
          type: object
          description: Step of the salary table
          properties:
            stepId:
              type: string
              example: 20d9e482-60ea-4a43-b2e4-4ad3c4e5e0ac
            stepCode:
              type: string
              description: Code of the step
              example: '3'
            stepDescription:
              type: string
              description: Description of the step
              example: Trede 3
        increaseStep:
          type: object
          description: Automatically increase step during this defined period
          properties:
            period:
              type: integer
            year:
              type: integer
        links:
          type: array
          items:
            $ref: '#/components/schemas/HATEOAS'
    SalaryTableRef:
      title: SalaryTableRef
      description: Salary table object. Returns null when there is no salary table selected for the employee.
      x-tags:
        - Models
      nullable: true
      type: object
      properties:
        salaryTable:
          $ref: '#/components/schemas/SalaryTable'
        links:
          type: array
          items:
            $ref: '#/components/schemas/HATEOAS'
    SalaryTableObjectVersions:
      title: SalaryTableObjectVersions
      description: 'Each salary table can have multiple versions, in which the value of the salary according to the CAOs. '
      type: object
      x-tags:
        - Models
      properties:
        salaryTable:
          $ref: '#/components/schemas/SalaryTable'
        versions:
          type: array
          items:
            $ref: '#/components/schemas/SalaryTableVersions'
    SalaryTableObjectVersionsResponse:
      title: SalaryTableObjectVersions
      description: 'Each salary table can have multiple versions, in which the value of the salary according to the CAOs. '
      type: object
      x-tags:
        - Models
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          $ref: '#/components/schemas/SalaryTableObjectVersions'
    SalaryTableVersions:
      title: SalaryTableVersions
      description: Version of the salary table and it's values.
      x-tags:
        - Models
      type: object
      properties:
        version:
          type: string
          example: Version 23 | 2021-4-M
        value:
          type: string
          example: '1710,00'
    HourComponentVariable:
      type: object
      additionalProperties: false
      description: Fixed hour component object
      title: Variable hour component object
      x-tags:
        - Models
      required:
        - hourCode
        - hours
      properties:
        hourComponentId:
          type: string
          description: Hour component unique identifier
          example: fcb6fd51-7ca9-483c-9838-aa3b49b715af
          format: uuid
        hourCode:
          type: integer
          description: Code of the hour component
          example: 2100
        hourCodeDescription:
          type: string
          description: Description of the hour component
          example: Gewerkte uren
          nullable: true
        hours:
          type: number
          description: Amount of hours to be registered on this hour component
          format: float
          example: 80
        costCenterId:
          type: string
          x-stoplight:
            id: ntqsuxzrvrbzt
          format: uuid
          nullable: true
        costUnitId:
          type: string
          x-stoplight:
            id: k9s3e8ib9kej3
          format: uuid
          nullable: true
        comment:
          type: string
          description: Comment of the hour component
          example: Comment of hour component
          nullable: true
        createdAt:
          type: string
          description: 'Time at which the object was created, timezone CET'
          format: date-time
    Period:
      title: Period
      type: object
      x-tags:
        - Models
      properties:
        year:
          type: integer
          example: 2021
        period:
          type: integer
          example: 4
    EmployeeList:
      title: EmployeeList
      x-examples: {}
      type: object
      x-tags:
        - Models
      properties:
        employeeId:
          type: string
          description: Employee unique identifier
          example: 492f6362-79a3-4452-8e1d-a83fbe5437c2
          format: uuid
        employeeBasicInfo:
          $ref: '#/components/schemas/EmployeeBasic'
    EmployeeType:
      type: string
      title: EmployeeType
      enum:
        - applicant
        - newHire
        - payroll
        - formerPayroll
        - external
        - formerExternal
        - rejectedApplicant
      description: Type of the employee
      x-tags:
        - Models
      example: applicant
    RunType:
      type: string
      x-stoplight:
        id: y8tesejbk5oun
      title: RunType
      enum:
        - none
        - normal
        - normal_twk
        - twk
        - partial
      description: Type of the run
      x-tags:
        - Models
      example: partial
      default: partial
    LeaveType:
      type: string
      x-stoplight:
        id: f88gjjeyn3qeb
      title: LeaveType
      enum:
        - undefined
        - type1
        - type2
        - type3
        - type4
      description: Type of the leave request
      x-tags:
        - Models
      example: undefined
    LeaveStatus:
      type: string
      x-stoplight:
        id: 4vexewbgevh7y
      title: LeaveStatus
      enum:
        - pending
        - approved
        - rejected
      description: Status of the leave request
      x-tags:
        - Models
      example: none
    LeaveUsageType:
      type: string
      x-stoplight:
        id: dkgouyki76opc
      title: LeaveUsageType
      enum:
        - takeUp
        - buildUp
        - expired
      description: Usage type of the leave request
      x-tags:
        - Models
      example: takeUp
    Gender:
      type: string
      title: Gender
      description: Gender of the employee
      x-tags:
        - Models
      enum:
        - unspecified
        - male
        - female
        - unknown
      nullable: true
    HourCodesResponse:
      title: HourModelsResponse
      type: object
      x-examples: {}
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/HourCode'
    EmployeesContractsResponse:
      title: EmployeesContractsResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeContracts'
    EmployeesSchedulesResponse:
      title: EmployeesSchedulesResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeSchedules'
    EmployeesSalariesResponse:
      title: EmployeesSalariesResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeSalaries'
    EmployeesCostPerHourResponse:
      title: EmployeesCostPerHourResponse
      x-stoplight:
        id: w4mg4uwwtsp0x
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeCostPerHour'
      description: ''
    EmployeesPersonalInfoResponse:
      title: EmployeesPersonalInfoResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/PersonalInfos'
    EmployeesAddressessResponse:
      title: EmployeesAddressessResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeAddressess'
    EmployeesWageTaxesResponse:
      title: EmployeesWageTaxesResponse
      x-stoplight:
        id: ltx18zg4qxcpr
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeWageTaxes'
      x-examples:
        Example 1:
          pagination:
            pageNumber: 3
            pageSize: 30
            firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
            lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
            totalPages: 10
            totalRecords: 328
            nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
            previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
          data:
            - employeeId: c6cec567-e40a-4892-b7d6-021f10e93743
              wageTaxSettings:
                - wageTaxId: ad96c221-0e84-4a56-befb-58be6cb4d46e
                  wageTax: 'true'
                  wageTaxRebate: 'true'
                  singleElderlyDiscount: 'true'
                  colorTable: Naritaweg
                  incomeType: string
                  specialAnnualSalaryRate: 32000
                  specialTable: string
                  differentSpecialRate: string
                  30PercentRuling: None
                  period:
                    year: 2021
                    period: 4
    EmployeesLabourAgreementsResponse:
      title: EmployeesLabourAgreementsResponse
      x-stoplight:
        id: hyi028b117lqp
      type: object
      x-examples:
        Example 2:
          pagination:
            pageNumber: 3
            pageSize: 30
            firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
            lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
            totalPages: 10
            totalRecords: 328
            nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
            previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
          data:
            - employeeId: c6cec567-e40a-4892-b7d6-021f10e93743
              labourAgreementSettings:
                - labourAgreementId: ad96c221-0e84-4a56-befb-58be6cb4d46e
                  number: '254'
                  description: Afbouw
                  period:
                    year: 2021
                    period: 4
                  createdAt: '2019-08-24T14:15:22Z'
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeLabourAgreements'
      x-tags:
        - Models
    EmployeesDepartmentsResponse:
      title: EmployeesDepartmentsResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeDepartments'
      x-examples: {}
    EmployeesFunctionsResponse:
      title: EmployeesFunctionsResponse
      type: object
      x-examples: {}
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeFunctions'
    EmployeesPrivateInfosResponse:
      title: EmployeesFunctionsResponse
      type: object
      x-examples: {}
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeePrivateInfos'
    HourComponentVariableResponse:
      title: HourComponentVariableResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/HourComponentVariable'
    HourComponentFixedResponse:
      title: HourComponentFixedResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/HourComponentFixed'
    EmployeeListResponse:
      title: EmployeeListResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeList'
    ErrorResponse:
      title: ErrorResponse
      type: object
      description: Error response object
      properties:
        type:
          type: string
          minLength: 1
          description: Type of the error
          enum:
            - apiError
            - authenticationError
            - invalidRequestError
            - throttlingError
            - validationError
        httpStatus:
          type: integer
          description: HTTP status returned
        code:
          type: integer
          description: Code that identifies the error
        title:
          type: string
          minLength: 1
          description: Title of the error
        detail:
          type: string
          minLength: 1
          description: Further details about the error
        invalid-params:
          type: array
          description: Detailed description of what parameters are causing the error
          items:
            type: object
            properties:
              name:
                type: string
                description: Name of the parameter failling
              reason:
                type: string
                description: Reason of why the parameter failed
          nullable: true
        docUrl:
          type: string
          minLength: 1
          description: Url to documentation that supports the user on understanding and fixing the error
      required:
        - httpStatus
        - code
        - title
    Pagination:
      title: Pagination
      type: object
      properties:
        pageNumber:
          type: integer
          example: 3
        pageSize:
          type: integer
          example: 30
        firstPage:
          type: string
          format: uri
          example: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
        lastPage:
          type: string
          format: uri
          example: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
        totalPages:
          type: integer
          example: 10
        totalRecords:
          type: integer
          example: 328
        nextPage:
          type: string
          format: uri
          example: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
          nullable: true
        previousPage:
          type: string
          format: uri
          example: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
          nullable: true
    PeriodPost:
      title: PeriodPost
      type: object
      description: 'If no period is specified, it will be added to the current period. '
      properties:
        period:
          $ref: '#/components/schemas/Period'
        unprotectedMode:
          type: boolean
          description: Unprotected Mode need to be set to true when making changes in the past. Default is false.
          nullable: true
    CompanyPeriodResponse:
      title: CompanyPeriodResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/CompanyPeriod'
    CompanySVWSettingsResponse:
      title: CompanySVWSettingsResponse
      x-stoplight:
        id: 9rt2qqihgvuvm
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/CompanySVWSettings'
    EmployeeFunction:
      title: EmployeeFunction
      type: object
      description: Function object
      x-examples: {}
      properties:
        functionId:
          type: string
          description: Function unique identifier
          format: uuid
          example: ff4cc24d-8542-4d06-80ee-eadbf9708309
        code:
          type: integer
          description: Function number that shows on the webapp
          example: 1
        description:
          type: string
          description: Function description
          example: Sales Lead
        createdAt:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
        period:
          $ref: '#/components/schemas/Period'
    Function:
      title: Function
      type: object
      description: Function object
      x-examples: {}
      properties:
        functionId:
          type: string
          description: Function unique identifier
          format: uuid
          example: ff4cc24d-8542-4d06-80ee-eadbf9708309
        code:
          type: integer
          description: Function number that shows on the webapp
          example: 1
        description:
          type: string
          description: Function description
          example: Sales Lead
    FunctionListResponse:
      title: FunctionListResponse
      type: object
      description: 'List of all functions '
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          description: List of all functions available for this debtor
          items:
            $ref: '#/components/schemas/Function'
    UpdateEmployeeFunction:
      title: UpdateEmployeeFunction
      type: object
      description: Update employee's function object
      properties:
        functionId:
          type: string
          format: uuid
          example: 462f003c-4c2e-453f-ae01-d971db2071f6
          description: Function unique identifier
        periodDetails:
          $ref: '#/components/schemas/Period'
      required:
        - functionId
    UpdateEmployeeDepartment:
      title: UpdateEmployeeDepartment
      type: object
      description: Update employee's department object
      properties:
        departmentId:
          type: string
          format: uuid
          example: e478697d-1775-4feb-b3d6-7b865e96245e
          description: Department unique identifier
        periodDetails:
          $ref: '#/components/schemas/Period'
      required:
        - departmentId
    Manager:
      title: Manager
      type: object
      description: Manager object
      properties:
        managerId:
          type: string
          description: 'Manager unique identifier '
          format: uuid
          example: 2f6aa11c-504a-49a1-903b-e15e79965702
        number:
          type: integer
          description: The manager's number
          example: 1
        firstName:
          type: string
          description: The manager's first name
          example: Anouk
        lastName:
          type: string
          description: The manager's last name
          example: van der Bak
        gender:
          type: string
          description: The manager's gender
          example: Female
        department:
          $ref: '#/components/schemas/Department'
        function:
          $ref: '#/components/schemas/Function'
        phoneNumber:
          type: string
          description: The manager's phone number
          example: '0640986755'
        cellphone:
          type: string
          description: The manager's cellphone
          example: '0640986755'
        fax:
          type: string
          description: The manager's fax
        email:
          type: string
          description: The manager's email
          example: anoukvanderbak@email.com
          format: email
    AccountantContactPerson:
      title: AccountantContactPerson
      x-stoplight:
        id: la43n3q9sll6p
      type: object
      properties:
        name:
          type: string
          example: Anouk
          x-stoplight:
            id: 8m3o5nhh8ctbc
        phoneNumber:
          type: string
          example: '0640986755'
        email:
          type: string
          example: anoukvanderbak@email.com
          format: email
    ManagersListResponse:
      title: EmployeeManagersListResponse
      type: object
      description: List of all managers
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          description: List of all departments available for this debtor
          items:
            $ref: '#/components/schemas/Manager'
    AccountantContactPersonsResponse:
      title: AccountantContactPersonsResponse
      x-stoplight:
        id: e7bcg7ne2ntrj
      type: object
      description: ''
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          description: Get list of all accountant contact persons set to the debtor
          items:
            $ref: '#/components/schemas/AccountantContactPerson'
    UpdateEmployeeManager:
      title: UpdateEmployeeManager
      type: object
      description: Update employee's manager object
      properties:
        managerId:
          type: string
          format: uuid
          example: 4ffe9388-88a0-43b1-892a-602c8fd29aef
          description: Manager unique identifier
        periodDetails:
          $ref: '#/components/schemas/Period'
      required:
        - managerId
    Nationality:
      type: object
      title: Nationality
      description: Nationality object
      properties:
        codeISO:
          type: string
          example: NL
        description:
          type: string
          example: Dutch
          readOnly: true
    Country:
      type: object
      title: Country
      description: Country object
      properties:
        codeISO:
          type: string
          example: NL
        description:
          type: string
          example: The Netherlands
          readOnly: true
    NationalitiesResponse:
      title: NationalitiesResponse
      description: List of all possible nationalities an employee can have
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Nationality'
    UpdateSalaryResponse:
      type: object
      title: UpdateSalaryResponse
      description: ''
      properties:
        salaryId:
          type: string
          example: cc3449f5-9941-4209-be36-187a16267394
          description: Salary history identifier
      required:
        - salaryId
    UpdateAddress:
      title: UpdateAddress
      type: object
      description: Update address object
      properties:
        address:
          $ref: '#/components/schemas/Address'
        periodDetails:
          $ref: '#/components/schemas/Period'
      required:
        - address
    UpdateAddressResponse:
      type: object
      title: UpdateAddressResponse
      description: ''
      properties:
        addressId:
          type: string
          example: cc3449f5-9941-4209-be36-187a16267394
          description: Address identifier
      required:
        - addressId
    CreateEmployeeSVWSettingsResponse:
      type: object
      x-stoplight:
        id: vuqdmdwafjk52
      title: CreateEmployeeSVWSettingsResponse
      required:
        - employeeSVWSettingsId
      properties:
        employeeSVWSettingsId:
          type: string
          example: cc3449f5-9941-4209-be36-187a16267394
          description: Employee SVW settings id
          x-stoplight:
            id: oayx3ti1yy3mc
          format: uuid
    HATEOAS:
      title: HATEOAS
      type: object
      description: ''
      properties:
        rel:
          type: string
        href:
          type: string
        method:
          type: string
    EmployeePrivateInfo:
      title: EmployeePrivateInfo
      type: object
      x-examples: {}
      description: Employee private information
      properties:
        BSN:
          type: string
          maxLength: 9
          minLength: 9
          example: '123456782'
          pattern: '^[0-9]{9}$'
        createdAt:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
    CreateContract:
      title: CreateContract
      type: object
      description: Create Contract Object
      properties:
        startDate:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
        trialPeriod:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
          nullable: true
        endDate:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
          nullable: true
        indefinite:
          type: boolean
        writtenContract:
          type: boolean
          nullable: true
        hoursPerWeek:
          type: number
          format: float
          example: 40
          nullable: true
      required:
        - startDate
        - indefinite
    CreateContractResponse:
      title: CreateContractResponse
      type: object
      properties:
        contractId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
      required:
        - contractId
    UpdateEmployeeContract:
      title: UpdateEmployeeContract
      type: object
      description: Update employee's contract object
      properties:
        contractId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
        trialPeriod:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
          nullable: true
        endDate:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
          nullable: true
        indefinite:
          type: boolean
          nullable: true
        writtenContract:
          type: boolean
          nullable: true
        hoursPerWeek:
          type: number
          format: float
          example: 40
          nullable: true
      required:
        - indefinite
    UpdateSchedule:
      title: UpdateSchedule
      type: object
      description: Update Schedule Object
      properties:
        startDate:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
        hoursPerWeek:
          type: number
          format: float
          example: 40
          nullable: true
        week1:
          $ref: '#/components/schemas/ScheduleHours'
        week2:
          $ref: '#/components/schemas/ScheduleHours'
      required:
        - startDate
    UpdateScheduleResponse:
      title: UpdateScheduleResponse
      type: object
      properties:
        scheduleId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
    Employment:
      title: Employment
      type: object
      description: Employment Object
      properties:
        employmentId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
        creationDate:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
          nullable: true
        startDate:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
          nullable: true
        endDate:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
          nullable: true
        seniorityDate:
          type: string
          format: date-time
          example: '2021-01-01T09:29:18Z'
          nullable: true
        endContractReason:
          $ref: '#/components/schemas/EndContractReason'
        changedDate:
          type: string
          x-stoplight:
            id: e0wbpllyhl8hi
          format: date-time
          example: '2021-01-01T09:29:18Z'
    EmployeeEmployments:
      title: EmployeeEmployments
      type: object
      description: 'History of employments, per employee'
      properties:
        employeeId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
        employments:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/Employment'
    CostCenter:
      title: CostCenter
      type: object
      description: CostCenter Object
      properties:
        costCenterId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
        code:
          type: string
        description:
          type: string
      required:
        - code
        - description
    CompanySchedule:
      title: CompanySchedule
      x-stoplight:
        id: hkp5jky4wg21h
      type: object
      description: ''
      x-examples: {}
      properties:
        scheduleNumber:
          type: integer
          x-stoplight:
            id: elvr8z4zetkdd
          example: 1
        scheduleCalcMethod:
          type: object
          x-stoplight:
            id: ueakqz81l5q03
          properties:
            calcMethod:
              type: integer
              x-stoplight:
                id: 8y879c389d18a
              example: 1
            calcMethodDescription:
              type: string
              x-stoplight:
                id: iokb1djy2zr9v
              example: (Hours per week * 52) / periods per year
        hours:
          type: object
          x-stoplight:
            id: gybpg4o3i373b
          properties:
            monday:
              type: number
              x-stoplight:
                id: 3jcjszc957rey
              format: float
              example: 8
            tuesday:
              type: number
              x-stoplight:
                id: v3t6390y7twah
              format: float
              example: 8
            wednesday:
              type: number
              x-stoplight:
                id: f049dsaycnocz
              format: float
              example: 8
            thursday:
              type: number
              x-stoplight:
                id: qd6xtybpwzujo
              format: float
              example: 8
            friday:
              type: number
              x-stoplight:
                id: kw9nz4iinubw9
              format: float
              example: 8
            saturday:
              type: number
              x-stoplight:
                id: wxudooovjmfh1
              format: float
              example: 8
            sunday:
              type: number
              x-stoplight:
                id: jgl05kttno7ox
              format: float
              example: 6
            monday2:
              type: number
              x-stoplight:
                id: hxzjyen0zjare
              format: float
              example: 6
            tuesday2:
              type: number
              x-stoplight:
                id: f07bxefu8hrla
              format: float
              example: 6
            wednesday2:
              type: number
              x-stoplight:
                id: 9f2ipsqr5y21r
              format: float
              example: 6
            thursday2:
              type: number
              x-stoplight:
                id: is5k5ed2cb04t
              format: float
              example: 6
            friday2:
              type: number
              x-stoplight:
                id: aqnbymwup43fl
              format: float
              example: 8
            saturday2:
              type: number
              x-stoplight:
                id: 9pdac6xf4hk8o
              format: float
              example: 8
            sunday2:
              type: number
              x-stoplight:
                id: vro7mt410mguv
              format: float
              example: 8
        createdAt:
          type: string
          x-stoplight:
            id: qxxew46yhgm1u
          format: date-time
          nullable: true
    PayrollRun:
      title: PayrollRun
      x-stoplight:
        id: 6rulwdvqzlmou
      type: object
      description: Payroll run object
      properties:
        payrollRunId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
          x-stoplight:
            id: 413si8degjrh4
        number:
          type: integer
          x-stoplight:
            id: 35ocsudb9tij0
        description:
          type: string
        year:
          type: integer
          x-stoplight:
            id: x30mvq800fw8l
        periodStart:
          type: integer
          x-stoplight:
            id: p97yuvif3u455
          format: date-time
        periodEnd:
          type: integer
          x-stoplight:
            id: 37kcggpokcbn9
          format: date-time
        createdAt:
          type: string
          x-stoplight:
            id: lp5yq9inhq4kt
          format: date-time
        type:
          $ref: '#/components/schemas/RunType'
        locked:
          type: boolean
          x-stoplight:
            id: lctpwjb1yz2gf
    WorkCost:
      title: WorkCost
      x-stoplight:
        id: ddql2y55ge22d
      type: object
      properties:
        period:
          type: object
          x-stoplight:
            id: txa0xbham7p54
          properties:
            year:
              type: integer
              x-stoplight:
                id: hi5pom4165e0n
            period:
              type: integer
              x-stoplight:
                id: 4e7xnoqlh3853
        workCostPayroll:
          type: number
          x-stoplight:
            id: 8t6a5gdjx2hrc
          format: double
          example: 1500
        workCostFinancial:
          type: number
          x-stoplight:
            id: 8g4adhyllwel3
          format: double
          example: 1500
        fiscalWage:
          type: number
          x-stoplight:
            id: mcicz9jd7tdqu
          format: double
          example: 1500
        workCostAvailable:
          type: number
          x-stoplight:
            id: 5ggz5lmcd1yej
          format: double
          example: 1500
        workCostBase:
          type: number
          x-stoplight:
            id: 46stcb60mu8ki
          format: double
          example: 1500
        workCostToPay:
          type: number
          x-stoplight:
            id: ffqjndil1bozs
          format: double
          example: 1500
        workCostEstimated:
          type: number
          x-stoplight:
            id: n1r1a1fry4v09
          format: double
          example: 1500
        workCostPaid:
          type: number
          x-stoplight:
            id: i6ni6qrruqgw3
          format: double
          example: 1500
    EmployeeInPayrollRun:
      title: EmployeeInPayroll
      x-stoplight:
        id: 6rulwdvqzlmou
      type: object
      description: ''
      properties:
        employeeId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
          x-stoplight:
            id: 413si8degjrh4
        employeeNumber:
          type: integer
          x-stoplight:
            id: 35ocsudb9tij0
    WageTax:
      title: WageTax
      x-stoplight:
        id: o0dmk8m5fuz25
      type: object
      x-examples: {}
      properties:
        wageTaxId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
          x-stoplight:
            id: 4bfe0vrdbdn6m
        serialNumber:
          type: integer
          x-stoplight:
            id: lsnxztgnolj0x
          example: 10
        totalGeneral:
          type: integer
          x-stoplight:
            id: tddgpf6rqcs71
          example: 4546
        paymentReference:
          type: string
          x-stoplight:
            id: mhwa8xyl2fscm
          example: 1111.2223.3630.1010
        period:
          type: integer
          x-stoplight:
            id: tvigepc1f4k74
          example: 10
        year:
          type: integer
          x-stoplight:
            id: 7kdxp3wunlfn2
          example: 2025
        status:
          type: string
          x-stoplight:
            id: r7qwqt5dj3bs2
          example: Verzonden
        sentAt:
          type: string
          x-stoplight:
            id: 56oje0wlhinqp
          example: '2025-02-05T14:54:06.267Z'
          format: date-time
          nullable: true
        periodStart:
          type: string
          x-stoplight:
            id: 86l34m14nyxzh
          format: date
        periodEnd:
          type: string
          x-stoplight:
            id: d13ykmgtcg67k
          format: date
        correctionPeriodStart:
          type: string
          x-stoplight:
            id: r9jseavmcyp1z
          format: date
          nullable: true
        correctionPeriodEnd:
          type: string
          x-stoplight:
            id: mw9tri6veiiw4
          format: date
          nullable: true
    PensionExport:
      title: PensionExport
      x-stoplight:
        id: fovb2truasu6x
      type: object
      x-examples: {}
      properties:
        pensionExportId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
          x-stoplight:
            id: mlqknbzl86ck1
        serialNumber:
          type: integer
          example: 10
        period:
          type: integer
          example: 10
        year:
          type: integer
          example: 2025
        status:
          type: string
          example: Verzonden
        sentAt:
          type: string
          example: '2025-02-05T14:54:06.267Z'
          format: date-time
          nullable: true
        correctionStartDate:
          type: string
          format: date
          x-stoplight:
            id: tqbt28qne95do
          nullable: true
        correctionEndDate:
          type: string
          format: date
          x-stoplight:
            id: 3xs44ysush3zc
          nullable: true
    LeaveGroup:
      title: LeaveGroup
      x-stoplight:
        id: o9m400sui1dof
      type: object
      description: LeaveGroup Object
      x-examples:
        Example 1:
          leaveGroupId: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
          leaveGroup: string
          description: string
      properties:
        leaveGroupId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
          x-stoplight:
            id: 0zesaw3v3sesf
        group:
          type: string
          x-stoplight:
            id: v9wwywxzkx32s
          example: '1'
        description:
          type: string
          example: Verlof
    CostUnit:
      title: CostUnit
      type: object
      description: CostUnit Object
      properties:
        costUnitId:
          type: string
          format: uuid
        code:
          type: string
        description:
          type: string
      required:
        - code
        - description
    EmployeeCostCenters:
      title: EmployeeCostCenters
      type: object
      description: 'History of cost centers, per employee'
      properties:
        employeeCostCenterId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
        costCenters:
          $ref: '#/components/schemas/CostCenter'
        costUnits:
          $ref: '#/components/schemas/CostUnit'
        percentage:
          type: number
          format: float
          example: 0
        default:
          type: boolean
        period:
          $ref: '#/components/schemas/Period'
        createdAt:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
    EmployeeLeaveRequests:
      title: EmployeeLeaveRequests
      x-stoplight:
        id: faddqsx7nnu4c
      type: object
      description: leave requests of employees
      properties:
        leaveRequestsId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
          x-stoplight:
            id: ab9klcfe0gs61
        leaveGroupId:
          type: string
          x-stoplight:
            id: 63kfudbvkmbyp
          format: uuid
        status:
          x-stoplight:
            id: ue50uxldeiyu8
          enum:
            - approved
            - pending
            - rejected
        type:
          x-stoplight:
            id: 1jl4ff9hys783
          enum:
            - takeUp
            - buildUp
            - expired
        startDate:
          type: string
          x-stoplight:
            id: 7luobvg5lk63g
          format: date
        endDate:
          type: string
          x-stoplight:
            id: 5sg1m014opjno
          format: date
        hours:
          type: number
          x-stoplight:
            id: vwxsotwkz6536
          example: 8
          format: float
        createdAt:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
        changedAt:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
          x-stoplight:
            id: udmtz4pku8585
    EmployeeParentalLeave:
      title: EmployeeParentalLeave
      x-stoplight:
        id: h1k8umnxinlsd
      type: object
      properties:
        parentalLeaveId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
          x-stoplight:
            id: jf2m8hxdtb644
        parentalLeaveType:
          x-stoplight:
            id: erm2ouhzaq4t1
          type: object
          properties:
            code:
              type: string
              x-stoplight:
                id: gtu00mvovidjv
              example: '1'
            description:
              type: string
              x-stoplight:
                id: yn0n0308xca99
              example: Zwangerschaps- en bevallingsverlof
        startBalance:
          type: number
          format: float
          x-stoplight:
            id: 22isvaqori2nv
          example: 640
        taxSequenceNumber:
          type: integer
          x-stoplight:
            id: 5rp9p75k8el5b
          example: 1
          nullable: true
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
          nullable: true
        createdAt:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
      x-examples:
        Example 1:
          parentalLeaveId: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
          parentalLeaveType:
            code: '1'
            description: Zwangerschaps- en bevallingsverlof
          startBalance: 640
          taxSequenceNumber: 1
          startDate: '2019-08-24'
          endDate: '2019-08-24'
          createdAt: '2021-06-07T07:59:11Z'
    EmployeeAbsences:
      title: EmployeeAbsences
      x-stoplight:
        id: acjb3g6uknlw9
      type: object
      description: Absence registrations of employees within a dossier
      properties:
        absenceId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
          x-stoplight:
            id: 5sy6wcev1lhuc
        percentage:
          type: integer
          x-stoplight:
            id: rxibm38iha1h9
        startDate:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
          x-stoplight:
            id: d5wfsknu9d590
          nullable: true
        registrationStartDate:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
          x-stoplight:
            id: zryf86e9trxds
          nullable: true
        endDate:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
          x-stoplight:
            id: zs7gxqxvlkh69
          nullable: true
        registrationEndDate:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
          x-stoplight:
            id: qwxwus99xoe3b
          nullable: true
        remark:
          type: string
          x-stoplight:
            id: kldt4cyc5cf16
        createdAt:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
          x-stoplight:
            id: j8aysm6ygxkz6
          nullable: true
        changedAt:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
          x-stoplight:
            id: 7ovdt4miblooy
          nullable: true
    EmployeeAbsencesDossiersOld:
      title: EmployeeAbsenceDossiers
      x-stoplight:
        id: bbc5ef56e9b38
      type: string
      format: uuid
    EmployeeCostCentersForUpdate:
      title: EmployeeCostCentersForUpdate
      type: object
      description: ''
      properties:
        costCenterId:
          type: string
          format: uuid
        costUnitId:
          type: string
          format: uuid
          nullable: true
        percentage:
          type: number
          format: float
          example: 0
        default:
          type: boolean
    EmployeeWageTaxSettingsUpdate:
      title: EmployeeCostCentersForUpdate
      x-stoplight:
        id: 48zmodyda19me
      type: object
      description: ''
      properties:
        costCenterId:
          type: string
          format: uuid
        costUnitId:
          type: string
          format: uuid
          nullable: true
        percentage:
          type: number
          format: float
          example: 0
        default:
          type: boolean
    BankAccount:
      title: BankAccount
      type: object
      description: BankAccount Object
      properties:
        bankAccountId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
        number:
          type: string
        description:
          type: string
        IBAN:
          type: string
        city:
          type: string
        name:
          type: string
        bankAccountType:
          $ref: '#/components/schemas/BankAccountType'
        createdAt:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
          description: 'Time at which the object was created, timezone CET'
          readOnly: true
      required:
        - IBAN
    BankAccountType:
      type: string
      title: BankAccountType
      enum:
        - bankAccount1
        - bankAccount2
        - bankAccount3
        - bankAccount4
        - bankAccount5
        - salarySavings
        - lifecycleSavingSchemes
        - standard
      description: List of available bank account types
    EmployeeBankAccounts:
      title: EmployeeBankAccounts
      type: object
      description: 'History of bank accounts, per employee'
      properties:
        employeeId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
        bankAccounts:
          type: array
          items:
            $ref: '#/components/schemas/BankAccount'
    EmployeesBankAccountsResponse:
      title: EmployeesBankAccountsResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeBankAccounts'
    CreateBankAccount:
      title: CreateBankAccount
      type: object
      description: Create Bank account object
      properties:
        number:
          type: string
        description:
          type: string
        IBAN:
          type: string
        city:
          type: string
        name:
          type: string
        bankAccountType:
          $ref: '#/components/schemas/BankAccountType'
      required:
        - IBAN
    UpdateBankAccount:
      title: UpdateBankAccount
      type: object
      description: Update Bank account object
      properties:
        bankAccountId:
          type: string
          format: uuid
        number:
          type: string
        description:
          type: string
        IBAN:
          type: string
        city:
          type: string
        name:
          type: string
        countryCode:
          type: string
          example: NL
      required:
        - bankAccountId
    CreateBankAccountResponse:
      title: CreateBankAccountResponse
      type: object
      properties:
        bankAccountId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
      required:
        - bankAccountId
    CreateEmployeeWageTaxResponse:
      title: CreateEmployeeWageTaxResponse
      type: object
      properties:
        wageTaxId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
      required:
        - wageTaxId
    UpdateBankAccountResponse:
      title: UpdateBankAccountResponse
      type: object
      properties:
        bankAccountId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
      required:
        - bankAccountId
    EmployeesEmploymentsResponse:
      title: EmployeesEmploymentsResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeEmployments'
    EmployeeInfo:
      title: EmployeeInfo
      type: object
      description: Generic Get Employee Call Response
      properties:
        employeeId:
          type: string
          format: uuid
          example: 97963db9-5f26-4a18-a56a-94b5101a0f28
        personalInfo:
          $ref: '#/components/schemas/PersonalInfo'
        manager:
          $ref: '#/components/schemas/Manager'
        department:
          $ref: '#/components/schemas/Department'
        function:
          $ref: '#/components/schemas/Function'
        address:
          $ref: '#/components/schemas/Address'
    EmployeeInfoResponse:
      title: EmployeeInfoResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeInfo'
      x-examples:
        Employee Info Response Example:
          pagination:
            pageNumber: 3
            pageSize: 30
            firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
            lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
            totalPages: 10
            totalRecords: 328
            nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
            previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
          data:
            - employeeId: 97963db9-5f26-4a18-a56a-94b5101a0f28
              personalInfo:
                personalInfoId: 0039b188-b5f5-49a6-a3d5-0448ce4042ee
                basicInfo:
                  employeeNumber: 98072
                  firstName: John
                  prefix: van der
                  lastName: Doe
                  employeeType: applicant
                birthInfo:
                  birthDate: '1991-01-01T09:29:18Z'
                  birthCountry:
                    codeISO: NL
                    description: The Netherlands
                  nationality:
                    codeISO: NL
                    description: Dutch
                  deceasedOn: '2019-08-24T14:15:22Z'
                  gender: unspecified
                contactInfo:
                  privateEmail: doe@private.com
                  businessEmail: doe@business.com
                  businessPhone: '+351222222'
                  businessMobilePhone: '+351222222'
                  privatePhone: '+351222222'
                  privateMobilePhone: '+351222222'
                  otherPhone: '+351222222'
                period:
                  year: 2021
                  period: 4
                createdAt: '2021-07-01T10:15:08Z'
              manager:
                managerId: 2f6aa11c-504a-49a1-903b-e15e79965702
                number: 1
                firstName: Anouk
                lastName: van der Bak
                gender: Female
                department:
                  departmentId: 07e0422b-a991-40ad-afa4-c6cab728ab9d
                  code: 2
                  description: Sales
                  createdAt: '2021-01-01T09:29:18Z'
                function:
                  functionId: ff4cc24d-8542-4d06-80ee-eadbf9708309
                  code: 1
                  description: Sales Lead
                  createdAt: '2021-01-01T09:29:18Z'
                phoneNumber: '0640986755'
                cellphone: '0640986755'
                fax: string
                email: anoukvanderbak@email.com
              department:
                departmentId: 07e0422b-a991-40ad-afa4-c6cab728ab9d
                code: 2
                description: Sales
                createdAt: '2021-01-01T09:29:18Z'
              function:
                functionId: ff4cc24d-8542-4d06-80ee-eadbf9708309
                code: 1
                description: Sales Lead
                createdAt: '2021-01-01T09:29:18Z'
              address:
                addressId: ad96c221-0e84-4a56-befb-58be6cb4d46e
                isDefault: 'true'
                type: homeAddress
                street: Naritaweg
                houseNumber: '70'
                houseNumberAddition: string
                postalCode: 1043BZ
                city: Amsterdam
                stateProvince: Noord-Holland
                countryISOCode: NL
                period:
                  year: 2021
                  period: 4
                createdAt: '2021-06-07T07:59:11Z'
    DebtorInfo:
      title: DebtorInfo
      x-stoplight:
        id: dydww0oucy3j7
      type: object
      properties:
        debtor:
          $ref: '#/components/schemas/Debtor'
        address:
          $ref: '#/components/schemas/DebtorAddress'
    UserInfo:
      title: UserInfo
      x-stoplight:
        id: 93gxoant99pnu
      type: object
      properties:
        name:
          type: string
          example: User Name
        email:
          type: string
          format: email
          example: username@email.com
        language:
          type: string
          example: EN
        debtorId:
          type: string
          x-stoplight:
            id: ijavjlko1ntpt
          format: uuid
          example: fcb6fd51-7ca9-483c-9838-aa3b49b715af
        userId:
          type: string
          x-stoplight:
            id: 1901fnom2vfwj
          format: uuid
          example: fcb6fd51-7ca9-483c-9838-aa3b49b715af
    DebtorInfoResponse:
      title: DebtorInfoResponse
      x-stoplight:
        id: 08d87jgcq9z4g
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/DebtorInfo'
    UserInfoResponse:
      title: UserInfoResponse
      x-stoplight:
        id: 5wtj7za4apj5u
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/UserInfo'
    EmployeesCostCentersResponse:
      title: EmployeesCostCentersResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeCostCentersList'
    EmployeesSVWSettingsResponse:
      title: EmployeesSVWSettingsResponse
      x-stoplight:
        id: k6u88p1v5t2fp
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeSVWSettingList'
    EmployeesLeaveRequestsResponse:
      title: EmployeesLeaveRequestsResponse
      x-stoplight:
        id: cux09189zlng4
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeLeaveRequestsList'
    EmployeesParentalLeaveResponse:
      title: EmployeesParentalLeaveResponse
      x-stoplight:
        id: v22nckycuzk45
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeParentalLeaveList'
    EmployeesAbsencesResponse:
      title: EmployeesAbsencesResponse
      x-stoplight:
        id: 6drl07w0rk2zt
      type: object
      description: ''
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeAbsenceDossierList'
    EmployeesAbsenceDossier:
      title: EmployeesAbsenceDossier
      x-stoplight:
        id: kj4s24eeq8got
      type: object
      properties:
        absenceDossierId:
          type: string
          x-stoplight:
            id: z9ioys9ab1w62
          format: uuid
        absenceDossierType:
          type: string
          x-stoplight:
            id: i7qi7l2yzulcs
        absenceCause:
          type: string
          x-stoplight:
            id: 48q2fsc0ofi4t
          example: willem.medem@nmbrs.demo
        caseManager:
          type: string
          x-stoplight:
            id: urm78exp8n3cz
        mobilityIssues:
          type: boolean
          x-stoplight:
            id: tld2vbcueiy09
        createdAt:
          type: string
          x-stoplight:
            id: b99l5o0riziez
          format: date-time
          nullable: true
        changedAt:
          type: string
          x-stoplight:
            id: 7ukxrpg8ptuj2
          format: date-time
          nullable: true
        employeeAbsences:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeAbsences'
      description: ''
    EmployeeCostCentersList:
      title: EmployeeCostCentersList
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        employeeCostCenters:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeCostCenters'
    EmployeeSVWSettingList:
      title: EmployeeSVWSettingList
      x-stoplight:
        id: 25rct9dm6b176
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        employeeSVWSettings:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeSVWSettings'
    EmployeeSVWSettings:
      title: EmployeeSVWSettings
      x-stoplight:
        id: rtgl67a398ah7
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        ZW:
          type: boolean
          x-stoplight:
            id: 5gb3qaznb7jx9
        WW:
          type: boolean
          x-stoplight:
            id: 9vttwqmofltqf
        waoWia:
          type: boolean
          x-stoplight:
            id: 35q2vqytfjr3n
        natureOfEmployment:
          x-stoplight:
            id: g1u16a8wn0tpd
          type: string
        phaseClassification:
          x-stoplight:
            id: y878d1wcwe6wk
          type: string
        taxSequenceNumber:
          type: integer
          x-stoplight:
            id: g4gw7aihm98wq
        codeZvw:
          type: string
          x-stoplight:
            id: f8x1179ykuist
        incomeRelatedContributionZvw:
          type: string
          x-stoplight:
            id: up176hiisjc3k
        influenceObligedInsurance:
          type: string
          x-stoplight:
            id: 9mcbc90b88q3k
        wageCostBenefit:
          type: object
          x-stoplight:
            id: zj47wrxth1m3o
          properties:
            code:
              type: integer
              x-stoplight:
                id: 7hrfd8jhft6ki
              example: 14
            description:
              type: string
              x-stoplight:
                id: 8zvao9ti7mefj
              example: Old employee
            endPeriod:
              type: integer
              x-stoplight:
                id: vzaybp13o7c04
            endYear:
              type: integer
              x-stoplight:
                id: xmj67q58aps51
        CAO:
          type: object
          x-stoplight:
            id: k47lobcv2zvjx
          properties:
            code:
              type: integer
              x-stoplight:
                id: yzmn101slxd1a
            CAODescription:
              type: string
              x-stoplight:
                id: watnj7ronl9tn
        hirerCAO:
          type: object
          x-stoplight:
            id: z9yhnlnfejo7z
          properties:
            code:
              type: integer
              x-stoplight:
                id: zu0tlp6m0w6fd
            CAODescription:
              type: string
              x-stoplight:
                id: rk55fa7f4c42o
        period:
          type: object
          x-stoplight:
            id: xlw7kzqfweo83
          properties:
            year:
              type: integer
              x-stoplight:
                id: qs24eks1tgk93
            period:
              type: integer
              x-stoplight:
                id: zsxdzh51ulnj0
        createdAt:
          type: string
          x-stoplight:
            id: 9l6ubuon278k4
          format: date-time
    EmployeeLeaveRequestsList:
      title: EmployeeLeaveRequestsList
      x-stoplight:
        id: ydcg231lgv7w7
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        EmployeeLeaveRequests:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeLeaveRequests'
    EmployeeParentalLeaveList:
      title: EmployeeParentalLeaveList
      x-stoplight:
        id: d33lyh4cx3mia
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        EmployeeParentalLeaves:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeParentalLeave'
    EmployeeAbsenceDossierList:
      title: EmployeeAbsenceDossiersList
      x-stoplight:
        id: 672stzirj1w8e
      type: object
      description: List of all employee absence dossiers
      properties:
        employeeId:
          type: string
          format: uuid
        employeeAbsenceDossiers:
          type: array
          items:
            $ref: '#/components/schemas/EmployeesAbsenceDossier'
    UpdateEmployeeCostCenter:
      title: UpdateEmployeeCostCenter
      type: object
      description: Update employee's costcenter object
      properties:
        employeeId:
          type: string
          format: uuid
        employeeCostCenters:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeCostCentersForUpdate'
        period:
          $ref: '#/components/schemas/Period'
    CreateEmployeeSVWSettings:
      title: CreateEmployeeSVWSettings
      x-stoplight:
        id: kp3hbxfl17eg4
      type: object
      description: Create employee's SVW settings object
      x-examples:
        Example 2:
          ZW: true
          WW: true
          waoWia: true
          natureOfEmployment: 0
          phaseClassification: 0
          codeZvw: A
          taxSequenceNumber: 0
          incomeRelatedContributionZvw: 0
          influenceObligedInsurance: 0
          wageCostBenefit:
            code: 0
            endPeriod: 0
            endYear: 0
          CAO: 9999
          hirerCAO: 9999
          period:
            year: 2021
            period: 4
      required:
        - natureOfEmployment
        - codeZvw
        - taxSequenceNumber
        - incomeRelatedContributionZvw
        - influenceObligedInsurance
      properties:
        ZW:
          type: boolean
          x-stoplight:
            id: 6r7n5614c694q
        WW:
          type: boolean
          x-stoplight:
            id: eo399gvkmbfbd
        waoWia:
          type: boolean
          x-stoplight:
            id: 3v7cm7lk4c522
        natureOfEmployment:
          x-stoplight:
            id: x5vtvhfxyrr6f
          type: integer
          description: "- 1\r\n- 4\r\n- 6\r\n- 7\r\n- 11 \r\n- 18 \r\n- 21 \r\n- 22 \r\n- 23 \r\n- 24 \r\n- 79 \r\n- 81 \r\n- 82 \r\n- 83"
        phaseClassification:
          x-stoplight:
            id: 85nibh44roik8
          description: "Only applied when nature of employment is 11 | Temporary worker\r\n\r\n- 1\r\n- 3\r\n- 4\r\n- 5\r\n- 6\r\n- 17\r\n- 18\r\n- 19\r\n- 38\r\n- 40\r\n- 41\r\n- 43"
          type: integer
        codeZvw:
          x-stoplight:
            id: 9vdrqiy4nyvxj
          enum:
            - A
            - B
            - G
            - H
            - I
            - K
            - L
            - M
            - 'N'
        taxSequenceNumber:
          type: integer
          x-stoplight:
            id: 4u585z3svvtlf
          default: -1
        incomeRelatedContributionZvw:
          x-stoplight:
            id: a9emq6adyilfp
          type: integer
          description: "- 0\r\n- 1\r\n- 2\r\n- 3"
        influenceObligedInsurance:
          x-stoplight:
            id: eqi8ibsxphhcz
          enum:
            - 0
            - A
            - B
            - D
            - E
        wageCostBenefit:
          type: object
          x-stoplight:
            id: ry249k4du8kzo
          properties:
            code:
              x-stoplight:
                id: i2oh2b56a0e45
              description: "By default no wage cost benefit is applied\r\n\r\n- 0 \r\n- 14\r\n- 15\r\n- 16\r\n- 17"
              type: integer
            endPeriod:
              type: integer
              x-stoplight:
                id: 8ny0lktdoxrgo
            endYear:
              type: integer
              x-stoplight:
                id: j581rj8otk0sp
        CAO:
          x-stoplight:
            id: k1eo71uj85nlc
          type: integer
          default: 9999
        hirerCAO:
          x-stoplight:
            id: 2vrhwuwbsvk2d
          description: Only applied in case nature of employment is Payrolling
          type: integer
          default: 9999
        period:
          $ref: '#/components/schemas/Period'
    CreateEmployeeWageTaxSettings:
      title: CreateEmployeeWageTaxSettings
      x-stoplight:
        id: ltfpdddg383uk
      type: object
      description: Create employeewage tax settings
      required:
        - wageTax
        - wageTaxRebate
        - singleElderlyDiscount
        - colorTable
        - periodTable
        - incomeType
        - specialTable
        - period
      properties:
        wageTax:
          type: boolean
          x-stoplight:
            id: ahvtjqwpxxb4n
        wageTaxRebate:
          type: boolean
          x-stoplight:
            id: ysek9zoiulbgu
        singleElderlyDiscount:
          type: boolean
          x-stoplight:
            id: yvvgzgsv4cyh6
        colorTable:
          $ref: '#/components/schemas/ColorTable'
        periodTable:
          $ref: '#/components/schemas/PeriodTable'
        incomeType:
          x-stoplight:
            id: x7bm9aqbqsq2s
          enum: []
        specialAnnualSalaryRate:
          x-stoplight:
            id: 6gpaz0x0y52u2
          type: number
        specialTable:
          x-stoplight:
            id: dy23a3dbpadsv
          enum: []
        differentSpecialRate:
          type: number
          x-stoplight:
            id: uunsprmz06iqy
          format: double
          default: null
          nullable: true
        Calc30PercentRuling:
          $ref: '#/components/schemas/Calc30PercentRuling'
        period:
          $ref: '#/components/schemas/Period'
    DepartmentWithManagers:
      title: DepartmentWithManagers
      x-stoplight:
        id: x0malwz8rjoid
      type: object
      properties:
        departmentId:
          type: string
          format: uuid
        code:
          type: integer
        description:
          type: string
          example: Sales
        createdAt:
          type: string
          format: date-time
        managers:
          type: array
          items:
            $ref: '#/components/schemas/ManagerBasic'
    DebtorTag:
      title: DebtorTag
      x-stoplight:
        id: cvz75kxx3wdmz
      type: object
      properties:
        tagNumber:
          type: string
          x-stoplight:
            id: sda4drs3g3gqp
        description:
          type: string
          example: SMB
    DocumentType:
      title: DocumentType
      x-stoplight:
        id: tnwdds25qgqd5
      type: object
      properties:
        documentTypeId:
          type: string
          format: uuid
          x-stoplight:
            id: tgk7cr4r71cpk
        name:
          type: string
          x-stoplight:
            id: 4ewbi20o4zl4a
    ManagerBasic:
      title: ManagerBasic
      x-stoplight:
        id: aolm0uirc97xo
      type: object
      properties:
        managerId:
          type: string
          format: uuid
        firstName:
          type: string
          example: John
          nullable: true
        lastName:
          type: string
          example: Doe
          nullable: true
        email:
          type: string
          format: email
          nullable: true
    EmployeeUserAccount:
      title: EmployeeUserAccount
      x-stoplight:
        id: 9x2163hyvn2ee
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        userAccount:
          $ref: '#/components/schemas/UserAccount'
    UserAccount:
      title: UserAccount
      x-stoplight:
        id: y7vh7v7lbzfbs
      type: object
      properties:
        userAccountId:
          type: string
          format: uuid
        userAccountType:
          type: string
          enum:
            - none
            - employee
            - manager
          example: employee
        email:
          type: string
          format: email
        name:
          type: string
          example: John van Doe
        debtorId:
          type: string
          format: uuid
        tenantId:
          type: string
          format: uuid
        language:
          type: string
    EmployeesUserAccountsResponse:
      title: EmployeesUserAccountsResponse
      x-stoplight:
        id: qbh6fvo8zc90a
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeUserAccount'
    UpdatePersonalInfoResponse:
      title: UpdatePersonalInfoResponse
      x-stoplight:
        id: 8f7rfhduai079
      type: object
      properties:
        personalInfoId:
          type: string
          format: uuid
    UpdateEmployeeFunctionResponse:
      title: UpdateEmployeeFunctionResponse
      x-stoplight:
        id: 0d91jljskmduf
      type: object
      properties:
        employeeFunctionId:
          type: string
          format: uuid
          x-stoplight:
            id: 9kbizdekuhggy
    UpdateEmployeeManagerResponse:
      title: UpdateEmployeeManagerResponse
      x-stoplight:
        id: jukb1cpmfc30g
      type: object
      properties:
        employeeManagerId:
          type: string
          format: uuid
          x-stoplight:
            id: uijm2vtzjbbhu
    UpdateEmployeeDepartmentResponse:
      title: UpdateEmployeeDepartmentResponse
      x-stoplight:
        id: bd92s6gfdjjna
      type: object
      properties:
        employeeDepartmentId:
          type: string
          format: uuid
          x-stoplight:
            id: jap70vy2m3qg7
    UpdateEmployeeContractResponse:
      title: UpdateEmployeeContractResponse
      x-stoplight:
        id: wdzrmomog2c0m
      type: object
      properties:
        employeeContractId:
          type: string
          format: uuid
          x-stoplight:
            id: jq889rfnfddtd
    ManagerHistoricBasic:
      title: ManagerHistoricBasic
      x-stoplight:
        id: 1wgdkjq1js60w
      type: object
      properties:
        managerId:
          type: string
          format: uuid
        firstName:
          type: string
          example: John
          nullable: true
        lastName:
          type: string
          example: Doe
          nullable: true
        email:
          type: string
          format: email
          nullable: true
        createdAt:
          type: string
          format: date-time
    EmployeeManager:
      title: EmployeeManager
      x-stoplight:
        id: badzs3jvpm7cd
      type: object
      description: ''
      properties:
        managerId:
          type: string
          format: uuid
        number:
          type: integer
        firstName:
          type: string
          example: John
        lastName:
          type: string
          example: Doe
        gender:
          type: string
          example: Male
        department:
          $ref: '#/components/schemas/Department'
        function:
          $ref: '#/components/schemas/Function'
        phoneNumber:
          type: string
        cellphone:
          type: string
        fax:
          type: string
        email:
          type: string
          format: email
          example: johndoe@mail.com
        createdAt:
          type: string
          format: date-time
        period:
          $ref: '#/components/schemas/Period'
    EmployeeManagers:
      title: EmployeeManagers
      x-stoplight:
        id: gza1x0kryhm6g
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        managers:
          type: array
          items:
            $ref: '#/components/schemas/ManagerHistoricBasic'
    EmployeesManagersResponse:
      title: EmployeesManagersResponse
      x-stoplight:
        id: 7fersedegdmxq
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeManagers'
    ManagersUserAccountsResponse:
      title: ManagersUserAccountsResponse
      x-stoplight:
        id: bx12avky1k8az
      type: object
      description: ''
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/ManagerUserAccount'
    ManagerUserAccount:
      title: ManagerUserAccount
      x-stoplight:
        id: rv87l9ixlgivb
      type: object
      properties:
        managerId:
          type: string
          format: uuid
        userAccount:
          $ref: '#/components/schemas/UserAccount'
    FixedWageComponent:
      title: FixedWageComponent
      type: object
      x-tags:
        - FixedWageComponent
      properties:
        fixedWageComponentId:
          type: string
          format: uuid
        code:
          type: integer
        value:
          type: number
          format: float
        endYear:
          type: integer
          nullable: true
        endPeriod:
          type: integer
          nullable: true
        comment:
          type: string
          nullable: true
        costCenterId:
          type: string
          format: uuid
          nullable: true
        costUnitId:
          type: string
          format: uuid
          nullable: true
        createdAt:
          type: string
          x-stoplight:
            id: ntukwvoy7oqdo
          format: date-time
    EmployeesFixedWageComponentResponse:
      title: EmployeesFixedWageComponentResponse
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeFixedWageComponents'
    EmployeeFixedWageComponents:
      title: EmployeeFixedWageComponents
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        fixedWageComponents:
          type: array
          items:
            $ref: '#/components/schemas/FixedWageComponent'
    CreateFixedWageComponent:
      title: CreateFixedWageComponent
      type: object
      properties:
        code:
          type: integer
        value:
          type: number
          format: float
          nullable: true
        endYear:
          type: integer
          nullable: true
        endPeriod:
          type: integer
          nullable: true
        comment:
          type: string
          nullable: true
        costCenterId:
          type: string
          format: uuid
          nullable: true
        costUnitId:
          type: string
          format: uuid
          nullable: true
        periodDetails:
          $ref: '#/components/schemas/Period'
        unprotectedMode:
          type: boolean
      required:
        - code
        - value
      x-examples:
        Example 1:
          code: 1100
          value: 500
          endYear: 2023
          endPeriod: 6
          comment: comment
          costCenterId: aa506564-d1db-4fa8-83dc-d68db4cfcd82
          costUnitId: d8ac6afb-2ac6-43bf-9880-2d382cdace43
          periodDetails:
            year: 2021
            period: 4
          unprotectedMode: true
    UpdateFixedWageComponent:
      title: UpdateFixedWageComponent
      x-stoplight:
        id: 1vypiq4iv59rr
      type: object
      x-examples:
        Example 1:
          code: 1100
          value: 500
          endYear: 2023
          endPeriod: 6
          comment: comment
          costCenterId: aa506564-d1db-4fa8-83dc-d68db4cfcd82
          costUnitId: d8ac6afb-2ac6-43bf-9880-2d382cdace43
          periodDetails:
            year: 2021
            period: 4
          unprotectedMode: true
      required:
        - fixedWageComponentId
      properties:
        fixedWageComponentId:
          type: string
          x-stoplight:
            id: 7g57n7hat4jig
          format: uuid
        code:
          type: integer
          nullable: true
        value:
          type: number
          format: float
          nullable: true
        endYear:
          type: integer
          nullable: true
        endPeriod:
          type: integer
          nullable: true
        comment:
          type: string
          nullable: true
        costCenterId:
          type: string
          format: uuid
          nullable: true
        costUnitId:
          type: string
          format: uuid
          nullable: true
        periodDetails:
          $ref: '#/components/schemas/PeriodPost'
    CreateFixedWageComponentResponse:
      title: UpdateFixedWageComponentResponse
      type: object
      properties:
        fixedWageComponentId:
          type: string
          format: uuid
      required:
        - fixedWageComponentId
    UpdateFixedWageComponentResponse:
      title: CreateFixedWageComponentResponse
      x-stoplight:
        id: p31axzsrxs9n6
      type: object
      properties:
        fixedWageComponentId:
          type: string
          format: uuid
      required:
        - fixedWageComponentId
    VariableWageComponent:
      title: VariableWageComponent
      x-stoplight:
        id: 2kdvwvyfcfn5o
      type: object
      properties:
        variableWageComponentId:
          type: string
          format: uuid
        code:
          type: integer
          example: 1000
        value:
          type: number
          format: float
          example: 2200
        comment:
          type: string
          nullable: true
        costCenterId:
          type: string
          format: uuid
          nullable: true
        costUnitId:
          type: string
          format: uuid
          nullable: true
        createdAt:
          type: string
          x-stoplight:
            id: km4kz45j7gvoo
          format: date-time
    CompanyVariableWageComponent:
      title: VariableWageComponent
      x-stoplight:
        id: s1qnpdf828igk
      type: object
      properties:
        variableWageComponentId:
          type: string
          format: uuid
        code:
          type: integer
          example: 1000
        value:
          type: number
          format: float
          example: 2200
        period:
          $ref: '#/components/schemas/Period'
        createdAt:
          type: string
          format: date-time
          example: '2025-06-07T07:59:11Z'
    CompanyFixedWageComponent:
      title: FixedWageComponent
      x-stoplight:
        id: jq5zknmv1mzge
      type: object
      properties:
        fixedWageComponentId:
          type: string
          format: uuid
          x-stoplight:
            id: j7jtkewhj1wdz
        code:
          type: integer
          example: 1000
        value:
          type: number
          format: float
          example: 2200
        startPeriod:
          $ref: '#/components/schemas/Period'
        endPeriod:
          $ref: '#/components/schemas/Period'
          nullable: true
        createdAt:
          type: string
          format: date-time
          example: '2025-06-07T07:59:11Z'
      x-examples:
        Example 1:
          fixedWageComponentId: 643c6b90-57c6-4199-9e4e-ded553572d78
          code: 1000
          value: 2200
          startPeriod:
            year: 2021
            period: 4
          endPeriod:
            year: 2021
            period: 4
          createdAt: '2025-06-07T07:59:11Z'
    CreateVariableWageComponentResponse:
      title: CreateVariableWageComponentResponse
      x-stoplight:
        id: 909r80rjdhx5l
      type: object
      properties:
        variableWagecomponentId:
          type: string
          format: uuid
      required:
        - variableWagecomponentId
    UpdateVariableWageComponentResponse:
      title: UpdateVariableWageComponentResponse
      x-stoplight:
        id: udy6guxo0vkgu
      type: object
      properties:
        variableWagecomponentId:
          type: string
          format: uuid
      required:
        - variableWagecomponentId
    CreateVariableWageComponent:
      title: CreateVariableWageComponent
      x-stoplight:
        id: e252sspmz52ax
      type: object
      properties:
        code:
          type: integer
        value:
          type: number
          format: float
          nullable: true
        comment:
          type: string
          nullable: true
        costCenterId:
          type: string
          format: uuid
          nullable: true
        costUnitId:
          type: string
          format: uuid
          nullable: true
        periodDetails:
          $ref: '#/components/schemas/Period'
        unprotectedMode:
          type: boolean
      required:
        - code
        - value
    UpdateVariableWageComponent:
      title: UpdateVariableWageComponent
      x-stoplight:
        id: zqc1tq3elvcan
      type: object
      required:
        - variableWagecomponentId
      properties:
        variableWagecomponentId:
          type: string
          x-stoplight:
            id: p6efemlvak50y
          nullable: true
        code:
          type: integer
          nullable: true
        value:
          type: number
          format: float
          nullable: true
        comment:
          type: string
          nullable: true
        costCenterId:
          type: string
          format: uuid
          nullable: true
        costUnitId:
          type: string
          format: uuid
          nullable: true
        periodDetails:
          $ref: '#/components/schemas/PeriodPost'
    EmployeesVariableWageComponentResponse:
      title: EmployeesVariableWageComponentResponse
      x-stoplight:
        id: ofpwl5sgqd4m4
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeVariableWageComponents'
    EmployeeVariableWageComponents:
      title: EmployeeVariableWageComponents
      x-stoplight:
        id: 5t4k4z5wd79qv
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        variablewagecomponents:
          type: array
          items:
            $ref: '#/components/schemas/VariableWageComponent'
    CompanyVariableWageComponentResponse:
      title: CompanyVariableWageComponentResponse
      x-stoplight:
        id: tgvzlv5a4psp5
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/CompanyVariableWageComponent'
    CompanyFixedWageComponentResponse:
      title: CompanyFixedWageComponentResponse
      x-stoplight:
        id: oj1emgn3zocuj
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/CompanyFixedWageComponent'
      x-examples:
        Example 2:
          pagination:
            pageNumber: 3
            pageSize: 30
            firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
            lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
            totalPages: 10
            totalRecords: 328
            nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
            previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
          data:
            - fixedWageComponentId: 643c6b90-57c6-4199-9e4e-ded553572d78
              code: 1000
              value: 2200
              startPeriod:
                year: 2021
                period: 4
              endPeriod:
                year: 2021
                period: 4
              createdAt: '2025-06-07T07:59:11Z'
    EndContractReason:
      title: EndContractReason
      x-stoplight:
        id: tgakoit1y2yak
      type: object
      properties:
        code:
          type: integer
          nullable: true
        reason:
          type: string
          nullable: true
      description: ''
    CreateEmployment:
      title: CreateEmployment
      x-stoplight:
        id: a6t11ql612vth
      type: object
      properties:
        startDate:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
        seniorityDate:
          type: string
          format: date-time
          example: '2021-06-09T07:59:11Z'
          nullable: true
      required:
        - startDate
    CreateEmploymentResponse:
      title: CreateEmploymentResponse
      x-stoplight:
        id: gg8cx2chwvrb2
      type: object
      properties:
        employmentId:
          type: string
          format: uuid
    UpdateEmployment:
      title: UpdateEmployment
      x-stoplight:
        id: ggq6ypu141b08
      type: object
      properties:
        employmentId:
          type: string
          format: uuid
        seniorityDate:
          type: string
          format: date-time
          example: '2021-06-07T07:59:11Z'
          nullable: true
        endOfServiceDate:
          type: string
          format: date-time
          nullable: true
        endOfContractReason:
          type: integer
          nullable: true
    UpdateEmploymentResponse:
      title: UpdateEmploymentResponse
      x-stoplight:
        id: k1mgfwd2bwmd8
      type: object
      properties:
        employmentId:
          type: string
          format: uuid
    EndContractReasonsResponse:
      title: EndContractReasonsResponse
      x-stoplight:
        id: 96hqhbryv3o7p
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EndContractReason'
    ExtraField:
      title: ExtraField
      x-stoplight:
        id: owqaktx783hxk
      type: object
      properties:
        extraFieldId:
          type: string
          format: uuid
        name:
          type: string
        extraFieldType:
          type: string
          enum:
            - text
            - decimal
            - number
            - date
            - yesNo
            - textDate
    ExtraFieldSettingsResponse:
      title: ExtraFieldSettingsResponse
      x-stoplight:
        id: ly1bx3zkj37hg
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/ExtraField'
    EmployeeExtraField:
      title: EmployeeExtraField
      x-stoplight:
        id: b4noq9znd9dz9
      type: object
      properties:
        extraField:
          $ref: '#/components/schemas/ExtraField'
        value:
          type: string
          nullable: true
        startDate:
          type: string
          format: date-time
          nullable: true
    EmployeeChild:
      title: EmployeeChild
      x-stoplight:
        id: y2milzw009bdw
      type: object
      properties:
        name:
          type: string
          x-stoplight:
            id: g3umyzn72econ
          example: John Doe
          nullable: true
        firstName:
          type: string
          x-stoplight:
            id: hekk3plmxd333
          example: John
          nullable: true
        initials:
          type: string
          x-stoplight:
            id: j1cebboqk248o
          example: J
          nullable: true
        gender:
          x-stoplight:
            id: jt8v2gx5xsrzr
          enum:
            - male
            - female
            - unspecified
            - unknown
        birthday:
          type: string
          x-stoplight:
            id: sintlgdw1tlyn
          format: date
          nullable: true
          example: '2019-08-24'
    EmployeeLeaveBalance:
      title: EmployeeLeaveBalance
      x-stoplight:
        id: j0d4rmuas6em2
      type: object
      properties:
        leaveGroupId:
          x-stoplight:
            id: kqkq6dk5jc73w
          type: string
          format: uuid
        leaveBalance:
          x-stoplight:
            id: 9bzbv1fly2v81
          example: 160
          type: number
          format: float
    EmployeeExtraFields:
      title: EmployeeExtraFields
      x-stoplight:
        id: mypta6cl4f2yx
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        extraFields:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeExtraField'
    EmployeeChildren:
      title: EmployeeChildren
      x-stoplight:
        id: po1c9yjqp40k6
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        children:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeChild'
    EmployeeLeaveBalances:
      title: EmployeeLeaveBalances
      x-stoplight:
        id: uebsaysn4usle
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        leaveBalances:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeLeaveBalance'
    EmployeeExtraFieldsResponse:
      title: EmployeeExtraFieldsResponse
      x-stoplight:
        id: bqqgt2e8skn8k
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeExtraFields'
    EmployeeChildrenResponse:
      title: EmployeeChildrenResponse
      x-stoplight:
        id: lcg8w3c4p1fht
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeChildren'
    EmployeeLeaveBalancesResponse:
      title: EmployeeLeaveBalancesResponse
      x-stoplight:
        id: d1oo5b3wfijfy
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeLeaveBalances'
    Subscription:
      title: Subscription
      x-stoplight:
        id: 6085hewcc80mm
      type: object
      properties:
        userId:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - unsubscribed
            - paused
            - subscribed
            - stopped
        pricingTier:
          $ref: '#/components/schemas/PricingTier'
        itemName:
          type: string
    PricingTier:
      title: PricingTier
      x-stoplight:
        id: 2u46pjk416tpp
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        maxItemsForTier:
          type: integer
        isRecommended:
          type: boolean
    EmployeePartnerInfo:
      title: EmployeePartnerInfo
      x-stoplight:
        id: 25jrforodswb8
      type: object
      properties:
        partnerPrefix:
          type: string
          nullable: true
        partnerName:
          type: string
          nullable: true
        ascription:
          $ref: '#/components/schemas/EmployeePartnerAscription'
        maritalStatus:
          $ref: '#/components/schemas/MaritalStatus'
    SubscriptionResponse:
      title: SubscriptionResponse
      x-stoplight:
        id: dv6y3bfw5iydz
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Subscription'
    EmployeePartnerAscription:
      title: EmployeePartnerAscription
      x-stoplight:
        id: 0el2ipsey7jdt
      type: object
      properties:
        code:
          type: integer
        ascription:
          type: string
          nullable: true
    UpdatePartnerInfo:
      title: UpdatePartnerInfo
      x-stoplight:
        id: i4ocyoefmmk78
      type: object
      properties:
        partnerPrefix:
          type: string
          nullable: true
        partnerName:
          type: string
          nullable: true
        maritalStatus:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/MaritalStatus'
        ascriptionCode:
          type: integer
          nullable: true
    FixedDaysWorked:
      title: Fixed Days Worked
      x-stoplight:
        id: klpadi9zvcfxl
      type: object
      required:
        - days
      properties:
        days:
          type: integer
          x-stoplight:
            id: 3df6fk9ejxerx
          example: 4
        daysForWageComponentsPerDay:
          type: integer
          x-stoplight:
            id: nbofhcsql0ury
          example: 0
          nullable: true
        endPeriod:
          type: integer
          x-stoplight:
            id: f3mznojvxp927
          example: 12
          nullable: true
        endYear:
          type: integer
          x-stoplight:
            id: 9k9duejx946dy
          example: 2021
          nullable: true
    VariableDaysWorked:
      title: Variable Days Worked
      x-stoplight:
        id: 1l9v9qwdbk9lo
      type: object
      required:
        - days
      properties:
        days:
          type: integer
          x-stoplight:
            id: 1f7hl3druhm15
          example: 4
        daysForWageComponentsPerDay:
          type: integer
          x-stoplight:
            id: 7tfzszqv8247s
          example: 0
          nullable: true
    CreateFixedWorkedDay:
      title: CreateFixedWorkedDay
      x-stoplight:
        id: 1oq5efqn9aahz
      type: object
      required:
        - days
      properties:
        days:
          type: integer
          x-stoplight:
            id: 0d0qeqobdejom
          example: 2
        daysForWageComponentsPerDay:
          type: integer
          x-stoplight:
            id: rozciqv3w5fra
          example: 0
          nullable: true
        endPeriod:
          type: integer
          x-stoplight:
            id: 4g8koy03hjpgb
          example: 12
          nullable: true
        endYear:
          type: integer
          x-stoplight:
            id: 3han7mf29p76d
          example: 2021
          nullable: true
        periodDetails:
          $ref: '#/components/schemas/PeriodPost'
    CreateVariableWorkedDay:
      title: CreateVariableWorkedDay
      x-stoplight:
        id: gliyx0z7u5q1f
      type: object
      required:
        - days
      properties:
        days:
          type: integer
          x-stoplight:
            id: cxjn90aj60hso
          example: 4
        daysForWageComponentsPerDay:
          type: integer
          x-stoplight:
            id: fjq4kt1b5gcp1
          example: 0
          nullable: true
        periodDetails:
          $ref: '#/components/schemas/PeriodPost'
    FixedDaysWorkedResponse:
      title: FixedDaysWorkedResponse
      x-stoplight:
        id: 92xpa137un261
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
          x-stoplight:
            id: qg3cczfxfs9ru
        data:
          type: array
          x-stoplight:
            id: h8tmbs4ib8etc
          items:
            $ref: '#/components/schemas/FixedDaysWorked'
            x-stoplight:
              id: e44va2e0ko2ey
    VariableDaysWorkedResponse:
      title: VariableDaysWorkedResponse
      x-stoplight:
        id: z9mn6zqjjxif8
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
          x-stoplight:
            id: kfpt75dtss6sn
        data:
          type: array
          x-stoplight:
            id: rcgq7wp0mzvve
          items:
            $ref: '#/components/schemas/VariableDaysWorked'
            x-stoplight:
              id: zmhqrxo6gqqf2
    EmployeePaysliPerPeriodResponse:
      title: EmployeePaysliPerPeriodResponse
      x-stoplight:
        id: 2co8fqp36250t
      type: object
      properties:
        taskId:
          type: string
          x-stoplight:
            id: y6jq82ybuiqrn
          format: uuid
    WageTaxXMLResponse:
      title: WageTaxXMLResponse
      x-stoplight:
        id: 1ho9b9qejvzlp
      type: object
      properties:
        taskId:
          type: string
          format: uuid
    PayrollRunSEPAResponse:
      title: PayrollRunSEPAResponse
      x-stoplight:
        id: nfubxeswpoyva
      type: object
      properties:
        taskId:
          type: string
          format: uuid
    JournalsResponse:
      title: JournalsResponse
      x-stoplight:
        id: 7ogzne1lkph15
      type: object
      properties:
        taskId:
          type: string
          format: uuid
    JournalsByDepartmentResponse:
      title: JournalsByDepartmentResponse
      x-stoplight:
        id: e6jyolbwg33bn
      type: object
      properties:
        taskId:
          type: string
          format: uuid
      x-examples:
        Example 1:
          taskId: e6e9d88a-9b63-468a-aec3-b7a11de27af8
    JournalsByEmployeeResponse:
      title: JournalsByEmployeeResponse
      x-stoplight:
        id: 7cwmztdzhqk7x
      type: object
      properties:
        taskId:
          type: string
          format: uuid
      x-examples:
        Example 1:
          taskId: e6e9d88a-9b63-468a-aec3-b7a11de27af8
      description: ''
    JournalsByCostCenterResponse:
      title: JournalsByCostCenterResponse
      x-stoplight:
        id: y6d052qehyuov
      type: object
      properties:
        taskId:
          type: string
          format: uuid
      x-examples:
        Example 1:
          taskId: e6e9d88a-9b63-468a-aec3-b7a11de27af8
      description: ''
    PayrollRunWageCodesResponse:
      title: PayrollRunWageCodesResponse
      x-stoplight:
        id: en3vrg9os6l6o
      type: object
      properties:
        taskId:
          type: string
          format: uuid
      description: taskId to be used in conjunction with Get document content
    EmployeeAnnualStatementResponse:
      title: EmployeeAnnualStatementResponse
      x-stoplight:
        id: f928vx27g3lhc
      type: object
      properties:
        taskId:
          type: string
          format: uuid
    DocumentResponse:
      title: DocumentResponse
      x-stoplight:
        id: zkyd4my77q9yl
      type: string
      format: binary
    UpdateSocialSecurityNumber:
      title: UpdateSocialSecurityNumber
      x-stoplight:
        id: xqhjj5kivp21t
      type: object
      properties:
        socialSecurityNumber:
          type: string
          x-stoplight:
            id: 17equsskduwhz
    UpdateSocialSecurityNumberResponse:
      title: UpdateSocialSecurityNumberResponse
      x-stoplight:
        id: x9xohuunplq1z
      type: object
      properties:
        personalnfoId:
          type: string
          x-stoplight:
            id: 978aouy7yiaxe
          format: uuid
    WageCode:
      title: WageCode
      x-stoplight:
        id: w2ywxycc11mvc
      type: object
      properties:
        wageCodeId:
          type: string
          x-stoplight:
            id: jy5dxo5yyujgt
          format: uuid
        code:
          type: integer
          x-stoplight:
            id: ms4najnaqiqdt
          example: 1000
        description:
          type: string
          x-stoplight:
            id: c3coejowz440i
          example: Salary
        continuityType:
          type: string
          x-stoplight:
            id: hlgrfy9927m53
          enum:
            - fixed
            - variable
            - both
      required:
        - wageCodeId
        - code
        - description
    WageModel:
      title: WageModel
      x-stoplight:
        id: yccczwuvzyimd
      type: object
      properties:
        id:
          type: string
          format: uuid
        number:
          type: integer
          x-stoplight:
            id: uaadqc1csmv7h
          example: 1
        name:
          type: string
          x-stoplight:
            id: nb6r45qrsf9t1
          example: 'wage model '
        wageCodes:
          x-stoplight:
            id: e3srbaxr8a5z2
          type: array
          items:
            $ref: '#/components/schemas/WageCode'
            x-stoplight:
              id: 4x00xup9sq528
    CompanyWageModels:
      title: CompanyWageModels
      x-stoplight:
        id: qg1vwm198jaxa
      type: object
      properties:
        wageModels:
          type: array
          items:
            $ref: '#/components/schemas/WageModel'
            x-stoplight:
              id: pbc188knhnwwi
    CompanyWageModelResponse:
      title: CompanyWageModelResponse
      x-stoplight:
        id: 4utbx0u8zezs9
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          x-stoplight:
            id: jzv2ru9c0c2az
          type: array
          items:
            $ref: '#/components/schemas/WageModel'
    CostCenterCompanyResponse:
      title: CostCenterCompanyResponse
      x-stoplight:
        id: 0lculq2o6cizt
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          x-stoplight:
            id: 1rtt4fbo4oujj
          items:
            $ref: '#/components/schemas/CostCenter'
    ScheduleCompanyResponse:
      title: CompanyScheduleResponse
      x-stoplight:
        id: zgmrrq5z03g7i
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/CompanySchedule'
    PayrollRunResponse:
      title: PayrollRunResponse
      x-stoplight:
        id: ro0j0xx9xyvmm
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/PayrollRun'
    WorkCostsResponse:
      title: WorkCostsResponse
      x-stoplight:
        id: manq04dh7wj6a
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/WorkCost'
    EmployeesInPayrollRunResponse:
      title: EmployeesInPayrollRunResponse
      x-stoplight:
        id: gxi0icta87q7a
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeInPayrollRun'
    WageTaxSEPAResponse:
      title: EmployeesInPayrollRunResponse
      x-stoplight:
        id: gxi0icta87q7a
      type: object
      properties:
        taskId:
          type: string
          x-stoplight:
            id: amh3lu8rjzycg
          format: uuid
      x-examples:
        Example 1:
          taskId: e6e9d88a-9b63-468a-aec3-b7a11de27af8
    WageTaxResponse:
      title: WageTaxeResponse
      x-stoplight:
        id: rd7aow6qgrnpb
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/WageTax'
      x-examples:
        Example 1:
          pagination:
            pageNumber: 3
            pageSize: 30
            firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
            lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
            totalPages: 10
            totalRecords: 328
            nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
            previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
          data:
            - wageTaxId: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
              serialNumber: 10
              totalGeneral: 4546
              paymentReference: 1111.2223.3630.1010
              period: 10
              year: 2025
              status: Verzonden
              sentAt: '2025-02-05T14:54:06.267Z'
              periodStart: '2019-08-24'
              periodEnd: '2019-08-24'
              correctionPeriodStart: '2019-08-24'
              correctionPeriodEnd: '2019-08-24'
    PensionExportResponse:
      title: PensionExportResponse
      x-stoplight:
        id: wks6y4mz10xgz
      type: object
      x-examples:
        Example 3:
          pagination:
            pageNumber: 3
            pageSize: 30
            firstPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=1'
            lastPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=7'
            totalPages: 10
            totalRecords: 328
            nextPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=4'
            previousPage: 'https://api.nmbrsapp.com/api/companies/439323/{endpoint}?pageNumber=2'
          data:
            - pensionExportId: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
              serialNumber: 10
              period: 10
              year: 2025
              status: Verzonden
              sentAt: '2025-02-05T14:54:06.267Z'
              correctionStartDate: '2019-08-24'
              correctionEndDate: '2019-08-24'
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/PensionExport'
    CompanyAddressResponse:
      title: CompanyAddressResponse
      x-stoplight:
        id: 1hlo3glaoxv58
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/CompanyAddress'
    CompanySalaryTableResponse:
      title: CompanySalaryTableResponse
      x-stoplight:
        id: u94jfrwbuf7zv
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/CompanySalaryTable'
    CompanyContactPersonResponse:
      title: CompanyContactPersonResponse
      x-stoplight:
        id: xh92cf9nx9woo
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/CompanyContactPerson'
    CompanyBankAccountResponse:
      title: CompanyBankAccountResponse
      x-stoplight:
        id: 6miyeafndnt4k
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        companyId:
          type: string
          format: uuid
          example: a405f980-1c4c-42c1-8ddb-2d90c58da0b1
        data:
          type: array
          items:
            $ref: '#/components/schemas/CompanyBankAccount'
    LeaveGroupsCompanyResponse:
      title: LeaveGroupCompanyResponse
      x-stoplight:
        id: hk6eslllsc7hl
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/LeaveGroup'
    CostUnitCompanyResponse:
      title: CostUnitCompanyResponse
      x-stoplight:
        id: 0zo0x1gd0aeo6
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          x-stoplight:
            id: zzjaezuz0ilcq
          items:
            $ref: '#/components/schemas/CostUnit'
    DefaultEmployeeTemplate:
      title: DefaultEmployeeTemplate
      x-stoplight:
        id: rnbpkejhc3wnu
      type: object
      properties:
        defaultEmployeeTemplateId:
          type: string
          x-stoplight:
            id: sq5x8t2qeywva
          format: uuid
        description:
          type: string
          x-stoplight:
            id: lnfz1zetxz7zq
          description: description of the default employee template
    DefaultEmployeeTemplateResponse:
      title: DefaultEmployeeTemplateResponse
      x-stoplight:
        id: 2lcw9sxbbwu09
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          x-stoplight:
            id: 9cqkeswnx2v1h
          items:
            $ref: '#/components/schemas/DefaultEmployeeTemplate'
    CreateEmployeeDocumentResponse:
      title: CreateEmployeeDocumentResponse
      x-stoplight:
        id: jf33lp9ha35a9
      type: object
      properties:
        documentId:
          type: string
          x-stoplight:
            id: hfbc1if4lk3q9
          format: uuid
    CreateEmployeeDocument:
      title: CreateEmployeeDocument
      x-stoplight:
        id: 9r5k8tpyc1lam
      type: object
      properties:
        number:
          type: string
          x-stoplight:
            id: 6jt65wrufhy16
          nullable: true
        description:
          type: string
          x-stoplight:
            id: lu3i7q6bnm4mi
          nullable: true
        isVisibleForEmployee:
          type: boolean
          x-stoplight:
            id: b4kkupvfw3vz3
        type:
          type: string
          x-stoplight:
            id: we7xy73vl99ns
          format: uuid
          nullable: true
        folder:
          type: string
          x-stoplight:
            id: x937o9a68q8ad
          format: uuid
          nullable: true
        validFrom:
          type: string
          x-stoplight:
            id: 9wui7izx3iejt
          format: date
          nullable: true
        validTo:
          type: string
          x-stoplight:
            id: o05mfrnrg9j32
          format: date
          nullable: true
        file:
          type: string
          format: binary
        fileName:
          type: string
          x-stoplight:
            id: h58o8zpyajc4b
        fileExtension:
          type: string
          x-stoplight:
            id: 1q2bwuet0gr3w
    DocumentFolder:
      title: DocumentFolder
      x-stoplight:
        id: iofxmi2l08skz
      type: object
      properties:
        id:
          type: string
          x-stoplight:
            id: dcuhx20n9a8nv
          format: uuid
        name:
          type: string
          x-stoplight:
            id: ayzfyzg8w1ze6
    DocumentFolderResponse:
      title: DocumentFolderResponse
      x-stoplight:
        id: h9l5lbua43mfb
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/DocumentFolder'
  securitySchemes:
    Bearer:
      type: oauth2
      flows:
        authorizationCode:
          scopes:
            employee.employment: 'View and manage employment data: contracts, salary, schedule '
            employee.employment.read: 'View employment data: contracts, salary, schedule'
            employee.info: 'View and manage employee information: personal info, address, family data '
            employee.info.read: 'View employee information: personal info, address, family data '
            employee.payment: 'View and manage payment data: hour components, wage components and cost centers'
            employee.payment.read: 'View payment data: hour components, wage components and cost centers'
            employee.leave: View and manage leave and absence information
            employee.leave.read: View leave and absence information
            company.info: View and manage company information
            company.info.read: View company information
            company.payrollsettings.read: 'View payroll settings: hour codes, wage codes, cost centers and cost units '
            company.leave.read: View company leave and absence settings
            employee.orgstructure: 'View and manage organization structure data: functions, departments, managers'
            employee.orgstructure.read: 'View organization structure data data: functions, departments, managers'
            employee.bankaccount.read: View bank account information
            employee.bankaccount: View and manage bank account information
            user.info.read: View user information
            debtor.info.read: View debtor information
            offline_access: Used in the authorization process to receive a refresh token
            employee.document.read: Generate employee documents
            company.document.read: Generate company documents
            document.read: View and download document content
            employee.document: View and manage employee documents
            employee.payrollsettings: View employee payroll settings
            employee.payrollsettings.read: View and manage employee payroll settings
          authorizationUrl: 'https://identityservice.nmbrs.com/connect/authorize'
          tokenUrl: 'https://identityservice.nmbrs.com/connect/token'
          refreshUrl: 'https://identityservice.nmbrs.com/connect/token'
      description: 'This API uses OAuth 2 with the authorization code flow. [More info](https://nmbrs.stoplight.io/docs/nmbrs-restapi/ZG9jOjY4OTAxNTQ-authentication)'
  responses:
    500-error:
      description: 500 Internal Server Error
      content:
        application/json:
          schema:
            type: object
            properties:
              type:
                type: string
                minLength: 1
                description: Type of the error
                enum:
                  - apiError
                  - authenticationError
                  - invalidRequestError
                  - throttlingError
                  - validationError
              httpStatus:
                type: integer
                description: HTTP status returned
              code:
                type: integer
                description: Code that identifies the error
              title:
                type: string
                minLength: 1
                description: Title of the error
              detail:
                type: string
                minLength: 1
                description: Further details about the error
              invalid-params:
                type: array
                description: Detailed description of what parameters are causing the error
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the parameter failling
                    reason:
                      type: string
                      description: Reason of why the parameter failed
              docUrl:
                type: string
                minLength: 1
                description: Url to documentation that supports the user on understanding and fixing the error
            required:
              - httpStatus
              - code
              - title
          examples:
            Unkown:
              value:
                type: apiError
                httpStatus: 500
                code: 50001
                title: Unkown
                detail: An unexpected error has occurred.
                docUrl: 'https://developer.nmbrs.com/api/docs/errors'
    400-error:
      description: 400 Bad Request
      content:
        application/json:
          schema:
            type: object
            properties:
              type:
                type: string
                minLength: 1
                description: Type of the error
                enum:
                  - apiError
                  - authenticationError
                  - invalidRequestError
                  - throttlingError
                  - validationError
              httpStatus:
                type: integer
                description: HTTP status returned
              code:
                type: integer
                description: Code that identifies the error
              title:
                type: string
                minLength: 1
                description: Title of the error
              detail:
                type: string
                minLength: 1
                description: Further details about the error
              invalid-params:
                type: array
                description: Detailed description of what parameters are causing the error
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the parameter failling
                    reason:
                      type: string
                      description: Reason of why the parameter failed
              docUrl:
                type: string
                minLength: 1
                description: Url to documentation that supports the user on understanding and fixing the error
            required:
              - httpStatus
              - code
              - title
          examples:
            Invalid_Period:
              value:
                type: validationError
                httpStatus: 400
                code: 40033
                title: Parameter_Invalid
                detail: Invalid parameter.
                invalid-params:
                  - name: year
                    reason: The parameter is invalid. It needs to be a valid year.
                docUrl: 'https://developer.nmbrs.com/docs/errors'
    401-error:
      description: 401 Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              type:
                type: string
                minLength: 1
                description: Type of the error
                enum:
                  - apiError
                  - authenticationError
                  - invalidRequestError
                  - throttlingError
                  - validationError
              httpStatus:
                type: integer
                description: HTTP status returned
              code:
                type: integer
                description: Code that identifies the error
              title:
                type: string
                minLength: 1
                description: Title of the error
              detail:
                type: string
                minLength: 1
                description: Further details about the error
              invalid-params:
                type: array
                description: Detailed description of what parameters are causing the error
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the parameter failling
                    reason:
                      type: string
                      description: Reason of why the parameter failed
              docUrl:
                type: string
                minLength: 1
                description: Url to documentation that supports the user on understanding and fixing the error
            required:
              - httpStatus
              - code
              - title
          examples:
            Missing_Token:
              value:
                type: authenticationError
                httpStatus: 401
                code: 40101
                title: Missing_Token
                detail: Token is missing on the authentication
                docUrl: 'https://developer.nmbrs.com/api/docs/errors'
            Invalid_Token:
              value:
                type: authenticationError
                httpStatus: 401
                code: 40102
                title: Invalid_Token
                detail: Token is invalid.
                docUrl: 'https://developer.nmbrs.com/api/docs/errors'
    403-error:
      description: 403 Forbidden
      content:
        application/json:
          schema:
            type: object
            properties:
              type:
                type: string
                minLength: 1
                description: Type of the error
                enum:
                  - apiError
                  - authenticationError
                  - invalidRequestError
                  - throttlingError
                  - validationError
              httpStatus:
                type: integer
                description: HTTP status returned
              code:
                type: integer
                description: Code that identifies the error
              title:
                type: string
                minLength: 1
                description: Title of the error
              detail:
                type: string
                minLength: 1
                description: Further details about the error
              invalid-params:
                type: array
                description: Detailed description of what parameters are causing the error
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the parameter failling
                    reason:
                      type: string
                      description: Reason of why the parameter failed
              docUrl:
                type: string
                minLength: 1
                description: Url to documentation that supports the user on understanding and fixing the error
            required:
              - httpStatus
              - code
              - title
          examples:
            Unauthorized_AccessData:
              value:
                type: authenticationError
                httpStatus: 403
                code: 40303
                title: Unauthorized_AccessData
                detail: You do not have access for the debtor or company you are trying to reach. Contact the administrator of the environment and review access rights by tags/filters for your login on Template User.
                docUrl: 'https://developer.nmbrs.com/api/docs/errors'
            Invalid_Subscription:
              value:
                type: authenticationError
                httpStatus: 403
                code: 40304
                title: Invalid_Subscription
                detail: 'This environment is disabled, there is no valid subscription.'
                docUrl: 'https://developer.nmbrs.com/api/docs/errors'
      headers: {}
    404-error:
      description: 404 Not Found
      content:
        application/json:
          schema:
            type: object
            properties:
              type:
                type: string
                minLength: 1
                description: Type of the error
                enum:
                  - apiError
                  - authenticationError
                  - invalidRequestError
                  - throttlingError
                  - validationError
              httpStatus:
                type: integer
                description: HTTP status returned
              code:
                type: integer
                description: Code that identifies the error
              title:
                type: string
                minLength: 1
                description: Title of the error
              detail:
                type: string
                minLength: 1
                description: Further details about the error
              invalid-params:
                type: array
                description: Detailed description of what parameters are causing the error
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the parameter failling
                    reason:
                      type: string
                      description: Reason of why the parameter failed
              docUrl:
                type: string
                minLength: 1
                description: Url to documentation that supports the user on understanding and fixing the error
            required:
              - httpStatus
              - code
              - title
          examples:
            Not_Found:
              value:
                type: invalidRequestError
                httpStatus: 404
                code: 40401
                title: Not_Found
                detail: The requested resource could not be found.
                docUrl: 'https://developer.nmbrs.com/api/docs/errors'
            Invalid_Company:
              value:
                type: invalidRequestError
                httpStatus: 404
                code: 40404
                title: Invalid_Company
                detail: Company not found. Check if the company Id is correct.
                docUrl: 'https://developer.nmbrs.com/api/docs/errors'
    429-error:
      description: 429 Too Many Requests
      content:
        application/json:
          schema:
            type: object
            properties:
              type:
                type: string
                minLength: 1
                description: Type of the error
                enum:
                  - apiError
                  - authenticationError
                  - invalidRequestError
                  - throttlingError
                  - validationError
              httpStatus:
                type: integer
                description: HTTP status returned
              code:
                type: integer
                description: Code that identifies the error
              title:
                type: string
                minLength: 1
                description: Title of the error
              detail:
                type: string
                minLength: 1
                description: Further details about the error
              invalid-params:
                type: array
                description: Detailed description of what parameters are causing the error
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the parameter failling
                    reason:
                      type: string
                      description: Reason of why the parameter failed
              docUrl:
                type: string
                minLength: 1
                description: Url to documentation that supports the user on understanding and fixing the error
            required:
              - httpStatus
              - code
              - title
          examples:
            Too_Many_Calls:
              value:
                type: throttlingError
                httpStatus: 429
                code: 42908
                title: Too_Many_Calls
                detail: The amount of calls is above the threshold for your subscription plan.
                docUrl: 'https://developer.nmbrs.com/api/docs/errors'
            Quota_Exceeded:
              value:
                type: throttlingError
                httpStatus: 429
                code: 42909
                title: Quota_Exceeded
                detail: Out of call volume quota.
                docUrl: 'https://developer.nmbrs.com/api/docs/errors'
    502-error:
      description: 502 Bad gateway
      content:
        application/json:
          schema:
            type: object
            properties:
              type:
                type: string
                minLength: 1
                description: Type of the error
                enum:
                  - apiError
                  - authenticationError
                  - invalidRequestError
                  - throttlingError
                  - validationError
              httpStatus:
                type: integer
                description: HTTP status returned
              code:
                type: integer
                description: Code that identifies the error
              title:
                type: string
                minLength: 1
                description: Title of the error
              detail:
                type: string
                minLength: 1
                description: Further details about the error
              invalid-params:
                type: array
                description: Detailed description of what parameters are causing the error
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the parameter failling
                    reason:
                      type: string
                      description: Reason of why the parameter failed
              docUrl:
                type: string
                minLength: 1
                description: Url to documentation that supports the user on understanding and fixing the error
            required:
              - httpStatus
              - code
              - title
          examples:
            Bad_Gateway:
              value:
                type: apiError
                httpStatus: 502
                code: 50201
                title: Bad_Gateway
                detail: A gateway error has ocurred.
                docUrl: 'https://developer.nmbrs.com/api/docs/errors'
    503-error:
      description: 503 Service Unavailable
      content:
        application/json:
          schema:
            type: object
            properties:
              type:
                type: string
                minLength: 1
                description: Type of the error
                enum:
                  - apiError
                  - authenticationError
                  - invalidRequestError
                  - throttlingError
                  - validationError
              httpStatus:
                type: integer
                description: HTTP status returned
              code:
                type: integer
                description: Code that identifies the error
              title:
                type: string
                minLength: 1
                description: Title of the error
              detail:
                type: string
                minLength: 1
                description: Further details about the error
              invalid-params:
                type: array
                description: Detailed description of what parameters are causing the error
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the parameter failling
                    reason:
                      type: string
                      description: Reason of why the parameter failed
              docUrl:
                type: string
                minLength: 1
                description: Url to documentation that supports the user on understanding and fixing the error
            required:
              - httpStatus
              - code
              - title
          examples:
            Service_Unavailable:
              value:
                type: apiError
                httpStatus: 503
                code: 50301
                title: Service_Unavailable
                detail: 'The API is not available, it can be because of an update or an unexpected error.'
                docUrl: 'https://status.nmbrs.com/'
  parameters:
    companyid:
      name: companyId
      in: path
      required: true
      schema:
        type: string
        example: ad3562fc-b050-4de7-9eb0-1751eefa680c
        format: uuid
      description: Unique identifier of the company
    employeeid:
      name: employeeId
      in: path
      required: true
      schema:
        type: string
        example: ecbf546b-5c94-4eec-8557-32f5b65d30e2
        format: uuid
      description: Unique identifier of the employee
    pageNumber:
      name: pageNumber
      in: query
      required: false
      schema:
        type: integer
        example: 1
        default: 1
        minimum: 1
      description: Number of the page to be retrieved
    pageSize:
      name: pageSize
      in: query
      required: false
      schema:
        type: integer
        default: 20
        example: 20
        minimum: 1
        maximum: 100
      description: 'Size of the page. Max 100. '
    X-Subscription-Key:
      name: X-Subscription-Key
      in: header
      schema:
        type: string
        example: 30d05593229f49c18856be06ebc47b24
      description: Generated when subscribing to a product on developer.nmbrs.com/products
    debtorId:
      name: debtorId
      in: path
      required: true
      schema:
        type: string
        example: 45d8ad44-ffb8-4691-87d8-7a7a5f4376e9
        format: uuid
      description: Unique identifier of the debtor
    stepId:
      name: stepId
      in: query
      required: true
      schema:
        type: string
      description: Step to be retrieved
    scaleId:
      name: scaleId
      in: query
      required: true
      schema:
        type: string
      description: Scale to be retrieved
    period:
      name: period
      in: query
      schema:
        type: integer
        example: '1'
      description: 'Period of the search (use together with the year). If empty, returns the current period.'
    year:
      name: year
      in: query
      schema:
        type: integer
        example: 2021
      description: 'Year of the search (use together with the period). If empty, returns the current period.'
    periodType:
      name: periodType
      in: query
      required: true
      schema:
        type: string
      description: 'Period type of the company. Default is "month", which is the monthly type company.'
    salaryTableId:
      in: path
      required: true
      schema:
        type: string
      name: salaryTableId
      description: Salary table to be retrieved
    createdFrom:
      name: createdFrom
      in: query
      required: false
      schema:
        type: string
        format: date-time
        example: '2021-12-01T00:00:00Z'
      description: Filter for results starting from this createdAt date
    employeeType:
      name: employeeType
      in: query
      schema:
        type: string
        example: 'payroll,formerPayroll'
      description: 'Type of the employee. You can send a list of types to be retrieved. Possible types: applicant, newHire, payroll, formerPayroll, external, formerExternal, rejectedApplicant'
    wageCodes:
      in: query
      name: wageCodes
      description: Wage codes to filter (int)
      style: form
      allowEmptyValue: true
      explode: true
      schema:
        type: array
        uniqueItems: true
        minItems: 0
        items:
          type: integer
    employeeId:
      name: employeeId
      in: query
      required: false
      schema:
        type: string
        format: uuid
      description: Filter for results for a specific employee
    leaveGroupId:
      name: leaveGroupId
      in: query
      required: false
      schema:
        type: string
        format: uuid
      description: Filter for results for a specific leave group
    Year:
      name: Year
      in: path
      required: true
      schema:
        type: integer
        example: 2020
      description: year
    extraFieldId:
      name: extraFieldId
      in: query
      required: false
      schema:
        type: string
        format: uuid
      description: filter employees that have the give extra field
    extraFieldType:
      name: extraFieldType
      in: query
      required: false
      schema:
        type: string
        enum:
          - text
          - decimal
          - number
          - date
          - yesNo
          - textDate
      description: filter employees that have extra fields of the given type
    subscriptionName:
      name: subscriptionName
      in: path
      required: true
      schema:
        type: string
        enum:
          - hire
          - perform
      description: name of the subscription/add-on
    changedFrom:
      name: changedFrom
      in: query
      required: false
      schema:
        type: string
        format: date-time
        example: '2021-12-01T00:00:00Z'
      description: Filter for results starting from this changedAt date
    taskId:
      name: taskId
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: task Id for document content
    hourComponentId:
      name: hourComponentId
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: unique identifier of hour component
    wagecomponentId:
      name: wagecomponentId
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: unique identifier of the employee wagecomponent
    wageTaxId:
      name: wageTaxId
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: Unique identifier of a wage tax declaration
security:
  - Bearer:
      - employee.employment
      - employee.employment.read
      - employee.info
      - employee.info.read
      - employee.payment
      - employee.payment.read
      - employee.leave
      - employee.leave.read
      - company.info
      - company.info.read
      - company.payrollsettings.read
      - company.leave.read
      - employee.orgstructure
      - employee.orgstructure.read
      - employee.bankaccount.read
      - employee.bankaccount
      - employee.document
      - user.info.read
      - debtor.info.read
      - offline_access
      - employee.document.read
      - company.document.read
      - document.read
      - employee.payrollsettings
      - employee.payrollsettings.read
servers:
  - url: 'https://api.nmbrsapp.com'
    description: Nmbrs REST API
  - description: Mock Server
    url: 'https://stoplight.io/mocks/nmbrs/nmbrs-restapi:Mock/12084760'
x-internal: false
