Skip to main content

List Store Categories

Retrieve a paginated list of store categories.

Endpointโ€‹

GET /v1/store-categories

Authenticationโ€‹

Requires an API key with the store:read scope.

Query Parametersโ€‹

ParameterTypeDefaultDescription
pageinteger1Page number
per_pageinteger15Items per page (max 100)
parent_idinteger-Filter by parent category ID
root_onlyboolean-Set to true to return only top-level categories (no parent)

Responseโ€‹

Success (200 OK)โ€‹

{
"data": [
{
"id": 1,
"name": "Accessories",
"description": "Skiing and snowboarding accessories",
"image_url": "https://example.com/storage/categories/accessories.jpg",
"parent_id": null,
"products_count": 8,
"children": [
{
"id": 4,
"name": "Wax & Tuning",
"description": "Ski and snowboard maintenance products",
"image_url": null,
"parent_id": 1,
"products_count": 3,
"children": [],
"created_at": "2026-01-10T00:00:00+00:00",
"updated_at": "2026-01-10T00:00:00+00:00"
}
],
"linked_types": ["rentals"],
"created_at": "2026-01-10T00:00:00+00:00",
"updated_at": "2026-01-10T00:00:00+00:00"
},
{
"id": 2,
"name": "Apparel",
"description": "Branded clothing and merchandise",
"image_url": "https://example.com/storage/categories/apparel.jpg",
"parent_id": null,
"products_count": 15,
"children": [],
"linked_types": [],
"created_at": "2026-01-12T00:00:00+00:00",
"updated_at": "2026-01-12T00:00:00+00:00"
}
],
"meta": {
"current_page": 1,
"per_page": 15,
"total": 2,
"total_pages": 1,
"request_id": "req_abc123",
"timestamp": "2026-02-13T12:00:00+00:00"
}
}

Response Fieldsโ€‹

Store Categoryโ€‹

FieldTypeDescription
idintegerUnique category identifier
namestringCategory name
descriptionstring|nullCategory description
image_urlstring|nullFull URL to the category image
parent_idinteger|nullParent category ID (null for top-level)
products_countintegerNumber of products in this category, including products for which this is a secondary category.
childrenarrayChild categories (recursive)
linked_typesarrayOther booking types this category is linked to (rentals, experiences); empty when not linked
created_atstringISO 8601 datetime
updated_atstringISO 8601 datetime

Errorsโ€‹

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

Example Requestโ€‹

curl -X GET "https://app.equipdash.com/api/v1/store-categories?root_only=true" \
-H "Authorization: Bearer eqd_live_abc123xyz789..."