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

# List Employee Data

> Returns a list of employee data for a payroll connection

export const PaginationInfo = ({defaultSortField, sortFields = [], maxLimit = 100, defaultLimit = 20}) => {
  return <>
      <div class="border-b pb-2.5 border-gray-100 dark:border-gray-800 w-full">
      <h4>Pagination & Sorting</h4>
      </div>

      {(maxLimit || defaultLimit) && <ResponseField name="Limit">
        <ul>
          {defaultLimit && <li>Default: {defaultLimit}</li>}
          {maxLimit && <li>Maximum: {maxLimit}</li>}
        </ul>
      </ResponseField>}

      <ResponseField name="Sort Fields">
        <ul>
            {sortFields.map(field => {
    if (field == defaultSortField || sortFields.length == 1) {
      return <li key={field}> <code>{field} (Default)</code> </li>;
    } else {
      return <li key={field}> <code>{field}</code> </li>;
    }
  })}
        </ul>
      </ResponseField>
    </>;
};

export const FilteringInfo = ({fields = []}) => {
  const operatorsByType = {
    'string': ['eq', 'ne', 'contains', 'not_contains', 'in', 'not_in'],
    'text': ['eq', 'ne', 'contains', 'not_contains', 'in', 'not_in'],
    'number': ['eq', 'ne', 'gt', 'gte', 'lt', 'lte', 'in', 'not_in'],
    'numeric': ['eq', 'ne', 'gt', 'gte', 'lt', 'lte', 'in', 'not_in'],
    'integer': ['eq', 'ne', 'gt', 'gte', 'lt', 'lte', 'in', 'not_in'],
    'date': ['eq', 'ne', 'gt', 'gte', 'lt', 'lte', 'in', 'not_in'],
    'datetime': ['eq', 'ne', 'gt', 'gte', 'lt', 'lte', 'in', 'not_in'],
    'boolean': ['eq', 'ne'],
    'uuid': ['eq', 'ne', 'in', 'not_in']
  };
  const getOperators = field => {
    const baseType = field.type.toLowerCase().replace('?', '');
    const isNullable = field.type.includes('?') || field.nullable;
    const baseOperators = field.operators || operatorsByType[baseType] || ['eq', 'ne'];
    return isNullable ? [...baseOperators, 'empty', 'not_empty'] : baseOperators;
  };
  return <>
<div class="border-b pb-2.5 border-gray-100 dark:border-gray-800 w-full">
<h4>Filtering</h4>
</div>

      <ResponseField name="Filterable Fields">
        <ul>
            {fields.map(field => {
    const operators = getOperators(field);
    return <li key={field.name}>
                      <code>{field.name}</code>: {operators.map(op => <code key={op}>{op}</code>).reduce((prev, curr) => [prev, ', ', curr])}
                    </li>;
  })}
        </ul>
      </ResponseField>
    </>;
};

The `employeeSummary` field will be `null` when an employee has multiple profiles. In that case, query the individual profiles using the `employeeProfiles` array to retrieve the full employee data for each profile.

<FilteringInfo fields={[{ name: "updatedAt", type: "datetime" }]} />

<PaginationInfo sortFields={["lastName"]} />


## OpenAPI

````yaml GET /v1/payroll-connections/{payroll_connection}/employee-data
openapi: 3.1.0
info:
  title: Payroll Integrations Public API
  description: Public API for Payroll Integrations platform
  version: '2025-10-28T20:05:03Z'
  license:
    name: MIT
servers:
  - url: https://api.payrollintegrationsapp.com
    description: Prod environment
  - url: https://demo1-api.payrollintegrationsdemo.com
    description: Demo environment
  - url: https://demo2-api.payrollintegrationsdemo.com
    description: Demo environment
  - url: https://demo3-api.payrollintegrationsdemo.com
    description: Demo environment
security:
  - bearerAuth: []
