Bulk Create Pay Items
Changed onBulk creates pay items for employments. Supports up to 500 items per request. Each item must supply exactly one of code or external_import_code to identify the pay element. Integration-specific fields (shift code, currency, pay amount, etc.) go in the provider_data object. Pay codes that use a pay item custom configuration, such as a company car, describe it under custom_configuration in GET /v1/companies/:company_id/legal-entities/:legal_entity_id/pay-codes. Send its values in the pay item's custom_configuration, with the same key. Only Global Payroll employments are supported. Non-GP employments are returned as employment_not_global_payroll.
Authentication
This endpoint accepts any one of the following token types:
- Company-scoped access token (OAuth2AuthorizationCode) — obtained through the Authorization Code flow or the Refresh Token flow. See Authentication for partners.
- Customer API token (CustomerAPIToken) — generated by the customer on their Integration Settings page. See Authorization for customers.
Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage payroll runs (payroll) | - | Manage pay items (pay_item:write) |
Request
- Base URL: https://gateway.remote.com
- URL: https://gateway.remote.com/v1/pay-items/bulk
- Auth: HTTP bearer and OAuth 2 (authorization code, authorization URL /auth/oauth2/authorize, token URL /auth/oauth2/token, scopes: https://gateway.remote.com/company.manage, pay_item:write, payroll, all:write)
Request body
Example request
{
"pay_items": [
{
"amount": 7200,
"code": "overtime",
"effective_date": "2026-03-11",
"employment_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"provider_data": {
"correction_effective_date": "2026-03-15",
"hourly_rate": 2550,
"hourly_rate_currency_code": "SGD",
"pay_rate": 1.5,
"shift_code": "DAY",
"work_day_duration": 28800
}
}
]
}Response
Success
Example response
{
"data": {
"failures": [
{
"error": "not_found",
"row_number": 0
}
],
"successes": [
{
"pay_item": {
"amount": 7200,
"code": "overtime",
"effective_date": "2026-03-11",
"employment_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"end_date": null,
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"provider_data": {
"correction_effective_date": "2026-03-15",
"hourly_rate": 2550,
"hourly_rate_currency_code": "SGD",
"pay_rate": 1.5,
"shift_code": "DAY",
"work_day_duration": 28800
},
"replaced_ids": []
},
"row_number": 0
}
]
}
}Changes
- info
added the new optional request property
// - info
added the optional property
/////to the response with the status - info
added the optional property
////to the response with the status
- info
- breaking
added
subschema #3to the///response propertyoneOflist for the response status - info
removed from the
///response propertyoneOflist for the response status
- breaking