period (required) that you can see, one row each,
with their amount, status, awaited approvers and lines.
No argument selects the statement’s user by id: target a person with search
(name or email), a team with manager_id. A row’s id, not its
user.id, is the statement_id that
get_statement,
get_statement_compensation
and
list_statement_records
take. A statement with no line is never listed.
A quarter or a year returns one row per user and month, ordered by user then
month: period='2026' with search set to an email gives that user’s
monthly totals in one call, with no loop over the months.
To find what an approval holds up (who to chase before payroll), filter on
approver_id for one approver’s queue, or
payment_status='awaiting_approval' for every statement a mandatory stage
blocks, rather than reading each statement with
get_statement.
To total or compare across users or periods, pass currency_mode='company'
so every amount lands in one currency, and never sum amounts in different
currencies. The default (payment) leaves each amount in the user’s own pay
currency, which is not comparable across a multi-currency team. Each row’s
conversion block gives the currency its amounts are stored in and the rate
applied
(list_exchange_rates holds
the rates). A statement with no rate for the requested currency refuses the
call.
Each row’s compensations lists its lines without amounts: pass the row’s
id and a line’s compensation_id straight to
get_statement_compensation,
with no get_statement call in between.
Each row exposes a resource_url that opens that single statement. The result
also carries a list-level application_url that reopens the statements board
on the queried period, a quarter or a year opening on its last month as the
board shows them.
Parameters
Body
Body
string
required
Required. A month (YYYY-MM), a quarter (YYYY-QX) or a year (YYYY); quarters
and years follow the company’s fiscal calendar, as get_identity reports it.
A quarter or a year lists every month it spans.
string
Name or email of the statement’s user, the only way to target a person:
every word must appear in either, in any order, case and accents ignored.
string
ongoing: open, not locked. locked: amounts locked, not paid. paid: sent to
payroll. error: a calculation error, which shadows the others, so an errored
statement is only found here. One of:
error, ongoing, locked, paid.string
Keep only statements with this
payment_status, as each row reports it.
Finer than status for the locked ones: awaiting_approval is a statement
held by a mandatory approval, awaiting_payroll one ready to pay. One of:
blocked_by_error, awaiting_lock, awaiting_approval,
awaiting_payroll, paid.string
Keep only the locked, unpaid statements on which a validation-workflow stage
awaits this approver now: a user id from list_users or an exact email. A
stage still waiting behind an earlier mandatory one does not count yet.
Refused when the company’s validation workflow is off.
boolean
true: only statements whose
overwritten is true. false does not filter: it
reads like omitting it.boolean
true: only statements with at least one linked request you can access. false
does not filter: it reads like omitting it.
string
Keep only statements with a line from a live compensation of this plan: an
id from list_plans, read in the same environment as
sandbox_id.string
A statement view id from get_identity, to narrow the rows to that view’s
users. Never widens what you can see.
string
Id from list_users, or exact email, of a manager: keeps everyone below them
at every level, not the manager. As the team stood in each statement’s
month; never widens what you can see.
string
Currency each total_amount and balance is converted into and labelled with:
‘payment’ (default) the currency the user is paid in, ‘calculation’ the
currency the plan computes in, ‘company’ the company’s currency. One of:
company, payment, calculation.string
Id of a sandbox from list_sandboxes, to read it instead of the live
environment. Omit it for live, the company’s real data, unless the question
is explicitly about a sandbox. Never a name, never the live id.
integer
Rows per page, 1 to 50. Default 25. A larger value is refused.
integer
Rows to skip. Omit it for the first page, never null or the string ‘None’;
for the next page pass the previous next_offset.