---
updatedAt: 2026-06-08T15:30:39.000Z
agentTools:
  siteIndex: https://developer.paylocity.com/llms.txt
  projectIndex: https://developer.paylocity.com/integrations/llms.txt
---

# Get Employee Earnings [Batch]

**Summary Description**

This function will allow the API user to GET a list of all active earnings associated with the employee record.

# OpenAPI definition

```json
{
  "openapi": "3.0.4",
  "info": {
    "title": "Pay Setup API",
    "version": "v1"
  },
  "servers": [
    {
      "url": "dc1demogwext.paylocity.com"
    }
  ],
  "paths": {
    "/apiHub/payroll/v1/companies/{companyId}/employees/{employeeId}/earnings": {
      "get": {
        "tags": [
          "Recurring Earnings"
        ],
        "summary": "Get Employee Earnings [Batch]",
        "description": "**Summary Description**\n\nThis function will allow the API user to GET a list of all active earnings associated with the employee record.",
        "x-explorer-enabled": false,
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "The Paylocity Company Identifier. This is the unique value provided by Paylocity to each specific Payroll Entity.\r\n                **Allowable Values:**\r\n                9 char max",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "A12345"
          },
          {
            "name": "employeeId",
            "in": "path",
            "description": "A filter to use to limit results to a specific employee.\r\n                **Allowable Values:**\r\n                255 char max",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "testMode",
            "in": "header",
            "description": "If true all responses are mocked and generated randomly",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "The API Filter, by defining specific conditions, enables developers to fine-tune data from API calls for more precise results, enhancing application efficiency and user-friendliness. For more information review the Filtering page",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of results per page.\r\n                **Default Value:** 250\r\n                **Maximum Value:** 250",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            },
            "example": 5
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Pagination offset",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GetEarningDto"
                  }
                },
                "examples": {
                  "Multiple Active Earnings": {
                    "value": [
                      {
                        "id": "1fa85f64-5717-4562-b3fc-2c963f66afa6",
                        "companyId": "A12345",
                        "employeeId": "EMP12345",
                        "code": "OT",
                        "frequency": "PerPayPeriod",
                        "selfInsured": false,
                        "recordType": "Current",
                        "rate": 45,
                        "calculationCode": "HOURLY",
                        "units": 10,
                        "rateCode": "OT1.5",
                        "effectiveDate": "2024-01-01T00:00:00",
                        "beginCheckDate": "2024-01-15T00:00:00",
                        "endCheckDate": "2024-12-31T00:00:00"
                      },
                      {
                        "id": "2fb85f64-5717-4562-b3fc-2c963f66afa7",
                        "companyId": "A12345",
                        "employeeId": "EMP12345",
                        "code": "BONUS",
                        "frequency": "OneTime",
                        "selfInsured": false,
                        "recordType": "Current",
                        "amount": 5000,
                        "calculationCode": "FLAT",
                        "effectiveDate": "2024-03-01T00:00:00",
                        "beginCheckDate": "2024-03-15T00:00:00"
                      },
                      {
                        "id": "3fc85f64-5717-4562-b3fc-2c963f66afa8",
                        "companyId": "A12345",
                        "employeeId": "EMP12345",
                        "code": "COMM",
                        "frequency": "Monthly",
                        "selfInsured": false,
                        "recordType": "Current",
                        "amount": 2500,
                        "calculationCode": "FLAT",
                        "agency": "SALES01",
                        "miscellaneousInfo": "Q2 Commission",
                        "effectiveDate": "2024-04-01T00:00:00",
                        "beginCheckDate": "2024-04-15T00:00:00"
                      }
                    ]
                  },
                  "Single Earning": {
                    "value": [
                      {
                        "id": "1fa85f64-5717-4562-b3fc-2c963f66afa6",
                        "companyId": "A12345",
                        "employeeId": "EMP12345",
                        "code": "OT",
                        "frequency": "PerPayPeriod",
                        "selfInsured": false,
                        "recordType": "Current",
                        "rate": 45,
                        "calculationCode": "HOURLY",
                        "units": 10,
                        "rateCode": "OT1.5",
                        "effectiveDate": "2024-01-01T00:00:00",
                        "beginCheckDate": "2024-01-15T00:00:00",
                        "endCheckDate": "2024-12-31T00:00:00"
                      }
                    ]
                  },
                  "Empty Result": {
                    "value": []
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "CostCenterDto": {
        "type": "object",
        "properties": {
          "level": {
            "type": "integer",
            "description": "Cost center level (Levels are 1-3)",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "Cost Center Code associated with the Level. This must match a Paylocity Cost Center Code",
            "nullable": true
          }
        },
        "additionalProperties": {
          "type": "object",
          "nullable": true
        },
        "description": "Cost Centers are organizational units within a company. Typically clients will break out their employees using cost centers like divisions, location and department."
      },
      "GetLimitsDto": {
        "type": "object",
        "properties": {
          "paidYearToDate": {
            "type": "number",
            "description": "Amount Paid Year to Date",
            "format": "double",
            "nullable": true
          },
          "goal": {
            "type": "number",
            "description": "The Goal is the deduction/earning limit. When deductions/earnings have met the limit, the employee pay deductions/earnings will stop.\r\nFor payroll, this amount is the lifetime deduction/earning limit.\r\nFor benefits, this limit amount could be annual.",
            "format": "double",
            "nullable": true
          },
          "paidToDate": {
            "type": "number",
            "description": "Paid to Date tracks the amount paid toward the Goal. The Paid to Date amount will never be more than the Goal amount",
            "format": "double",
            "nullable": true
          },
          "payPeriodMinimum": {
            "type": "number",
            "description": "Minimum for the pay period",
            "format": "double",
            "nullable": true
          },
          "payPeriodMaximum": {
            "type": "number",
            "description": "Maximum for the pay period",
            "format": "double",
            "nullable": true
          },
          "annualMaximum": {
            "type": "number",
            "description": "Entering an amount in the Annual Maximum field will override the system setting, and you'll need to manually manage the maximum each year.\r\nLeave this field blank to keep the system setting.",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": {
          "type": "object",
          "nullable": true
        },
        "description": "Limits are used to control the amount of an earning or deduction"
      },
      "DistributionDto": {
        "type": "object",
        "properties": {
          "jobCode": {
            "type": "string",
            "description": "Job Code Allocation",
            "nullable": true
          },
          "costCenters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CostCenterDto"
            },
            "description": "An array of objects representing the Cost Centers",
            "nullable": true
          }
        },
        "additionalProperties": {
          "type": "object",
          "nullable": true
        },
        "description": "Labor Distribution is the term for the system categorizing (distributing) payroll data among Cost Centers and Job Codes"
      },
      "GetEarningDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Resource ID of the record",
            "format": "uuid"
          },
          "companyId": {
            "type": "string",
            "description": "The Paylocity Company Identifier. This is the unique value provided by Paylocity to each specific Payroll Entity",
            "nullable": true
          },
          "employeeId": {
            "type": "string",
            "description": "The Paylocity Employee ID. This is a unique value per Paylocity Company ID",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "Earning Code",
            "nullable": true
          },
          "frequency": {
            "type": "string",
            "description": "Frequency determines how often the earning amount is applied in payroll",
            "nullable": true
          },
          "selfInsured": {
            "type": "boolean",
            "description": "Self Insured Flag",
            "nullable": true
          },
          "recordType": {
            "enum": [
              "Current",
              "Future",
              "Historical",
              "Unknown"
            ],
            "type": "string",
            "description": "The recordType field in our API plays a vital role in defining the current state of the record under consideration. This attribute can hold three different values, each describing a distinct temporal stage of the record.\r\n1. **Historical**: If the recordType is set as 'Historical', it signifies that the record in question pertains to past data or events. This attribute is typically used for records that have been archived or are no longer active.\r\n2. **Current**: A 'Current' recordType indicates that the record is active and relevant to the present time. These records are currently in use and contain up-to-date information.\r\n3. **Future dated**: The 'Future dated' recordType is used for records that are scheduled for a future date. They represent planned or expected data or events.\r\nBy using the recordType field, users can accurately categorize their records based on their temporal status, making it easier to sort, manage, and analyze data effectively.",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Amount of Earning",
            "format": "double",
            "nullable": true
          },
          "rate": {
            "type": "number",
            "description": "Earning Code Rate",
            "format": "double",
            "nullable": true
          },
          "calculationCode": {
            "type": "string",
            "description": "Earning Calculation Code",
            "nullable": true
          },
          "units": {
            "type": "number",
            "description": "Hours or Units Worked",
            "format": "double",
            "nullable": true
          },
          "rateCode": {
            "type": "string",
            "description": "Rate Code",
            "nullable": true
          },
          "agency": {
            "type": "string",
            "description": "Agency Code",
            "nullable": true
          },
          "miscellaneousInfo": {
            "type": "string",
            "description": "Miscellaneous Info",
            "nullable": true
          },
          "effectiveDate": {
            "type": "string",
            "description": "Effective Date of Earning",
            "format": "date-time",
            "nullable": true
          },
          "beginCheckDate": {
            "type": "string",
            "description": "Begin Check Date of Earning",
            "format": "date-time",
            "nullable": true
          },
          "endCheckDate": {
            "type": "string",
            "description": "The date you select will become the last date that this earning appears on the employee's paycheck",
            "format": "date-time",
            "nullable": true
          },
          "distribution": {
            "$ref": "#/components/schemas/DistributionDto"
          },
          "limits": {
            "$ref": "#/components/schemas/GetLimitsDto"
          }
        },
        "additionalProperties": {
          "type": "object",
          "nullable": true
        },
        "description": "A Payroll Earning Code is a specific classification used in payroll systems to categorize the different types of income an employee receives.\r\nThese codes denote various earnings such as regular hours worked, overtime, bonuses, commissions, or holiday pay, among others.\r\nThe purpose of these codes is to streamline the payroll process, making it easier to track, manage, and report different types of income.\r\nThey are essential for accurate payroll calculations and compliance with tax and labor laws."
      }
    }
  }
}
```