PayDesk
Payroll - commissions, runs and pay periods. Read-only.
/paydesk-commissionsList commissions
Returns commission records, including which rule produced each amount. Read-only. Requires scope: paydesk:read. To keep a copy in sync, walk the plain list once, then poll with updated_since: every change to a commission (created, recomputed, adjusted, locked, paid, reversed) moves its updatedAt, and a commission is never deleted - a reversal arrives as status reversed. updated_since cannot be combined with employeeId, status or appointmentId - combining them returns 400 (code conflicting_filters).
Parameters
Query
employeeIdstatusappointmentIdResponse 200
Errors
/paydesk-commissions/{id}Retrieve a commission
Returns a single commission by id. A record belonging to another organization returns 404 rather than 403. Requires scope: paydesk:read.
Parameters
Path
idrequiredResponse 200
idobjectemployeeIdemployeeNameamountcurrencystatusruleNameruleSourcecustomRatetypevalueappointmentIdappointmentNumberappointmentTotalappointmentScheduledAttriggerAteligibleAtpaidAtreversedAtreversalReasoncreatedAtupdatedAtErrors
/paydesk-payroll-runsList payroll runs
Returns payroll runs with their range totals. Per-employee breakdowns are not exposed here. Read-only. Requires scope: paydesk:read.
Parameters
Query
statusfrequencyResponse 200
Errors
/paydesk-payroll-runs/{id}Retrieve a payroll run
Returns a single payroll run by id. A record belonging to another organization returns 404 rather than 403. Requires scope: paydesk:read.
Parameters
Path
idrequiredResponse 200
idobjectstatusfrequencyrangeLabelperiodStartperiodEndcurrencyemployeeCounttotalspaymentMethodpaymentReferencefinalizedAtfinalizedByNamepaidAtpaidByNamecreatedAtupdatedAtErrors
/paydesk-pay-periodsList pay periods
Returns per-employee pay periods. Read-only. Requires scope: paydesk:read.
Parameters
Query
employeeIdstatusfrequencyResponse 200
Errors
/commission-reportsList commission reports
Returns the saved commission report snapshots - the documents generated in PayDesk for a date window, newest first. Summary figures only; the frozen per-appointment rows are not returned by this endpoint. Read-only. Requires scope: paydesk:read.
Parameters
Query
fromtoperiod_fromperiod_toResponse 200
Errors
/commission-reports/{id}Retrieve a commission report
Returns one saved commission report - the same summary the list returns, plus one row per group (team member, external, vendor, company or the organization, depending on groupBy). A report belonging to another organization returns 404 rather than 403. Requires scope: paydesk:read.
Parameters
Path
idrequiredResponse 200
Errors
/commission-reports/{id}/imageRender a commission report as a PNG
Renders the report's summary page - hero total, stat tiles and both donut charts - as a PNG sized for a phone screen, so it can be posted straight into a chat or messaging channel. It is the same branded document the PDF export produces, cropped to its first page; the per-team sections and money-view tables are omitted. By default the image is returned base64-encoded inside the normal data envelope, because messaging APIs need either base64 or a publicly fetchable URL and this endpoint is bearer-authenticated. Pass format=png for the raw image/png bytes. Requires scope: paydesk:read.
Parameters
Path
idrequiredQuery
widthformatResponse 200
idobjectmimeTypewidthheightbyteSizefilenamebase64Errors
/paydesk-pay-periods/{id}Retrieve a pay period
Returns a single pay period by id. A record belonging to another organization returns 404 rather than 403. Requires scope: paydesk:read.
Parameters
Path
idrequiredResponse 200
idobjectemployeeIdemployeeNamelabelstatusfrequencyperiodStartperiodEndweekStartrunIdclosedAtclosedByNameclosedReasonreopenedAtreopenReasoncreatedAtupdatedAt