Update Assignment
Create a new assignment for a work order.
**Required Permission:** `create_assignments`
## Required Fields
- `technician_id` - UUID (must exist in users table)
- `assignment_type` - Enum: primary, secondary, lead, apprentice, specialist, supervisor, backup, observer
## Optional Fields
- `technician_role` - Enum: technician, senior_tech, lead_tech, apprentice, specialist, inspector, safety_officer, customer_liaison
- `assignment_status` - Enum: assigned, acknowledged, accepted, declined, en_route, on_site, working, break, waiting, completed, cancelled, reassigned, no_show
- `assignment_method` - Enum: manual, auto_assigned, self_assigned, escalated, emergency
- `hourly_rate` - numeric, min:0
- `flat_rate_amount` - numeric, min:0
- `commission_percentage` - numeric, min:0, max:100
- `bonus_amount` - numeric, min:0
- `assignment_sequence` - integer, min:1, max:100 (maps to assignment_priority)
- `is_primary` - boolean (forces assignment_type=primary)
- `assignment_notes` - string, max:1000
- `internal_notes` - string, max:1000
- `special_instructions` - string, max:1000
**Note:** Overtime configuration is managed via workforce personnel settings. Notifications are handled at the work order level.
Headers
{{tenant_key_name}}
Request
This endpoint expects a multipart form.
completion_notes
assignment_status
Optional: Enum - assigned|accepted|declined|dispatched|en_route|arrived|in_progress|break|waiting|completed|no_show - Initial assignment status
Response
Successful response

