Pay Runs
Retrieve all pay runs for all legal entities, across all time.
A pay run represents one payroll cycle for a legal entity, covering a single pay period and grouping the payslips paid out through it. Use this endpoint to reconcile payroll periods and read the totals paid out across each run. Filter by legal_entity_ids to scope the results to specific legal entities.
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)
Query parameters
An optional cursor string used for pagination. This can be retrieved from the next property of the previous page response.
An optional cursor string used for pagination. This can be retrieved from the next property of the previous page response.
The number of results to return per page. Maximum is 250.
The number of results to return per page. Maximum is 250.
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.
For this endpoint, only changes to the returned record itself are considered.
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.
For this endpoint, only changes to the returned record itself are considered.
By default, deleted entries are not returned. Use the include_deleted query param to include deleted entries too.
By default, deleted entries are not returned. Use the include_deleted query param to include deleted entries too.
When set to true, filters targeting fields not supported by this integration will be ignored instead of filtering out all results.
When set to true, filters targeting fields not supported by this integration will be ignored instead of filtering out all results.
Filter by a comma-separated list of IDs such as 222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3.
Filter by a comma-separated list of IDs such as 222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3.
Filter by a comma-separated list of remote IDs.
Filter by a comma-separated list of remote IDs.
Filter by a comma-separated list of legal entity IDs.
Filter by a comma-separated list of legal entity IDs.
Headers
ID of the integration you want to interact with.
Response
GET /hris/pay-runs Positive response
Example response
{
"data": {
"next": "eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=",
"results": [
{
"id": "HdyE3KNfcbNzXFRqwW1Wh2eP",
"remote_id": "300000092871122",
"start_date": "2026-01-01",
"end_date": "2026-01-13",
"legal_entity_id": "3Y6vdh2SPujGVx8oj4g8hdUu",
"changed_at": "2026-01-10T12:32:01.000Z",
"remote_deleted_at": null,
"remote_data": null,
"totals": {
"gross_pay": {
"currency": "USD",
"value": 435300
},
"net_pay": {
"currency": "USD",
"value": 362300
},
"paid_amount": {
"currency": "USD",
"value": 306300.26
}
}
}
]
}
}Changes
Changed in 1 of the 14 revisions of this API.159
- ▲
the response property
data/results/items/end_datebecame nullable for the status200response-property-became-nullable
- ▲
the response property
data/results/items/start_datebecame nullable for the status200response-property-became-nullable
- ▲
the response property
data/results/items/totals/gross_paybecame optional for the status200response-property-became-optional
- ▲
the response property
data/results/items/totals/net_paybecame optional for the status200response-property-became-optional
- ▲
the response property
data/results/items/totals/paid_amountbecame optional for the status200response-property-became-optional
- ▲
the
data/results/items/legal_entity_idresponse property's maxLength was unset from24for the response status200response-property-max-length-unset
- ▲
the
data/results/items/legal_entity_idresponse property's minLength was decreased from24to0for the response status200response-property-min-length-decreased
- ▲
the
data/results/items/end_dateresponse's property type/format changed fromstring/date-timetostringnull/datefor status200response-property-type-changed
- ▲
the
data/results/items/start_dateresponse's property type/format changed fromstring/date-timetostringnull/datefor status200response-property-type-changed
- ▲
the
data/results/items/totals/gross_payresponse's property type/format changed fromnumbernull/doubletoobjectnull/for status200response-property-type-changed
- ▲
the
data/results/items/totals/net_payresponse's property type/format changed fromnumbernull/doubletoobjectnull/for status200response-property-type-changed
- ▲
the
data/results/items/totals/paid_amountresponse's property type/format changed fromnumbernull/doubletoobjectnull/for status200response-property-type-changed
- ▲
removed the required property
data/results/items/currencyfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
data/results/items/pay_datefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
data/results/items/statusfrom the response with the200statusresponse-required-property-removed
- ○
the
data/results/items/end_dateresponse's property pattern^\d{4}-\d{2}-\d{2}$was added for the status200response-property-pattern-added
- ○
the
data/results/items/start_dateresponse's property pattern^\d{4}-\d{2}-\d{2}$was added for the status200response-property-pattern-added
- ○
the
data/results/items/legal_entity_idresponse's property pattern^[1-9A-HJ-NP-Za-km-z]+$was removed for the status200response-property-pattern-removed
- ○
added the required property
data/results/items/totals/gross_pay/currencyto the response with the200statusresponse-required-property-added
- ○
added the required property
data/results/items/totals/gross_pay/valueto the response with the200statusresponse-required-property-added
- ○
added the required property
data/results/items/totals/net_pay/currencyto the response with the200statusresponse-required-property-added
- ○
added the required property
data/results/items/totals/net_pay/valueto the response with the200statusresponse-required-property-added
- ○
added the required property
data/results/items/totals/paid_amount/currencyto the response with the200statusresponse-required-property-added
- ○
added the required property
data/results/items/totals/paid_amount/valueto the response with the200statusresponse-required-property-added
This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