Update a person (details, pay, bank account, leave)
“Edit pay”. pay_items, when sent, replaces the whole list. A new bank_account is confirmed by name
enquiry exactly as on create.
Changes to pay, bank account or leave apply to draft runs immediately (their lines are recomputed). If the
person is on a run that is pending_approval or scheduled, that run goes back to draft with
status_reason: changed_after_approval and its approval is canceled: it needs approving again.
409 invalid_state while a run that includes them is processing, or if they are offboarded.
Error codes: invalid_api_key, parameter_invalid, parameter_missing, resource_not_found, scope_missing, csrf_token_invalid, invalid_state, bank_unavailable, name_enquiry_failed, account_number_invalid, recipient_name_mismatch, amount_too_small, rate_limited.
Authorizations
Server API key, scoped. pk_test_ keys hit the sandbox tenant.
Headers
Optional client correlation id, up to 128 characters. It is not echoed: the response's X-Request-Id is always
our own req_… id. We log your value with the request as client_request_id, so support can find a request by
either id. A longer value is refused with 400 parameter_invalid.
128Path Parameters
Payroll person id (ppl_…).
^ppl_[0-9A-HJKMNP-TV-Z]{26}$Body
Full name.
1 - 120254Job title.
80Team.
60Only while starting.
"2026-11-07"
True for paid leave (still paid), false to return to active.
Where the person is paid. Confirmed by name enquiry.
Accept the bank's account name even if it differs from name.
Replaces all pay items.
1 - 20 elementsUp to 20 string keys (≤ 40 chars) with string values (≤ 500 chars). Returned on the resource and its events.
Response
The updated person.
A person on payroll (ppl_…).
ppl_…
Always payroll_person.
"payroll_person"RFC 3339, UTC.
"2026-10-27T08:41:00Z"
RFC 3339, UTC.
"2026-10-27T08:41:00Z"
Full name.
active is paid; on_leave is on paid leave and still paid ("On leave, paid"); starting has a start date
after today ("Starts 1 Nov"); offboarded is past their end date and never paid again.
active, on_leave, starting, offboarded Calendar date, interpreted in Africa/Lagos.
"2026-11-07"
The person's bank account. Only the last four digits are returned.
Monthly earnings.
What the next run would pay, with current deductions (before any one-off bonus).
Where payslips are sent.
254Job title.
Team.
Calendar date, interpreted in Africa/Lagos.
"2026-11-07"
RFC 3339, UTC.
"2026-10-27T08:41:00Z"
Up to 20 string keys (≤ 40 chars) with string values (≤ 500 chars). Returned on the resource and its events.