Get the next pay run at a glance
The “Next pay run” card on the Payroll screen. A projection from current people and deductions when the
run is not prepared yet, or the prepared run’s figures when it is (run_id set). short_by is present
when the source account’s available balance cannot cover net pay.
Error codes: invalid_api_key, parameter_invalid, scope_missing, 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.
128Response
The upcoming run.
The next pay run card.
Always upcoming_pay_run.
"upcoming_pay_run"Pay month.
^\d{4}-\d{2}$Run name.
Calendar date, interpreted in Africa/Lagos.
"2026-11-07"
RFC 3339, UTC.
"2026-10-27T08:41:00Z"
People to be paid.
An amount in minor units (kobo, cents) with its currency. Never a decimal.
One of the business's own PanoFlow accounts (owned by the Accounts service).
The source account's balances.available (AccountBalances) when this summary was read.
run_… once prepared.
CONVENTIONS §8 lifecycle: draft → pending_approval (second approver) → scheduled (waits for pay day)
→ processing → completed | failed; rejected by the second approver; canceled from draft,
pending_approval or scheduled. UI: completed → "Paid". Pay runs are never reversed.
draft, pending_approval, scheduled, processing, completed, failed, rejected, canceled, reversed Present when the balance cannot cover net pay ("Top up ₦… before 26 Nov, 4pm").