Skip to main content

Update Product Category

Update an existing product category.

Endpointโ€‹

PATCH /v1/product-categories/{id}

Authenticationโ€‹

Requires an API key with the products:write scope.

Parametersโ€‹

ParameterTypeLocationDescription
idintegerpathThe category ID

Request Bodyโ€‹

All fields are optional. Only provide fields you want to update.

FieldTypeDescription
namestringCategory name (max 255 characters)
descriptionstringCategory description
parent_idinteger|nullParent category ID (set to null to make top-level)
apply_toarrayOther booking types this category is linked to: experiences, store

Linked Categoriesโ€‹

Use apply_to to link this category across booking types. EquipDash creates a mirror category in each listed booking type (or adopts an existing unlinked category with the same name) and links them as one group. Linked categories share their name, description, and image, so updating any member syncs the others. Sending apply_to replaces the linked set โ€” booking types you omit are unlinked, and the mirror is deleted if it has no items or sub-categories (otherwise it is kept as a standalone category). Omit apply_to entirely to leave links unchanged.

Example Requestโ€‹

curl -X PATCH "https://app.equipdash.com/api/v1/product-categories/3" \
-H "Authorization: Bearer eqd_live_abc123xyz789..." \
-H "Content-Type: application/json" \
-d '{
"name": "MTB - Mountain Bikes",
"description": "All mountain bike styles"
}'

Responseโ€‹

Success (200 OK)โ€‹

{
"data": {
"id": 3,
"name": "MTB - Mountain Bikes",
"description": "All mountain bike styles",
"image": null,
"parent_id": 1,
"parent": {
"id": 1,
"name": "Bikes"
},
"children": [],
"product_count": 8,
"linked_types": ["experiences"],
"created_at": "2025-01-15T00:00:00+00:00",
"updated_at": "2026-01-15T12:00:00+00:00"
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-01-15T12:00:00+00:00"
}
}

Errorsโ€‹

StatusCodeDescription
400validation_errorInvalid input data
401authentication_requiredNo API key provided
401invalid_api_keyInvalid API key
403insufficient_scopeAPI key lacks products:write scope
404resource_not_foundCategory does not exist

Notesโ€‹

  • A category cannot be its own parent
  • The parent_id must reference a category that belongs to your account
  • Set parent_id to null to convert a subcategory to a top-level category
  • apply_to accepts only the other booking types: experiences and store
  • Name, description, and image changes automatically sync to all linked categories