List pay runs
Newest period first. List items omit lines.
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.
128Query Parameters
Page size, 1–100.
1 <= x <= 100Cursor from the previous page's next_cursor. Returns older items. Don't send with before.
Cursor for the reverse direction: returns the items newer than this one. The page is still sorted newest first;
has_more and next_cursor then continue in the same (newer) direction, so pass next_cursor as before to
keep paging towards the newest items. Don't send with after.
Comma-separated statuses.
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 Periods from this month (YYYY-MM).
^\d{4}-\d{2}$Periods up to this month (YYYY-MM).
^\d{4}-\d{2}$Response
A page of runs.
Cursor page. Domain files compose this with allOf and set data.items.
"list"Items, newest first.
True when another page exists.
Cursor for the next page in the same direction: pass it as after if this page was read with after (or no cursor), as before if it was read with before. Null when has_more is false.
Only when include=total_count was sent.