v1
latestOpenAPI 3.1.02026-07-242735131.1 MBPay Items
Bulk Create Pay Items
Bulk creates pay items for employments. Supports up to 500 items per request. Integration-specific fields (shift code, currency, pay amount, etc.) go in the provider_data object. Only Global Payroll employments are supported. Non-GP employments are returned as employment_not_global_payroll.
Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage payroll runs (payroll) | - | Manage pay items (pay_item:write) |
post/v1/pay-items/bulk
Request body
Example request
{
"pay_items": [
{
"amount": 7200,
"code": "overtime",
"effective_date": "2026-03-11",
"employment_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"provider_data": {
"adjustment_effective_date": "2026-03-15",
"hourly_rate": 2550,
"hourly_rate_currency_code": "SGD",
"is_deduction": false,
"pay_rate": 1.5,
"payout_amount": 1500000,
"payout_currency_code": "SGD",
"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",
"provider_data": {
"adjustment_effective_date": "2026-03-15",
"hourly_rate": 2550,
"hourly_rate_currency_code": "SGD",
"is_deduction": false,
"pay_rate": 1.5,
"payout_amount": 1500000,
"payout_currency_code": "SGD",
"shift_code": "DAY",
"work_day_duration": 28800
}
},
"row_number": 0
}
]
}
}