# contractorOps.pay.status

Whether contractors will be paid the right amount on time, worked out the same way the dashboard, emails and the terminal show it. Returns tab counts and rows for a view (current, review, unpaid, scheduled, paid, issues, upcoming or all), one pay period (periodId), one payout (payoutId) or one contractor (contractorId). Each row has readiness: status (hours submitted, approved, payout prepared, approved, payment scheduled, sending, sent, paid, failed), every step, blockers with their owner (contractor, finance, an admin, Oatmilk or Wise) and next action, the planned payday, the last safe send day, the expected arrival, and whether it happens automatically. Also returns the company's payout mode and each contractor's effective mode with its reason, and capabilities: which steps the caller can take here and which only an administrator can do in Oatmilk in a browser (with the link).

`GET | POST /api/v1/accounting/contractorOps.pay.status`

Permissions: `accounting:read` · Roles: admin, finance

MCP tool: `accounting_contractor_ops_pay_status`

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `limit` | integer |  | How many results to return at most. 1 to 100. Default `30`. |
| `offset` | integer |  | How many results to skip, for the next page of a list. 0 to 100000. Default `0`. |
| `contractorId` | string (ID) |  | The ID of a contractor, from contractors.list. |
| `periodId` | string (ID) |  | The ID of a contractor pay period. |
| `payoutId` | string (ID) |  | The ID of the related record. |
| `view` | enum |  | One of: `current`, `review`, `unpaid`, `scheduled`, `paid`, `issues`, `upcoming`, `all`. Default `"current"`. |

## Example request

```bash
curl https://app.getoatmilk.com/api/v1/accounting/contractorOps.pay.status \
  -H "Authorization: Bearer $OATMILK_API_KEY"
```

Reference page: https://app.getoatmilk.com/docs/api/contractorOps.pay.status
