Skip to main content

Update Workshop Entry

Update an existing workshop entry. Can be used to change reason, scheduling, or start a scheduled entry.

Endpointโ€‹

PATCH /v1/workshop/{id}

Authenticationโ€‹

Requires an API key with the products:write scope.

Parametersโ€‹

ParameterTypeLocationDescription
idintegerpathThe workshop entry ID

Request Bodyโ€‹

All fields are optional. Only include fields you want to update. Omitted fields keep their saved values. Completed jobs cannot have their details edited; a due date must follow a scheduled start.

FieldTypeDescription
reasonstringmaintenance, repair, cleaning, other, returned_damaged, or null
scheduled_start_atstringWhen to start (ISO 8601)
scheduled_end_atstring or nullDue date and time in UTC (ISO 8601), or a date alone (YYYY-MM-DD) meaning the end of that day in the shop's timezone; null clears it
auto_completebooleanAuto-complete when scheduled_end_at is reached
statusstringChange status: scheduled, in_workshop, completed

Status Transitionsโ€‹

FromToEffect
scheduledin_workshopStarts the workshop entry immediately
scheduledcompletedCancels the scheduled entry
in_workshopcompletedRemoves item from workshop

Note: Cannot change from in_workshop back to scheduled.

Responseโ€‹

Success (200 OK)โ€‹

{
"data": {
"id": 1,
"product": {
"id": 5,
"name": "Mountain Bike"
},
"inventory": {
"id": 12,
"identifier": "Bike #5",
"unique_identifier": "SN-00012"
},
"quantity": 1,
"status": "in_workshop",
"reason": "repair",
"scheduled_start_at": null,
"scheduled_end_at": "2026-02-07T17:00:00+00:00",
"auto_complete": true,
"added_to_workshop_at": "2026-02-01T09:00:00+00:00",
"removed_from_workshop_at": null,
"is_overdue": false,
"notes_count": 2,
"created_at": "2026-02-01T09:00:00+00:00",
"updated_at": "2026-02-01T11:00:00+00:00"
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-02-01T11:00:00+00:00"
}
}

Example Requestsโ€‹

Extend Workshop Timeโ€‹

curl -X PATCH "https://app.equipdash.com/api/v1/workshop/1" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"scheduled_end_at": "2026-02-07T17:00:00Z",
"auto_complete": true
}'

Start Scheduled Entry Nowโ€‹

curl -X PATCH "https://app.equipdash.com/api/v1/workshop/1" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "in_workshop"
}'

Change Reasonโ€‹

curl -X PATCH "https://app.equipdash.com/api/v1/workshop/1" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"reason": "repair"
}'

Errorsโ€‹

StatusCodeDescription
401authentication_requiredNo API key provided
403insufficient_scopeAPI key lacks products:write scope
404resource_not_foundWorkshop entry not found
422validation_errorInvalid request data

Common Validation Errorsโ€‹

  • Cannot update completed entry: Completed workshop entries cannot be modified
  • Invalid status transition: Cannot change from in_workshop back to scheduled