List Workshop Entries
Retrieve a paginated list of workshop entries.
Endpointโ
GET /v1/workshop
Authenticationโ
Requires an API key with the products:read scope.
Query Parametersโ
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by status: scheduled, in_workshop, completed |
product_id | integer | Filter by product ID |
reason | string | Filter by reason: maintenance, repair, cleaning, other |
overdue | boolean | If true, only return overdue entries |
page | integer | Page number (default: 1) |
per_page | integer | Items per page (default: 25, max: 100) |
sort | string | Sort field: id, created_at, added_to_workshop_at, scheduled_start_at |
direction | string | Sort direction: asc, desc (default: desc) |
Responseโ
Success (200 OK)โ
{
"data": [
{
"id": 1,
"product": {
"id": 5,
"name": "Mountain Bike"
},
"variation": {
"id": 3,
"name": "Large, Red"
},
"inventory": {
"id": 12,
"identifier": "Bike #5",
"unique_identifier": "SN-00012"
},
"quantity": 1,
"status": "in_workshop",
"reason": "maintenance",
"scheduled_start_at": null,
"scheduled_end_at": "2026-02-05T17:00:00+00:00",
"auto_complete": false,
"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-01T09:00:00+00:00"
}
],
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 25,
"total": 1,
"request_id": "req_abc123",
"timestamp": "2026-02-01T10:00:00+00:00"
}
}
Example Requestsโ
List All In Workshopโ
curl -X GET "https://app.equipdash.com/api/v1/workshop?status=in_workshop" \
-H "Authorization: Bearer YOUR_API_KEY"
List Overdue Entriesโ
curl -X GET "https://app.equipdash.com/api/v1/workshop?overdue=true" \
-H "Authorization: Bearer YOUR_API_KEY"
Filter by Productโ
curl -X GET "https://app.equipdash.com/api/v1/workshop?product_id=5&status=in_workshop" \
-H "Authorization: Bearer YOUR_API_KEY"
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 403 | insufficient_scope | API key lacks products:read scope |