paths:
  /v1/payroll-connections/{payroll_connection}/employee-data:
    get:
      tags:
        - Payroll Connections
      summary: List employee data
      description: Returns a list of employee data for a payroll connection
      operationId: listEmployeeData
      parameters:
        - name: payroll_connection
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: List of employee data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListEmployeeDataResponse'
              example:
                data:
                  - id: 11111111-1111-1111-1111-111111111111
                    employeeProfiles:
                      - employeeProfileId: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
                    employeeSummary:
                      addresses:
                        - address1: 123 Main St
                          address2: Apt 4B
                          city: San Francisco
                          countryCode: US
                          state: CA
                          zip: '94102'
                      adjustedServiceDate: null
                      contact:
                        emailPersonal: null
                        emailWork: john.doe@example.com
                        phoneNumberPersonal: null
                        phoneNumberPersonalHome: null
                        phoneNumberPersonalMobile: '+11235550123'
                        phoneNumberWork: null
                        phoneNumberWorkHome: null
                        phoneNumberWorkMobile: null
                      dateOfBirth: '1985-06-15'
                      employmentStatus: A
                      employmentType: F
                      firstName: John
                      hireDate: '2020-03-15'
                      isContractor: false
                      lastName: Doe
                      leaveEndDate: null
                      leaveStartDate: null
                      maritalStatus: M
                      middleName: Robert
                      payFrequency: BI_WEEKLY
                      payRates:
                        - amount: '75000.00'
                          default: true
                          type: ANNUAL
                      payrollConnectionId: 880e8400-e29b-41d4-a716-446655440003
                      payrollPlatformDisplayIdentifier: EMP-12345
                      payrollPlatformEmployeeIdentifier: PPL-98765
                      payType: S
                      rehireDate: null
                      seniorityDate: '2020-03-15'
                      sex: M
                      ssn: 123-45-6789
                      terminationDate: null
                    updatedAt: '2024-03-15T14:30:00Z'
                  - id: 22222222-2222-2222-2222-222222222222
                    employeeProfiles:
                      - id: bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
                      - id: cccccccc-cccc-cccc-cccc-cccccccccccc
                    employeeSummary: null
                    updatedAt: '2024-03-15T14:30:00Z'
                meta:
                  limit: 20
                  offset: 0
                  sort: lastName
                  currentCount: 2
                  totalCount: 2
                  filters: {}
        '401':
          description: Unauthorized - Invalid or missing authentication credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found - Payroll connection does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ListEmployeeDataResponse:
      type: object
      required:
        - data
        - meta
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/GetEmployeeDataResponse'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
    Error:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          description: Error message describing what went wrong
        errors:
          type: array
          description: Optional array of detailed error messages
          items:
            type: string
    GetEmployeeDataResponse:
      type: object
      required:
        - id
        - updatedAt
        - employeeProfiles
      properties:
        id:
          type: string
          format: uuid
          description: Payroll Integrations employee specific uuid
        employeeProfiles:
          type: array
          items:
            type: object
            required:
              - id
            properties:
              id:
                type: string
                format: uuid
                description: Payroll Integrations employee profile specific uuid
        employeeSummary:
          description: >-
            Summary of the employee's data. Populated when there is a single
            profile, null when there are multiple profiles.
          oneOf:
            - $ref: '#/components/schemas/GetEmployeeDataProfileResponse'
            - type: 'null'
        updatedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the employee data was updated
    PaginationMeta:
      type: object
      required:
        - offset
        - limit
        - currentCount
        - totalCount
        - sort
        - filters
      properties:
        offset:
          type: integer
          minimum: 0
          description: Number of results to skip from the beginning
        limit:
          type: integer
          minimum: 1
          description: Maximum number of results per page
        currentCount:
          type: integer
          minimum: 0
          description: Number of results in current page
        totalCount:
          type: integer
          minimum: 0
          description: Total number of results
        sort:
          type: string
          pattern: ^(-?\w{1,100})(?:,(-?\w{1,100})){0,2}$
          description: >-
            Comma-separated list of fields to sort by. Prefix with - for
            descending order
        filters:
          type: object
          additionalProperties: true
          description: >-
            The filters applied to the request. Contains field names as keys
            with their filter values or operator-based filter objects as values
    GetEmployeeDataProfileResponse:
      type: object
      required:
        - id
        - payrollPlatformEmployeeIdentifier
        - payrollConnectionId
      properties:
        id:
          type: string
          format: uuid
          description: Payroll Integrations employee specific uuid
        addresses:
          type: array
          items:
            type: object
            properties:
              address1:
                type:
                  - string
                  - 'null'
              address2:
                type:
                  - string
                  - 'null'
              city:
                type:
                  - string
                  - 'null'
              countryCode:
                type:
                  - string
                  - 'null'
              state:
                type:
                  - string
                  - 'null'
              zip:
                type:
                  - string
                  - 'null'
        adjustedServiceDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            Adjusted date of when the employee's service began in case of
            transfers, leaves of absence, etc. in ISO format YYYY-MM-DD
        contact:
          type: object
          properties:
            emailPersonal:
              type:
                - string
                - 'null'
              format: email
            emailWork:
              type:
                - string
                - 'null'
              format: email
            phoneNumberPersonal:
              type:
                - string
                - 'null'
              description: Phone number will be in the e164 format
            phoneNumberPersonalHome:
              type:
                - string
                - 'null'
              description: Phone number will be in the e164 format
            phoneNumberPersonalMobile:
              type:
                - string
                - 'null'
              description: Phone number will be in the e164 format
            phoneNumberWork:
              type:
                - string
                - 'null'
              description: Phone number will be in the e164 format
            phoneNumberWorkHome:
              type:
                - string
                - 'null'
              description: Phone number will be in the e164 format
            phoneNumberWorkMobile:
              type:
                - string
                - 'null'
              description: Phone number will be in the e164 format
        dateOfBirth:
          type:
            - string
            - 'null'
          format: date
          description: Date of Birth in ISO format YYYY-MM-DD
        employeeDataId:
          type: string
          format: uuid
          description: Payroll Integrations employee data specific uuid
        employmentStatus:
          type:
            - string
            - 'null'
          enum:
            - A
            - T
            - C
            - D
            - R
            - L
          description: >-
            A=Active, T=Terminated, C=Deceased, D=Disabled, R=Retired, L=Leave
            of Absence
        employmentType:
          type:
            - string
            - 'null'
          enum:
            - F
            - P
            - T
            - I
            - S
            - C
          description: >-
            F=Full time, P=Part time, T=Temporary, I=Intern, S=Seasonal,
            C=Contractor
        firstName:
          type:
            - string
            - 'null'
        hireDate:
          type:
            - string
            - 'null'
          format: date
          description: Hire Date in ISO format YYYY-MM-DD
        isContractor:
          type:
            - boolean
            - 'null'
        lastName:
          type:
            - string
            - 'null'
        leaveEndDate:
          type:
            - string
            - 'null'
          format: date
          description: Leave End Date in ISO format YYYY-MM-DD
        leaveStartDate:
          type:
            - string
            - 'null'
          format: date
          description: Leave Start Date in ISO format YYYY-MM-DD
        maritalStatus:
          type:
            - string
            - 'null'
          enum:
            - D
            - M
            - S
            - W
            - H
            - P
          description: >-
            D=Divorced, M=Married, S=Single, W=Widowed, H=Head of House,
            P=Domestic Partner
        middleName:
          type:
            - string
            - 'null'
        payFrequency:
          type:
            - string
            - 'null'
          enum:
            - DAILY
            - WEEKLY
            - BI_WEEKLY
            - SEMI_MONTHLY
            - MONTHLY
            - QUARTERLY
            - YEARLY
            - UNSCHEDULED
          description: >-
            The frequency at which the employee is paid. Used to calculate pay
            period amount from annual salary amount or vice versa.
        payRates:
          type:
            - array
            - 'null'
          items:
            type: object
            properties:
              amount:
                type:
                  - string
                  - 'null'
              default:
                type:
                  - boolean
                  - 'null'
                description: Indicates if this is the default pay rate for the employee.
              type:
                type:
                  - string
                  - 'null'
                enum:
                  - PER_PAY_PERIOD
                  - ANNUAL
                  - HOURLY
                  - DAILY
                  - WEEKLY
                  - MONTHLY
                  - PIECEWORK
                  - SEMI_MONTHLY
                  - BI_WEEKLY
        payrollConnectionId:
          type: string
          format: uuid
        payrollPlatformDisplayIdentifier:
          type:
            - string
            - 'null'
          description: The payroll platform specific display employee identifier.
        payrollPlatformEmployeeIdentifier:
          type: string
          description: The payroll platform specific unique employee identifier.
        payType:
          type:
            - string
            - 'null'
          enum:
            - H
            - S
          description: >-
            Denotes whether the employee is salaried or paid an hourly wage.
            H=Hourly, S=Salaried
        rehireDate:
          type:
            - string
            - 'null'
          format: date
          description: Rehire Date in ISO format YYYY-MM-DD
        seniorityDate:
          type:
            - string
            - 'null'
          format: date
          description: Seniority Date in ISO format YYYY-MM-DD
        sex:
          type:
            - string
            - 'null'
          enum:
            - M
            - F
        ssn:
          type:
            - string
            - 'null'
          description: 'Social security number if provided in the format ###-##-####'
        terminationDate:
          type:
            - string
            - 'null'
          format: date
          description: Termination Date in ISO format YYYY-MM-DD

````