Assign Workshop Staff
Assign staff to a workshop job, including staff without EquipDash logins. Both endpoints require the products:write scope and the Rentals module.
Assign staffโ
POST /v1/workshop/{id}/staff
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Workshop job ID in the URL |
staff_ids | array of integers | Yes | Staff IDs from this shop, with at least one ID |
Use IDs returned by the Staff API. Login user IDs are a separate set of IDs.
{
"staff_ids": [12, 15]
}
Responseโ
{
"data": {
"success": true,
"assigned_count": 2,
"message": "2 staff members assigned."
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-10-09T09:00:00+00:00"
}
}
The action checks every selected person before saving. A staff ID from another shop rejects the whole selection. Repeated IDs and people already assigned are skipped; assigned_count counts new assignments. A linked staff record and login represent one person.
Remove staffโ
DELETE /v1/workshop/{id}/staff/{staffId}
Both IDs belong to the same shop. Removing a staff member also removes their linked legacy login assignment on this job.
A successful response has data.success: true and data.message. Removing a person who is not assigned returns 422 invalid_assignment.
Read assignmentsโ
Get Workshop Entry returns assignees, with one row per person:
{
"staff_id": 12,
"user_id": null,
"name": "Jane Doe",
"assigned_by": null,
"assigned_at": "2026-10-09 09:00:00"
}
staff_id is null for a legacy login assignment without a linked staff record. user_id is null for staff without a login. API-key assignments leave assigned_by null. Existing login assignments remain intact and appear alongside staff assignments.
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No valid API key |
| 403 | insufficient_scope | API key lacks products:write |
| 404 | resource_not_found | Job does not belong to this shop or does not exist |
| 422 | validation_error | Assignment body is missing or invalid |
| 422 | invalid_assignment | Selected staff do not belong to this shop, or the person was not assigned |