Skip to main content

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โ€‹

ParameterTypeDescription
statusstringFilter by status: scheduled, in_workshop, completed
product_idintegerFilter by product ID
reasonstringFilter by reason: maintenance, repair, cleaning, other
overduebooleanIf true, only return overdue entries
pageintegerPage number (default: 1)
per_pageintegerItems per page (default: 25, max: 100)
sortstringSort field: id, created_at, added_to_workshop_at, scheduled_start_at
directionstringSort 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โ€‹

StatusCodeDescription
401authentication_requiredNo API key provided
403insufficient_scopeAPI key lacks products:read scope