Bulk 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.
An item whose partner_external_id the integration already holds on a live pay item of the company updates that pay item under the same rules as PATCH, and any other item creates a new pay item.
When that pay item belongs to another employment or pay code, the item fails with partner_external_id_held_by_other_pay_item instead.
When more than one live pay item holds the value, the item fails with partner_external_id_ambiguous, unless it already fails for its employment or its pay code, or because the value is held by a recurring pay item.
Within one request each partner_external_id may appear once, and null or an empty string fails the item.
An item without partner_external_id always creates a new pay item, so sending it again creates a duplicate.
See Your own IDs on Remote records.
Authentication
This endpoint accepts any one of the following token types:
- Company-scoped access token (
OAuth2AuthorizationCode) — obtained by a company manager through the Authorization Code flow or the Refresh Token flow. See Authentication for partners. - Company-scoped access token (assertion) (
OAuth2CompanyManagerAssertion) — obtained through theurn:ietf:params:oauth:grant-type:jwt-bearergrant for a company manager. See OAuth Assertion. - Customer API token (
CustomerAPIToken) — generated by the customer on their Integration Settings page, with the scopes they choose there. See Authorization for customers.
Scopes
Any one of the scopes in a token type's row is enough. all:write works too.
| Token type | Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|---|
| Company-scoped access token | Manage payroll runs (payroll) | - | Manage pay items (pay_item:write) |
| Company-scoped access token (assertion) | Manage payroll runs (payroll) | - | Manage pay items (pay_item:write) |
| Customer API token | Manage payroll runs (payroll) | - | Manage pay items (pay_item:write) |
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||