Skip to main content
PUT
/
pay_schedules
/
{pay_schedule}
Update a pay schedule
curl --request PUT \
  --url https://sandbox.nmbr.co/services/payroll/pay_schedules/{pay_schedule} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "Default Schedule",
  "pay_frequency": "monthly",
  "anchor_pay_date": "2026-01-31",
  "anchor_end_of_pay_period": "2026-01-31",
  "day_1": -1,
  "pay_day_movement_setting": "inherit",
  "send_empty_pay_stubs": true
}
'
{
  "id": "<id>",
  "object": "pay_schedule",
  "data": {
    "business_entity": {
      "id": "<id>",
      "object": "business_entity",
      "links": {
        "self": "/business_entities/<id>"
      }
    },
    "title": "Default Schedule",
    "pay_frequency": "monthly",
    "anchor_pay_date": "2026-01-31",
    "anchor_start_of_pay_period": "2026-01-01",
    "anchor_end_of_pay_period": "2026-01-31",
    "generate_payrolls_from": null,
    "day_1": -1,
    "day_2": null,
    "pay_day_movement_setting": "inherit",
    "send_empty_pay_stubs": true,
    "pay_stub_settings": {
      "show_vacation_pay_balance": false
    },
    "custom_pay_periods_per_year": null,
    "is_editable": true,
    "is_deletable": true,
    "external_ref": null,
    "created_at": "2026-01-01T00:00:00.000000Z",
    "updated_at": "2026-01-01T00:00:00.000000Z"
  },
  "links": {
    "self": "/pay_schedules/<id>"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

pay_schedule
string
required

Body

application/json
title
string
Maximum string length: 255
pay_frequency
enum<string>

The frequency at which Payrolls are processed. Use custom for non-standard schedules where the number of pay periods per year is specified manually.

Editing is prevented when is_editable is false

Available options:
bi-weekly,
custom,
monthly,
semi-monthly,
weekly
anchor_pay_date
string<date>

The pay date of the anchor pay period. Together with anchor_end_of_pay_period, this establishes the pattern from which all future pay dates are calculated.

Date must not be more than one year before the date the pay schedule is created.

Editing is prevented when is_editable is false

anchor_start_of_pay_period
string<date>

The start date of the anchor pay period. Only required for semi-monthly pay schedules when anchor_end_of_pay_period is not the 15th or the last day of the month. For standard configurations it is derived automatically and does not need to be supplied.

Required for semi-monthly pay schedules when anchor_end_of_pay_period is not the 15th or the last day of the month.

Editing is prevented when is_editable is false

anchor_end_of_pay_period
string<date>

The end date of the anchor pay period. Together with anchor_pay_date, this defines the length and pattern of all future pay periods.

Date must not be more than one year before the date the pay schedule is created.

Editing is prevented when is_editable is false

generate_payrolls_from
string<date>

Only available in preview mode. When set, Payrolls are generated starting from this date rather than the default, allowing historical Payrolls to be created before the current date.

Available in Preview mode, allows for the creation of Payrolls from an arbitrary date before the current date. Must be on or after anchor_pay_date.

Editing is prevented when is_editable is false

day_1
integer

For monthly pay schedules, the day of the month on which pay is issued. For semi-monthly pay schedules, the first of two pay days per month.

Day_1 is required for monthly and semi-monthly pay schedules. Otherwise, it must be null. On semi-monthly pay schedules, valid (day_1, day_2) pairs are (16, 1), (15, -1) or (15, 31).

Editing is prevented when is_editable is false

day_2
integer

For semi-monthly pay schedules, the second of two pay days per month.

day_2 is required for semi-monthly pay schedules. Otherwise, it must be null. On semi-monthly pay schedules, valid (day_1, day_2) pairs are (16, 1), (15, -1) or (15, 31).

Editing is prevented when is_editable is false

pay_day_movement_setting
enum<string>

The pay schedule-level setting for how pay dates are adjusted when they fall on a weekend or bank holiday. If set to inherit, the Business Entity's setting is used.

Editing is prevented when is_editable is false

Available options:
inherit,
next_business_day,
previous_business_day
send_empty_pay_stubs
boolean

Whether Pay Stubs are generated for employees with no earnings in a given pay period.

custom_pay_periods_per_year
integer

When pay_frequency is custom, the number of pay periods per year.

Required range: 1 <= x <= 366
pay_stub_settings
object

Settings that control Pay Stub display. The show_vacation_pay_balance field, when true, causes the employee's current Vacation Pay balance to appear on Pay Stubs.

external_ref
string
Maximum string length: 255

Response

200 - application/json

OK

id
string
read-only

The unique identifier of the object in Nmbr.

object
string
read-only

The type of the object in Nmbr ("pay_schedule").

data
Pay Schedule · object