> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kombo.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Payslips

> Retrieve all payslips for all employees, across all time.

<Accordion title="Supported integrations" icon="list-check">
  This feature is currently available for the following integrations:

  <ul>
    <li class="flex items-center"><img src="https://storage.googleapis.com/kombo-assets/integrations/sandbox/icon.svg" height="16px" width="16px" class="m-0 mr-2" /><a href="/hris/connectors/sandbox">Kombo Sandbox</a></li>
  </ul>

  You'd like to see this feature for another integration? Please reach out!
  We're always happy to discuss extending our coverage.
</Accordion>

A payslip is the individual pay statement an employee receives for one pay run, detailing what they were paid. Each payslip embeds the `employee` it belongs to and the `pay_run` it was paid out through, its `totals`, and the `line_items` that make it up (earnings, deductions, and contributions). Filter by `employee_ids`, `payrun_ids`, or `legal_entity_ids` to narrow the results.

Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`


## OpenAPI

````yaml GET /hris/payslips
openapi: 3.1.0
info:
  title: Kombo API
  version: 1.0.0
servers:
  - url: https://api.kombo.dev/v1
    description: Kombo EU API
  - url: https://api.us.kombo.dev/v1
    description: Kombo US API
security:
  - ApiKey: []
tags:
  - name: General
  - name: Kombo Connect
    description: >-
      Endpoints for Kombo Connect, our end-user-facing flow for setting up new
      integrations.
  - name: Unified HRIS API
    description: Unified endpoints to access all the HR concepts you might need.
  - name: Unified ATS API
    description: Unified endpoints to access all the ATS concepts you might need.
  - name: Unified ATS (Assessment & Background Check) API
    description: >-
      Unified endpoints to operate Assessments and Background Checks for many
      applicant tracking systems.
  - name: Unified LMS API
    description: Unified endpoints to access all the LMS concepts you might need.
  - name: AI Apply
    description: Endpoints for AI-powered job application features.
  - name: Custom Endpoints
    description: Custom integration-specific endpoints.
paths:
  /hris/payslips:
    get:
      tags:
        - Unified HRIS API
      summary: Payslips
      description: >-
        Retrieve all payslips for all employees, across all time.


        <Accordion title="Supported integrations" icon="list-check">

        This feature is currently available for the following integrations:


        <ul>

        <li class="flex items-center"><img
          src="https://storage.googleapis.com/kombo-assets/integrations/sandbox/icon.svg"
          height="16px"
          width="16px"
          class="m-0 mr-2"
        /><a href="/hris/connectors/sandbox">Kombo Sandbox</a></li>

        </ul>


        You'd like to see this feature for another integration? Please reach
        out!

        We're always happy to discuss extending our coverage.

        </Accordion>



        A payslip is the individual pay statement an employee receives for one
        pay run, detailing what they were paid. Each payslip embeds the
        `employee` it belongs to and the `pay_run` it was paid out through, its
        `totals`, and the `line_items` that make it up (earnings, deductions,
        and contributions). Filter by `employee_ids`, `payrun_ids`, or
        `legal_entity_ids` to narrow the results.


        Top level filters use AND, while individual filters use OR if they
        accept multiple arguments. That means filters will be resolved like
        this: `(id IN ids) AND (remote_id IN remote_ids)`
      operationId: GetHrisPayslips
      parameters:
        - in: header
          name: X-Integration-Id
          schema:
            type: string
          description: ID of the integration you want to interact with.
          example: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
          required: true
        - name: cursor
          in: query
          required: false
          description: >-
            An optional cursor string used for pagination. This can be retrieved
            from the `next` property of the previous page response.
          schema:
            $ref: '#/components/schemas/GetHrisPayslipsParameterCursor'
        - name: page_size
          in: query
          required: false
          description: The number of results to return per page. Maximum is 250.
          schema:
            $ref: '#/components/schemas/GetHrisPayslipsParameterPageSize'
        - name: updated_after
          in: query
          required: false
          description: >-
            Filter the entries based on the modification date in format
            `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record
            itself **OR** its nested data has been updated since this timestamp,
            even if the record's own `changed_at` field remains unchanged.


            If you want to track entry deletion, also set the
            `include_deleted=true` query parameter, because otherwise, deleted
            entries will be hidden.


            For more details, see [Understanding changed_at vs updated_after
            Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).


            For this endpoint, `updated_after` matches when the returned record
            changed, or when related data changed as described below.


            | Path | Added/Removed | Linked Record |

            | --- | --- | --- |

            | `employee` | ✗ No | ✗ No |

            | `pay_run` | ✗ No | ✗ No |

            | `line_items` | ✓ Yes | ✓ Yes |

            | `line_items` → `salary_type` | ✗ No | ✗ No |


            _**Added/Removed**: Whether adding or removing entries from this
            list triggers an update (n/a for single records). **Linked Record**:
            Whether changes to the linked record itself trigger an update._
          schema:
            $ref: '#/components/schemas/GetHrisPayslipsParameterUpdatedAfter'
        - name: include_deleted
          in: query
          required: false
          description: >-
            By default, deleted entries are not returned. Use the
            `include_deleted` query param to include deleted entries too.
          schema:
            $ref: '#/components/schemas/GetHrisPayslipsParameterIncludeDeleted'
        - name: ignore_unsupported_filters
          in: query
          required: false
          description: >-
            When set to `true`, filters targeting fields not supported by this
            integration will be ignored instead of filtering out all results.
          schema:
            $ref: >-
              #/components/schemas/GetHrisPayslipsParameterIgnoreUnsupportedFilters
        - name: ids
          in: query
          required: false
          description: >-
            Filter by a comma-separated list of IDs such as
            `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
          schema:
            $ref: '#/components/schemas/GetHrisPayslipsParameterIds'
        - name: remote_ids
          in: query
          required: false
          description: Filter by a comma-separated list of remote IDs.
          schema:
            $ref: '#/components/schemas/GetHrisPayslipsParameterRemoteIds'
        - name: legal_entity_ids
          in: query
          required: false
          description: Filter by a comma-separated list of legal entity IDs.
          schema:
            $ref: '#/components/schemas/GetHrisPayslipsParameterLegalEntityIds'
        - name: employee_ids
          in: query
          required: false
          description: Filter by a comma-separated list of employee IDs.
          schema:
            $ref: '#/components/schemas/GetHrisPayslipsParameterEmployeeIds'
        - name: payrun_ids
          in: query
          required: false
          description: Filter by a comma-separated list of payrun IDs.
          schema:
            $ref: '#/components/schemas/GetHrisPayslipsParameterPayrunIds'
      responses:
        '200':
          description: GET /hris/payslips Positive response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetHrisPayslipsPositiveResponse'
              examples:
                example1:
                  value:
                    status: success
                    data:
                      next: >-
                        eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=
                      results:
                        - id: E4q8YceHEtPWeGwBAEcd9xPs
                          remote_id: '300000331094861'
                          changed_at: '2026-01-10T12:32:01.000Z'
                          remote_deleted_at: null
                          remote_data: null
                          totals:
                            gross_pay:
                              currency: USD
                              value: 2207.75
                            net_pay:
                              currency: USD
                              value: 1730.35
                            paid_amount:
                              currency: USD
                              value: 1730.35
                          employee:
                            id: 26vafvWSRmbhNcxJYqjCzuJg
                            remote_id: '32'
                            first_name: John
                            last_name: Doe
                            display_full_name: John Doe
                            work_email: john.doe@acme.com
                            remote_deleted_at: null
                          pay_run:
                            id: HdyE3KNfcbNzXFRqwW1Wh2eP
                            remote_id: '300000092871122'
                            start_date: '2026-01-01'
                            end_date: '2026-01-13'
                            legal_entity_id: 3Y6vdh2SPujGVx8oj4g8hdUu
                          line_items:
                            - id: 8TMenmF8QVyP1EqagstHhsPG
                              remote_id: 300000331094861:REGULAR_SALARY
                              name: Regular Salary
                              amount:
                                currency: USD
                                value: 2207.75
                            - id: CELfyfzuHs6Dz1MDPdoSCY3U
                              remote_id: 300000331094861:FIT_WITHHELD
                              name: FIT Withheld
                              amount:
                                currency: USD
                                value: 235.94
                            - id: H1gPqyuZTK3y75NRxe4QZ3u7
                              remote_id: >-
                                300000331094861:SOCIAL_SECURITY_EMPLOYEE_WITHHELD
                              name: Social Security Employee Withheld
                              amount:
                                currency: USD
                                value: 136.88
                            - id: HEnJXik92Qqph5SX4NtK6NRM
                              remote_id: 300000331094861:MEDICARE_EMPLOYEE_WITHHELD
                              name: Medicare Employee Withheld
                              amount:
                                currency: USD
                                value: 32.01
                            - id: Ho16emGY5zVYeEc2nN9CWeKv
                              remote_id: 300000331094861:SIT_WITHHELD_CA
                              name: SIT Withheld (CA)
                              amount:
                                currency: USD
                                value: 71.47
                            - id: 9D24qXFEp1pSQ2Y3jaRFSTBQ
                              remote_id: 300000331094861:VPDI_EMPLOYEE_WITHHELD_CA
                              name: VPDI Employee Withheld (CA)
                              amount:
                                currency: USD
                                value: 1.1
        default:
          $ref: '#/components/responses/ErrorResponseHRIS'
components:
  schemas:
    GetHrisPayslipsParameterCursor:
      type: string
      description: >-
        An optional cursor string used for pagination. This can be retrieved
        from the `next` property of the previous page response.
    GetHrisPayslipsParameterPageSize:
      type: integer
      format: int64
      minimum: 1
      maximum: 250
      default: 100
      description: The number of results to return per page. Maximum is 250.
    GetHrisPayslipsParameterUpdatedAfter:
      description: >-
        Filter the entries based on the modification date in format
        `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record
        itself **OR** its nested data has been updated since this timestamp,
        even if the record's own `changed_at` field remains unchanged.


        If you want to track entry deletion, also set the `include_deleted=true`
        query parameter, because otherwise, deleted entries will be hidden.


        For more details, see [Understanding changed_at vs updated_after
        Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).


        For this endpoint, `updated_after` matches when the returned record
        changed, or when related data changed as described below.


        | Path | Added/Removed | Linked Record |

        | --- | --- | --- |

        | `employee` | ✗ No | ✗ No |

        | `pay_run` | ✗ No | ✗ No |

        | `line_items` | ✓ Yes | ✓ Yes |

        | `line_items` → `salary_type` | ✗ No | ✗ No |


        _**Added/Removed**: Whether adding or removing entries from this list
        triggers an update (n/a for single records). **Linked Record**: Whether
        changes to the linked record itself trigger an update._
      type: string
      format: date-time
      pattern: ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$
      externalDocs:
        url: >-
          https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
    GetHrisPayslipsParameterIncludeDeleted:
      type: string
      enum:
        - 'true'
        - 'false'
      default: 'false'
      description: >-
        By default, deleted entries are not returned. Use the `include_deleted`
        query param to include deleted entries too.
    GetHrisPayslipsParameterIgnoreUnsupportedFilters:
      type: string
      enum:
        - 'true'
        - 'false'
      default: 'false'
      description: >-
        When set to `true`, filters targeting fields not supported by this
        integration will be ignored instead of filtering out all results.
    GetHrisPayslipsParameterIds:
      type: string
      description: >-
        Filter by a comma-separated list of IDs such as
        `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
    GetHrisPayslipsParameterRemoteIds:
      type: string
      description: Filter by a comma-separated list of remote IDs.
    GetHrisPayslipsParameterLegalEntityIds:
      type: string
      description: Filter by a comma-separated list of legal entity IDs.
    GetHrisPayslipsParameterEmployeeIds:
      type: string
      description: Filter by a comma-separated list of employee IDs.
    GetHrisPayslipsParameterPayrunIds:
      type: string
      description: Filter by a comma-separated list of payrun IDs.
    GetHrisPayslipsPositiveResponse:
      type: object
      properties:
        status:
          type: string
          const: success
        data:
          type: object
          properties:
            next:
              type:
                - string
                - 'null'
              description: >-
                Cursor string that can be passed to the `cursor` query parameter
                to get the next page. If this is `null`, then there are no more
                pages.
            results:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    description: >-
                      The globally unique ID of this object generated by Kombo.
                      We recommend using this as a stable primary key for
                      syncing.
                  remote_id:
                    type: string
                    description: >-
                      The raw ID of the object in the remote system. We don't
                      recommend using this as a primary key on your side as it
                      might sometimes be compromised of multiple identifiers if
                      a system doesn't provide a clear primary key.
                  changed_at:
                    description: >-
                      The timestamp when this specific record was last modified.
                      This field only updates when properties directly on this
                      record change, NOT when related or nested models change.
                      For filtering that considers nested data changes, use the
                      `updated_after` parameter which will return records when
                      either the record itself OR its related models have been
                      updated.
                    type: string
                    format: date-time
                    externalDocs:
                      url: >-
                        https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
                  remote_deleted_at:
                    description: >-
                      The date and time the object was deleted in the remote
                      system. Objects are automatically marked as deleted when
                      Kombo can't retrieve them from the remote system anymore.
                      Kombo will also anonymize entries 14 days after they
                      disappear.
                    type:
                      - string
                      - 'null'
                    format: date-time
                    externalDocs:
                      url: >-
                        https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
                  remote_data:
                    type:
                      - object
                      - 'null'
                    additionalProperties: true
                    description: >-
                      Includes the data fetched from the remote system.

                      Please be aware that including this in you scope config
                      might violate other

                      scopes that are set.


                      Remote data always has the endpoint path that we got the
                      data from as the

                      top level key. For example, it could look like: `{
                      "/companies": { ... }}`


                      This is not available on all plans. Reach out to Kombo if
                      you need it.
                  totals:
                    type: object
                    properties:
                      gross_pay:
                        type:
                          - object
                          - 'null'
                        properties:
                          currency:
                            type: string
                            description: >-
                              The [ISO 4217 currency
                              code](https://www.iso.org/iso-4217-currency-codes.html)
                              the value is denominated in.
                          value:
                            type: number
                            format: double
                            description: The monetary value.
                        required:
                          - currency
                          - value
                        description: >-
                          The total gross pay for the payslip, before taxes and
                          after gross deductions.
                      net_pay:
                        type:
                          - object
                          - 'null'
                        properties:
                          currency:
                            type: string
                            description: >-
                              The [ISO 4217 currency
                              code](https://www.iso.org/iso-4217-currency-codes.html)
                              the value is denominated in.
                          value:
                            type: number
                            format: double
                            description: The monetary value.
                        required:
                          - currency
                          - value
                        description: >-
                          The total net pay for the payslip, after taxes have
                          been applied to the gross pay.
                      paid_amount:
                        type:
                          - object
                          - 'null'
                        properties:
                          currency:
                            type: string
                            description: >-
                              The [ISO 4217 currency
                              code](https://www.iso.org/iso-4217-currency-codes.html)
                              the value is denominated in.
                          value:
                            type: number
                            format: double
                            description: The monetary value.
                        required:
                          - currency
                          - value
                        description: >-
                          The amount of the payslip that was actually paid out
                          to the employee. This value accounts for net earnings
                          and deductions.
                    examples:
                      - gross_pay:
                          currency: USD
                          value: 2207.75
                        net_pay:
                          currency: USD
                          value: 1730.35
                        paid_amount:
                          currency: USD
                          value: 1730.35
                  employee:
                    type: object
                    properties:
                      id:
                        type: string
                        description: >-
                          The globally unique ID of this object generated by
                          Kombo. We recommend using this as a stable primary key
                          for syncing.
                      remote_id:
                        type: string
                        description: >-
                          The raw ID of the object in the remote system. We
                          don't recommend using this as a primary key on your
                          side as it might sometimes be compromised of multiple
                          identifiers if a system doesn't provide a clear
                          primary key.
                      first_name:
                        type:
                          - string
                          - 'null'
                        description: The employee’s first name.
                      last_name:
                        type:
                          - string
                          - 'null'
                        description: The employee’s last name.
                      display_full_name:
                        type:
                          - string
                          - 'null'
                        description: >-
                          The employee’s full name, including any middle names.
                          Not all HR systems provide an explicit display name,
                          so we recommend falling back to `first_name` and
                          `last_name`.
                      work_email:
                        type:
                          - string
                          - 'null'
                        pattern: >-
                          ^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$
                        description: >-
                          The employee’s work email address. If the email
                          address is invalid, we will set this to `null`.
                      remote_deleted_at:
                        description: >-
                          The date and time the object was deleted in the remote
                          system. Objects are automatically marked as deleted
                          when Kombo can't retrieve them from the remote system
                          anymore. Kombo will also anonymize entries 14 days
                          after they disappear.
                        type:
                          - string
                          - 'null'
                        format: date-time
                        externalDocs:
                          url: >-
                            https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
                    required:
                      - id
                      - remote_id
                      - first_name
                      - last_name
                      - display_full_name
                      - remote_deleted_at
                    description: The employee that the payslip is for.
                    examples:
                      - id: 26vafvWSRmbhNcxJYqjCzuJg
                        remote_id: '32'
                        first_name: John
                        last_name: Doe
                        display_full_name: John Doe
                        work_email: john.doe@acme.com
                        remote_deleted_at: null
                  pay_run:
                    type:
                      - object
                      - 'null'
                    properties:
                      id:
                        type: string
                        description: >-
                          The globally unique ID of this object generated by
                          Kombo. We recommend using this as a stable primary key
                          for syncing.
                      remote_id:
                        type: string
                        description: >-
                          The raw ID of the object in the remote system. We
                          don't recommend using this as a primary key on your
                          side as it might sometimes be compromised of multiple
                          identifiers if a system doesn't provide a clear
                          primary key.
                      start_date:
                        type:
                          - string
                          - 'null'
                        format: date
                        pattern: ^\d{4}-\d{2}-\d{2}$
                        description: >-
                          The start date of the pay run, as a calendar date
                          (`yyyy-MM-dd`).
                      end_date:
                        type:
                          - string
                          - 'null'
                        format: date
                        pattern: ^\d{4}-\d{2}-\d{2}$
                        description: >-
                          The end date of the pay run, as a calendar date
                          (`yyyy-MM-dd`).
                      legal_entity_id:
                        type:
                          - string
                          - 'null'
                        description: >-
                          The Kombo ID of the pay run’s legal entity. The ID can
                          be used to retrieve the legal entity from the `get
                          legal entities` endpoint.
                    required:
                      - id
                      - remote_id
                      - start_date
                      - end_date
                      - legal_entity_id
                    examples:
                      - id: HdyE3KNfcbNzXFRqwW1Wh2eP
                        remote_id: '300000092871122'
                        start_date: '2026-01-01'
                        end_date: '2026-01-13'
                        legal_entity_id: 3Y6vdh2SPujGVx8oj4g8hdUu
                    description: The pay run the payslip was paid out through.
                  line_items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: >-
                            The globally unique ID of this object generated by
                            Kombo. We recommend using this as a stable primary
                            key for syncing. For some integrations, this ID can
                            still change if the payslip is edited.
                        remote_id:
                          type: string
                          description: >-
                            The raw ID of the object in the remote system. We
                            don't recommend using this as a primary key on your
                            side as it might sometimes be compromised of
                            multiple identifiers if a system doesn't provide a
                            clear primary key. This value may include the item's
                            position on the payslip, which can change if the
                            payslip is edited.
                        name:
                          type:
                            - string
                            - 'null'
                          description: The name of the salary type.
                        amount:
                          type:
                            - object
                            - 'null'
                          properties:
                            currency:
                              type: string
                              description: >-
                                The [ISO 4217 currency
                                code](https://www.iso.org/iso-4217-currency-codes.html)
                                the value is denominated in.
                            value:
                              type: number
                              format: double
                              description: The monetary value.
                          required:
                            - currency
                            - value
                          description: The amount of the line item.
                      required:
                        - id
                        - remote_id
                        - name
                    description: >-
                      The individual earnings, deductions, and contributions
                      that make up the payslip.
                    examples:
                      - - id: 8TMenmF8QVyP1EqagstHhsPG
                          remote_id: 300000331094861:REGULAR_SALARY
                          name: Regular Salary
                          amount:
                            currency: USD
                            value: 2207.75
                        - id: CELfyfzuHs6Dz1MDPdoSCY3U
                          remote_id: 300000331094861:FIT_WITHHELD
                          name: FIT Withheld
                          amount:
                            currency: USD
                            value: 235.94
                        - id: H1gPqyuZTK3y75NRxe4QZ3u7
                          remote_id: 300000331094861:SOCIAL_SECURITY_EMPLOYEE_WITHHELD
                          name: Social Security Employee Withheld
                          amount:
                            currency: USD
                            value: 136.88
                        - id: HEnJXik92Qqph5SX4NtK6NRM
                          remote_id: 300000331094861:MEDICARE_EMPLOYEE_WITHHELD
                          name: Medicare Employee Withheld
                          amount:
                            currency: USD
                            value: 32.01
                        - id: Ho16emGY5zVYeEc2nN9CWeKv
                          remote_id: 300000331094861:SIT_WITHHELD_CA
                          name: SIT Withheld (CA)
                          amount:
                            currency: USD
                            value: 71.47
                        - id: 9D24qXFEp1pSQ2Y3jaRFSTBQ
                          remote_id: 300000331094861:VPDI_EMPLOYEE_WITHHELD_CA
                          name: VPDI Employee Withheld (CA)
                          amount:
                            currency: USD
                            value: 1.1
                required:
                  - id
                  - remote_id
                  - changed_at
                  - remote_deleted_at
                  - remote_data
                  - totals
                  - employee
                  - pay_run
                  - line_items
                examples:
                  - id: E4q8YceHEtPWeGwBAEcd9xPs
                    remote_id: '300000331094861'
                    changed_at: '2026-01-10T12:32:01.000Z'
                    remote_deleted_at: null
                    remote_data: null
                    totals:
                      gross_pay:
                        currency: USD
                        value: 2207.75
                      net_pay:
                        currency: USD
                        value: 1730.35
                      paid_amount:
                        currency: USD
                        value: 1730.35
                    employee:
                      id: 26vafvWSRmbhNcxJYqjCzuJg
                      remote_id: '32'
                      first_name: John
                      last_name: Doe
                      display_full_name: John Doe
                      work_email: john.doe@acme.com
                      remote_deleted_at: null
                    pay_run:
                      id: HdyE3KNfcbNzXFRqwW1Wh2eP
                      remote_id: '300000092871122'
                      start_date: '2026-01-01'
                      end_date: '2026-01-13'
                      legal_entity_id: 3Y6vdh2SPujGVx8oj4g8hdUu
                    line_items:
                      - id: 8TMenmF8QVyP1EqagstHhsPG
                        remote_id: 300000331094861:REGULAR_SALARY
                        name: Regular Salary
                        amount:
                          currency: USD
                          value: 2207.75
                      - id: CELfyfzuHs6Dz1MDPdoSCY3U
                        remote_id: 300000331094861:FIT_WITHHELD
                        name: FIT Withheld
                        amount:
                          currency: USD
                          value: 235.94
                      - id: H1gPqyuZTK3y75NRxe4QZ3u7
                        remote_id: 300000331094861:SOCIAL_SECURITY_EMPLOYEE_WITHHELD
                        name: Social Security Employee Withheld
                        amount:
                          currency: USD
                          value: 136.88
                      - id: HEnJXik92Qqph5SX4NtK6NRM
                        remote_id: 300000331094861:MEDICARE_EMPLOYEE_WITHHELD
                        name: Medicare Employee Withheld
                        amount:
                          currency: USD
                          value: 32.01
                      - id: Ho16emGY5zVYeEc2nN9CWeKv
                        remote_id: 300000331094861:SIT_WITHHELD_CA
                        name: SIT Withheld (CA)
                        amount:
                          currency: USD
                          value: 71.47
                      - id: 9D24qXFEp1pSQ2Y3jaRFSTBQ
                        remote_id: 300000331094861:VPDI_EMPLOYEE_WITHHELD_CA
                        name: VPDI Employee Withheld (CA)
                        amount:
                          currency: USD
                          value: 1.1
          required:
            - next
            - results
          examples:
            - next: >-
                eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=
              results:
                - id: E4q8YceHEtPWeGwBAEcd9xPs
                  remote_id: '300000331094861'
                  changed_at: '2026-01-10T12:32:01.000Z'
                  remote_deleted_at: null
                  remote_data: null
                  totals:
                    gross_pay:
                      currency: USD
                      value: 2207.75
                    net_pay:
                      currency: USD
                      value: 1730.35
                    paid_amount:
                      currency: USD
                      value: 1730.35
                  employee:
                    id: 26vafvWSRmbhNcxJYqjCzuJg
                    remote_id: '32'
                    first_name: John
                    last_name: Doe
                    display_full_name: John Doe
                    work_email: john.doe@acme.com
                    remote_deleted_at: null
                  pay_run:
                    id: HdyE3KNfcbNzXFRqwW1Wh2eP
                    remote_id: '300000092871122'
                    start_date: '2026-01-01'
                    end_date: '2026-01-13'
                    legal_entity_id: 3Y6vdh2SPujGVx8oj4g8hdUu
                  line_items:
                    - id: 8TMenmF8QVyP1EqagstHhsPG
                      remote_id: 300000331094861:REGULAR_SALARY
                      name: Regular Salary
                      amount:
                        currency: USD
                        value: 2207.75
                    - id: CELfyfzuHs6Dz1MDPdoSCY3U
                      remote_id: 300000331094861:FIT_WITHHELD
                      name: FIT Withheld
                      amount:
                        currency: USD
                        value: 235.94
                    - id: H1gPqyuZTK3y75NRxe4QZ3u7
                      remote_id: 300000331094861:SOCIAL_SECURITY_EMPLOYEE_WITHHELD
                      name: Social Security Employee Withheld
                      amount:
                        currency: USD
                        value: 136.88
                    - id: HEnJXik92Qqph5SX4NtK6NRM
                      remote_id: 300000331094861:MEDICARE_EMPLOYEE_WITHHELD
                      name: Medicare Employee Withheld
                      amount:
                        currency: USD
                        value: 32.01
                    - id: Ho16emGY5zVYeEc2nN9CWeKv
                      remote_id: 300000331094861:SIT_WITHHELD_CA
                      name: SIT Withheld (CA)
                      amount:
                        currency: USD
                        value: 71.47
                    - id: 9D24qXFEp1pSQ2Y3jaRFSTBQ
                      remote_id: 300000331094861:VPDI_EMPLOYEE_WITHHELD_CA
                      name: VPDI Employee Withheld (CA)
                      amount:
                        currency: USD
                        value: 1.1
      required:
        - status
        - data
  responses:
    ErrorResponseHRIS:
      description: The standard error response with the error codes for the HRIS use case.
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                  - error
              error:
                type: object
                properties:
                  code:
                    type:
                      - string
                      - 'null'
                    enum:
                      - PLATFORM.RATE_LIMIT_EXCEEDED
                      - PLATFORM.CONCURRENCY_LIMIT_EXCEEDED
                      - PLATFORM.INTEGRATION_NOT_FOUND
                      - PLATFORM.INPUT_INVALID
                      - PLATFORM.UNKNOWN_ERROR
                      - PLATFORM.IP_NOT_WHITELISTED
                      - PLATFORM.AUTHENTICATION_INVALID
                      - PLATFORM.TASK_TIMED_OUT
                      - INTEGRATION.PERMISSION_MISSING
                      - INTEGRATION.AUTHENTICATION_INVALID
                      - INTEGRATION.QA_FAILED
                      - INTEGRATION.SETUP_SYNC_PENDING
                      - INTEGRATION.SETUP_INCOMPLETE
                      - INTEGRATION.INACTIVE
                      - INTEGRATION.MODEL_NOT_AVAILABLE
                      - INTEGRATION.MODEL_DISABLED
                      - INTEGRATION.ACTION_NOT_AVAILABLE
                      - INTEGRATION.ACTION_DISABLED
                      - REMOTE.SERVICE_UNAVAILABLE
                      - REMOTE.RATE_LIMIT_EXCEEDED
                      - REMOTE.INPUT_INVALID
                      - REMOTE.UNKNOWN_HTTP_ERROR
                      - HRIS.STAFFING_ENTITY_CLOSED
                      - HRIS.EMPLOYEE_ALREADY_EXISTS
                    example: HRIS.EMPLOYEE_ALREADY_EXISTS
                    description: >-
                      Some errors include an error code that can be used to
                      identify their cause. See the [Error Handling
                      Docs](https://docs.kombo.dev/guides/errors) for more
                      information. For your error handling logic please use the
                      error `code` instead of other properties (e.g. message,
                      http status code, ...).
                  title:
                    type:
                      - string
                      - 'null'
                    description: A static, human-readable label.
                  message:
                    type: string
                    description: >-
                      A dynamic, detailed description of what went wrong in this
                      specific instance.
                  log_url:
                    type:
                      - string
                      - 'null'
                    format: uri
                    description: >-
                      The log page in the Kombo UI lists every interaction with
                      full details. If you need assistance, share that link with
                      our support team.
                required:
                  - code
                  - title
                  - message
                  - log_url
                description: Error details with structured code for programmatic handling.
            required:
              - status
              - error
          examples:
            Error Response:
              description: >-
                When building error handling logic, always use the `code` field
                to identify specific error types programmatically. See the
                complete list of error codes in the
                [docs](https://docs.kombo.dev/guides/errors).
              value:
                status: error
                error:
                  code: INTEGRATION.MODEL_NOT_AVAILABLE
                  title: >-
                    This data model isn't supported for the selected
                    integration.
                  message: >-
                    The "employees" model is not yet available for Greenhouse.
                    Please reach out to Kombo if you need this functionality.
                  log_url: https://app.kombo.dev/my-prod/logs?interactionId=123456
            Minimal Error Response:
              description: >-
                The "message" is always required while other fields can also be
                `null`. See the [docs](https://docs.kombo.dev/guides/errors) for
                more information.
              value:
                status: error
                error:
                  code: null
                  title: null
                  message: The message is always in the response.
                  log_url: null
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      description: >-
        Create an API key on the [Secrets](https://app.kombo.dev/secrets) page
        in the Kombo dashboard.

````