Skip to main content

Add to Workshop

Add an inventory item or quantity to the workshop.

Endpointโ€‹

POST /v1/workshop

Authenticationโ€‹

Requires an API key with the products:write scope.

Request Bodyโ€‹

FieldTypeRequiredDescription
product_idintegerYesThe product ID
inventory_idintegerNoSpecific inventory item ID (for item-level tracking)
quantityintegerNoQuantity to add (for group-level tracking, default: 1)
reasonstringNomaintenance, repair, cleaning, other
scheduled_start_atstringNoWhen to start (ISO 8601). If not provided, starts immediately
scheduled_end_atstringNoWhen to end (ISO 8601)
auto_completebooleanNoAuto-complete when scheduled_end_at is reached (default: false)
start_immediatelybooleanNoStart now even if scheduled_start_at is provided (default: true)
notestringNoInitial note to add (max 1000 characters)

Responseโ€‹

Success (201 Created)โ€‹

{
"data": {
"id": 5,
"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": "repair",
"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": 1,
"created_at": "2026-02-01T09:00:00+00:00",
"updated_at": "2026-02-01T09:00:00+00:00"
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-02-01T09:00:00+00:00"
}
}

Example Requestsโ€‹

Send Specific Item to Workshop Immediatelyโ€‹

curl -X POST "https://app.equipdash.com/api/v1/workshop" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_id": 5,
"inventory_id": 12,
"reason": "repair",
"scheduled_end_at": "2026-02-05T17:00:00Z",
"note": "Broken brake cable - needs replacement"
}'

Schedule Item for Future Workshopโ€‹

curl -X POST "https://app.equipdash.com/api/v1/workshop" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_id": 5,
"inventory_id": 12,
"reason": "maintenance",
"scheduled_start_at": "2026-02-10T09:00:00Z",
"scheduled_end_at": "2026-02-10T17:00:00Z",
"auto_complete": true,
"start_immediately": false
}'

Add Quantity to Workshop (Group-Level)โ€‹

curl -X POST "https://app.equipdash.com/api/v1/workshop" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_id": 10,
"quantity": 5,
"reason": "cleaning"
}'

Errorsโ€‹

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

Common Validation Errorsโ€‹

  • Product not found: Product doesn't exist or doesn't belong to your account
  • Inventory item not found: Inventory doesn't exist or doesn't belong to this product
  • Item already in workshop: The specific inventory item is already in the workshop
  • Item is picked up: Cannot send a currently picked-up item to workshop