Contractors

contractorOps.history.list

List every contractor timesheet as history: rows imported from a Notion database or CSV file, Oatmilk pay periods with hours or a payout, and milestone payouts. Each has the contractor, period, hours, rate, payout in minor units (the imported amount, or hours × rate plus GST/HST), GST/HST, status paid or unpaid with how (paid in the imported table, marked paid in Oatmilk with the date and bank payment, or the payout's state), when it was submitted and how many days late, its source (imported or oatmilk), and historyId for imported rows. An imported row whose dates also have hours logged in Oatmilk is marked alsoInOatmilk and left out of totals so nothing counts twice. Filter by contractorId, status (all, paid, unpaid), source (all, imported, oatmilk), and from and to (periods overlapping those dates). Unpaid is sorted by contractor, oldest first, with each contractor's totals in groups; the other views are newest first. Totals cover every match, by currency.

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

Permissions

accounting:read

Who can call it

admin, finance

Retries

Safe to retry: it only reads

MCP

accounting_contractor_ops_history_list

Fields

  • contractorIdstring (ID)

    The ID of a contractor, from contractors.list.

  • statusenum

    Only include records with this status.

    allpaidunpaid

    Default "all"

  • sourceenum

    Where the record came from.

    allimportedoatmilk

    Default "all"

  • fromstring (date)

    The first date to include, as YYYY-MM-DD.

  • tostring (date)

    The last date to include, as YYYY-MM-DD.

  • limitinteger

    How many results to return at most.

    1 to 500 · Default 200

  • offsetinteger

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

    0 to 100000 · Default 0

Example

curl https://app.getoatmilk.com/api/v1/accounting/contractorOps.history.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.history.list
curl https://app.getoatmilk.com/api/v1/accounting/contractorOps.history.list \
  -H "Authorization: Bearer $OATMILK_API_KEY"

More in Contractors.