Create Experience Category
Create a new experience category.
Endpointโ
POST /v1/experience-categories
Authenticationโ
Requires an API key with the experiences:write scope.
Request Bodyโ
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Category name (max 255 characters) |
description | string | No | Category description |
parent_id | integer | No | Parent category ID for creating subcategories |
apply_to | array | No | Other booking types to also create this category in: rentals, store |
Linked Categoriesโ
Use apply_to to make the same category available across booking types โ for example, a "Kayaking" category that appears in both experiences and rentals. 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. The linked_types response field lists the other booking types a category is linked to.
Example Requestโ
curl -X POST "https://app.equipdash.com/api/v1/experience-categories" \
-H "Authorization: Bearer eqd_live_abc123xyz789..." \
-H "Content-Type: application/json" \
-d '{
"name": "Kayaking Tours",
"description": "Guided kayak adventures for all skill levels",
"parent_id": 1,
"apply_to": ["rentals"]
}'
Responseโ
Success (201 Created)โ
{
"data": {
"id": 3,
"name": "Kayaking Tours",
"description": "Guided kayak adventures for all skill levels",
"image": null,
"parent_id": 1,
"parent": {
"id": 1,
"name": "Water Activities"
},
"children": [],
"experience_count": 0,
"linked_types": ["rentals"],
"created_at": "2026-01-15T12: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โ
| Status | Code | Description |
|---|---|---|
| 400 | validation_error | Invalid input data |
| 401 | authentication_required | No API key provided |
| 401 | invalid_api_key | Invalid API key |
| 403 | insufficient_scope | API key lacks experiences:write scope |
Validation Errorsโ
{
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"details": {
"name": ["The name field is required."],
"parent_id": ["The selected parent category does not belong to your account."]
}
},
"meta": {
"request_id": "req_abc123"
}
}
Notesโ
- The
parent_idmust reference a category that belongs to your account - Categories can be nested to create a hierarchy
apply_toaccepts only the other booking types:rentalsandstore