Bulk Create Pay Items

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 the urn:ietf:params:oauth:grant-type:jwt-bearer grant 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 typeCategoryRead only ScopeWrite only Scope (read access implicit)
Company-scoped access tokenManage 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 tokenManage payroll runs (payroll)-Manage pay items (pay_item:write)
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Pay Items

pay_items
array of objects
required
length between 1 and 500
pay_items*
Responses

Callback
Language
Credentials
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json