List Product Categories
Retrieve a paginated list of product categories.
Endpointโ
GET /v1/product-categories
Authenticationโ
Requires an API key with the products:read scope.
Query Parametersโ
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
per_page | integer | 15 | Items per page (max 100) |
search | string | - | Search by category name |
parent_id | integer|string | - | Filter by parent: category ID, 0, or null for top-level |
sort | string | name | Sort field: id, name, created_at |
direction | string | asc | Sort direction: asc or desc |
Responseโ
Success (200 OK)โ
{
"data": [
{
"id": 1,
"name": "Bikes",
"description": "All types of bikes for rent",
"image": "https://equipdash.com/storage/categories/bikes.jpg",
"parent_id": null,
"parent": null,
"children": [
{
"id": 3,
"name": "Mountain Bikes",
"description": "Full suspension and hardtail",
"image": null,
"parent_id": 1,
"product_count": 8,
"created_at": "2025-01-15T00:00:00+00:00",
"updated_at": "2025-01-15T00:00:00+00:00"
}
],
"product_count": 15,
"linked_types": ["experiences"],
"created_at": "2025-01-01T00:00:00+00:00",
"updated_at": "2025-01-01T00:00:00+00:00"
},
{
"id": 2,
"name": "Water Sports",
"description": "Kayaks, paddleboards, and accessories",
"image": null,
"parent_id": null,
"parent": null,
"children": [],
"product_count": 8,
"linked_types": [],
"created_at": "2025-01-15T00:00:00+00:00",
"updated_at": "2025-01-15T00:00:00+00:00"
}
],
"meta": {
"current_page": 1,
"per_page": 15,
"total": 2,
"total_pages": 1,
"request_id": "req_abc123",
"timestamp": "2026-01-15T12:00:00+00:00"
}
}
Response Fieldsโ
| Field | Type | Description |
|---|---|---|
id | integer | Unique category identifier |
name | string | Category name |
description | string|null | Category description |
image | string|null | Category image URL |
parent_id | integer|null | Parent category ID |
parent | object|null | Parent category summary (id, name) |
children | array | Child categories |
product_count | integer | Number of products in this category, including products for which this is a secondary category. |
linked_types | array | Other booking types this category is linked to (experiences, store); empty when not linked |
created_at | string | ISO 8601 datetime |
updated_at | string | ISO 8601 datetime |
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 401 | invalid_api_key | Invalid API key |
| 403 | insufficient_scope | API key lacks products:read scope |
Example Requestโ
curl -X GET "https://app.equipdash.com/api/v1/product-categories?parent_id=null" \
-H "Authorization: Bearer eqd_live_abc123xyz789..."