Assign Guides
Assign one or more staff members as guides for an experience availability slot. The response includes separate lists of successfully assigned, blocked, and warned guides.
Endpointโ
POST /v1/experience-availability/{id}/guides
Authenticationโ
Requires an API key with the experiences:write scope.
Path Parametersโ
| Parameter | Type | Description |
|---|---|---|
id | integer | Experience availability slot ID |
Request Bodyโ
| Parameter | Type | Required | Description |
|---|---|---|---|
staff_ids | array | Yes | One or more staff member IDs to assign as guides |
Responseโ
Success (201 Created)โ
{
"data": {
"assigned": [
{ "id": 11, "staff_id": 5 },
{ "id": 12, "staff_id": 9 }
],
"blocked": [
{ "staff_id": 3, "reason": "Staff member is on approved leave for this slot" }
],
"warned": [
{ "staff_id": 8, "warnings": ["Has a shift ending shortly before this slot"] }
]
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-04-01T09:00:00+00:00"
}
}
If at least one guide is assigned successfully the response is 201 Created. If every guide is blocked (none assigned), the response is 422. The blocked and warned arrays will always be present (empty if not applicable).
Each newly assigned staff member is emailed the session details (experience, date, time). Re-assigning a staff member who is already on the slot is an idempotent success โ it returns the existing assignment in assigned and does not create a duplicate or send another email. Suppliers can customize or disable this email in Settings โ Email Templates (the Guide Assignment staff template).
Response Fieldsโ
| Field | Type | Description |
|---|---|---|
assigned | array | Guides that were successfully assigned. Each entry has id (guide assignment ID) and staff_id. |
blocked | array | Guides that could not be assigned. Each entry has staff_id and reason. |
warned | array | Guides assigned but with scheduling warnings. Each entry has staff_id and warnings (array of strings). |
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 401 | invalid_api_key | Invalid API key |
| 403 | insufficient_scope | API key lacks experiences:write scope |
| 404 | not_found | Availability slot not found or belongs to another supplier |
| 422 | validation_error | Missing or invalid staff_ids |
| 422 | (response body) | All provided guides were blocked |
Example Requestโ
curl -X POST "https://app.equipdash.com/api/v1/experience-availability/12/guides" \
-H "Authorization: Bearer eqd_live_abc123xyz789..." \
-H "Content-Type: application/json" \
-d '{
"staff_ids": [5, 8, 9]
}'