# PATCH /work-orders/:id

**Resource:** [Work Orders](./work-orders.md)  
**Scopes:** `work-orders:write`  
**Write operation:** yes

Update a work order. Pass "status" (string label) to resolve by name, or "status_id" (UUID) directly. Set assigned_to to null to unassign. Set schedule_time to null to clear a timed slot back to all-day.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `id` | path | uuid | yes | Work order ID |
| `status` | body | string | no | Status label (e.g. "Complete"). Resolved case-insensitively to a status_id UUID. |
| `status_id` | body | uuid | no | Status UUID. Bypasses label resolution. |
| `schedule_date` | body | string | no | ISO date (e.g. "2026-05-01"). Updates the calendar scheduling date. |
| `schedule_time` | body | string | no | Wall-clock time in HH:MM:SS format (e.g. "14:00:00"). Pass null to revert to all-day. |
| `assigned_to` | body | uuid | no | User UUID of the assigned team member. Pass null to unassign. |
| `data` | body | object | no | Work order field data |
| `sort_order` | body | number | no | Sort order for display |

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`