List Series
Retrieve a paginated list of series (called programs in the product UI).
Endpointโ
GET /v1/series
Authenticationโ
Requires a live or test API key with series:read scope.
Query Parametersโ
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
per_page | integer | 15 | Items per page (max 100) |
Example Requestโ
curl -X GET "https://app.equipdash.com/api/v1/series?per_page=10" \
-H "Authorization: Bearer YOUR_API_KEY"
Responseโ
Success (200 OK)โ
{
"data": [
{
"id": 1,
"name": "Intro Course โ Tuesday Group",
"experience": {
"id": 12,
"name": "Intro Course"
},
"group": {
"id": 7,
"name": "Tuesday Group"
},
"billing_mode": "consolidated",
"status": "active",
"pricing_type": "fixed",
"pricing": [
{ "rate_category_id": 3, "label": "Adult", "price": 150.00 },
{ "rate_category_id": 4, "label": "Child", "price": 90.00 }
],
"image_url": "https://cdn.equipdash.com/suppliers/5/programs/fall-program.jpg",
"collage_image_urls": [
"https://cdn.equipdash.com/suppliers/5/experiences/intro-course.jpg"
],
"sessions": [
{
"id": 101,
"session_index": 1,
"schedule": {
"id": 501,
"start_datetime_utc": "2026-09-01T17:00:00Z",
"end_datetime_utc": "2026-09-01T18:30:00Z"
},
"booking": {
"id": 9001,
"status": "confirmed",
"payment_status": "partial"
},
"created_at": "2026-07-20T10:00:00Z",
"updated_at": "2026-07-20T10:00:00Z"
},
{
"id": 102,
"session_index": 2,
"schedule": {
"id": 502,
"start_datetime_utc": "2026-09-08T17:00:00Z",
"end_datetime_utc": "2026-09-08T18:30:00Z"
},
"booking": {
"id": 9002,
"status": "confirmed",
"payment_status": "pending"
},
"created_at": "2026-07-20T10:00:00Z",
"updated_at": "2026-07-20T10:00:00Z"
}
],
"created_at": "2026-07-20T10:00:00Z",
"updated_at": "2026-07-20T10:00:00Z"
}
],
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 10,
"total": 1,
"request_id": "req_abc123"
}
}
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 403 | insufficient_scope | API key lacks series:read scope |
Notesโ
- Results are sorted by creation date (newest first)
pricingholds the program's fixed-rate rows: one row per rate category (rate_category_id,label,price) for per-rate-type pricing, or a single row withlabelplus the group fields (group_price,max_group_size,price_per_participant,per_participant_included) for group pricing. Empty whenpricing_typeissum.image_urlisnullwhen no image was uploaded;collage_image_urlsthen carries the included activities' images for a collage display.- The
totalsblock is not included in list responses; use Get Series for the aggregatedtotal/paid/balance - Each session's
booking.idis a regular booking โ see Get Booking for its full details