Contractors

contractorOps.timesheets.list

List timesheets awaiting approval, approved, or open by pay period. Hours submitted for dates no pay period covers (a manual cadence, or before the first period) are listed per contractor under unscheduled. With periodId, returns every time entry with its custom form values, missing required fields, and an estimated payout; with contractorId and unscheduled=true, returns that contractor's hours outside a pay period to review and the approved ones ready to pay (prepare them with contractorOps.payouts.prepare and hoursIds). Each listed period carries its live payout, if any, and pipeline says whether payouts are prepared automatically and whether contractors get reminder emails.

GETPOST/api/v1/accounting/contractorOps.timesheets.list

Permissions

accounting:read

Who can call it

admin, finance

Retries

Safe to retry: it only reads

MCP

accounting_contractor_ops_timesheets_list

Fields

  • limitinteger

    How many results to return at most.

    1 to 100 · Default 30

  • offsetinteger

    How many results to skip, for the next page of a list.

    0 to 100000 · Default 0

  • periodIdstring (ID)

    The ID of a contractor pay period.

  • contractorIdstring (ID)

    The ID of a contractor, from contractors.list.

  • unscheduledboolean
  • statusenum

    Only include records with this status.

    awaitingapprovedopenall

    Default "awaiting"

Example

curl https://app.getoatmilk.com/api/v1/accounting/contractorOps.timesheets.list \
  -H "Authorization: Bearer $OATMILK_API_KEY"
Response
{
  "data": { … }
}

Try it

Try it

Checks your input with this action’s real schema and answers like the API, with synthetic data. No key needed, and nothing changes.

GET/api/v1/accounting/contractorOps.timesheets.list
curl https://app.getoatmilk.com/api/v1/accounting/contractorOps.timesheets.list \
  -H "Authorization: Bearer $OATMILK_API_KEY"

More in Contractors.