Create Waitlist Entry
Add a customer to the waitlist for a sold-out experience or unavailable rental product. A confirmation email is automatically sent to the customer.
POST /v1/waitlist
Authenticationโ
Requires a valid API key with waitlist:write scope.
Request Bodyโ
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Entry type: experience or rental |
name | string | Yes | Customer name |
email | string | Yes | Customer email address |
phone | string | No | Customer phone number |
experience_id | integer | Required if type=experience | The experience ID |
schedule_id | integer | Required if type=experience | The specific schedule/session ID |
product_id | integer | Required if type=rental | The product ID |
variation_id | integer | No | Product variation ID (rental only) |
desired_start_at | string | No | Desired rental start datetime (ISO 8601 with time, e.g. 2026-03-01T09:00:00Z, rental only) |
desired_end_at | string | No | Desired rental end datetime (ISO 8601 with time, e.g. 2026-03-05T17:00:00Z, rental only) |
quantity | integer | No | Number of spots/items (default: 1) |
notes | string | No | Additional notes (max 1000 characters) |
Request Example (Experience)โ
curl -X POST "https://app.equipdash.com/api/v1/waitlist" \
-H "Authorization: Bearer eqd_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"type": "experience",
"name": "Jane Smith",
"email": "jane@example.com",
"phone": "+1234567890",
"experience_id": 42,
"schedule_id": 156,
"quantity": 2,
"notes": "Prefer morning session"
}'
Request Example (Rental)โ
curl -X POST "https://app.equipdash.com/api/v1/waitlist" \
-H "Authorization: Bearer eqd_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"type": "rental",
"name": "John Doe",
"email": "john@example.com",
"product_id": 15,
"variation_id": 3,
"desired_start_at": "2026-03-01T09:00:00Z",
"desired_end_at": "2026-03-05T17:00:00Z",
"quantity": 1
}'
Responseโ
Returns the created waitlist entry with a 201 Created status.
{
"data": {
"id": 789,
"type": "experience",
"status": "waiting",
"customer": {
"id": 456,
"name": "Jane Smith",
"email": "jane@example.com",
"phone": "+1234567890"
},
"experience_id": 42,
"schedule_id": 156,
"quantity": 2,
"notes": "Prefer morning session",
"source": "api",
"notified_at": null,
"created_at": "2026-02-11T14:30:00+00:00",
"updated_at": "2026-02-11T14:30:00+00:00"
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-02-11T14:30:00+00:00"
}
}
Rate Limitingโ
Waitlist creation is rate-limited to 5 entries per email address per supplier per hour. Exceeding this limit returns a 422 error.
Validation Notesโ
experience_idmust reference an experience that belongs to your supplier accountschedule_idmust reference a schedule that belongs to the specifiedexperience_idproduct_idmust reference a product that belongs to your supplier accountvariation_idmust reference a variation that belongs to the specifiedproduct_id
Error Responsesโ
| Status | Code | Description |
|---|---|---|
| 403 | plan_feature_required | Supplier does not have the Waitlist feature (requires Pro plan) |
| 422 | validation_error | Invalid request data (missing fields, invalid IDs, etc.) |
| 422 | waitlist_error | Rate limit exceeded or other business rule violation |