# contractorOps.hours.history

Read one time entry's history (hoursId): every change from logging to approval and any correction, oldest first, with the entry's dates, who acted (contractor, a finance member by email, or the platform), the old and new values, the reason given, whether it's on hold for an open correction, and where it stands in a payout (unpaid, scheduled or paid).

`GET | POST /api/v1/accounting/contractorOps.hours.history`

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

MCP tool: `accounting_contractor_ops_hours_history`

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `hoursId` | string (ID) | Yes | The ID of the related record. |

## Example request

```bash
curl -G https://app.getoatmilk.com/api/v1/accounting/contractorOps.hours.history \
  -H "Authorization: Bearer $OATMILK_API_KEY" \
  --data-urlencode 'hoursId=1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d'
```

Reference page: https://app.getoatmilk.com/docs/api/contractorOps.hours.history
