Programs
Program routes accept an authenticated user or the server-side
clientapisecret.
List programs
Section titled “List programs”GET /blendxapi/discovery/programs/| Query parameter | Default | Description |
|---|---|---|
limit | 8 | Page size, clamped to 1–100. |
page | 1 | 1-indexed page number. |
search | empty | Search name, description, or about. |
org | empty | Comma-separated organisation names. |
tags | empty | Comma-separated tags; a match on any tag is included. |
order_by | created_at.desc | {field}.{direction}; display_name maps to name. |
curl "https://<LMS_HOST>/blendxapi/discovery/programs/?org=Acme&tags=leadership&page=1" \ -H "clientapisecret: $BLENDX_CLIENT_API_SECRET"The response envelope contains programs, total_count, has_more, limit,
page, and offset. It can include partial_errors if a child course could
not be serialized.
Program list fields
Section titled “Program list fields”| Field | Description |
|---|---|
id | BlendX program UUID used by detail and checkout requests. |
name | Display name. |
description | Short program description. |
about | Longer program information. |
achievements | Outcomes or achievements associated with the program. |
duration, duration_metric | Duration value and its unit. duration_metric is present on filtered-query results. |
image | Program image reference. |
price | Regionally adjusted program price. |
originalPrice, discountPct | Original price and applied regional discount. |
nativeCurrency, nativeAmount | Optional local-currency display hints. |
organisation | Object containing the organisation name and, when available, logo_url and favicon_url. |
tags | Tag-name array. |
avg_rating | Average program rating. |
courses | Serialized child-course array, including catalog modes, metadata, and regional pricing. |
Each list response child course contains id, openedx_course_id,
display_name, short_description, course_image_url, start, end,
effort, enrollment_start, enrollment_end, price, course_mode,
available_course_modes, organisation, organisation_logo_url,
organisation_favicon_url, is_invite_only, is_published, overview, and
regional price fields. See Courses for the mode
and regional-price shapes.
Get program details
Section titled “Get program details”GET /blendxapi/discovery/program/{program_id}/The response is an object with these top-level fields:
| Field | Description |
|---|---|
programs | Array containing the matching program record. |
program_courses | Serialized child-course array. |
avg_rating | Average rating for the program UUID. |
reviews | Program review array. |
partial_errors | Optional details when some child courses could not be loaded. |
Each record in programs contains id, name, price, about,
achievements, description, duration, duration_metric, image,
invite_only, published, organisation, and organisation_id. The
organisation object contains id and name. Regional pricing adds
originalPrice, discountPct, and, when available, nativeCurrency and
nativeAmount to the program record.
Use the BlendX program UUID—not a course key—in this URL and in a checkout item
whose type is program.
Discover tags
Section titled “Discover tags”GET /blendxapi/discovery/tags/| Query parameter | Default | Description |
|---|---|---|
search | empty | Filter tag names. |
include_courses | true | Include courses assigned to each tag. |
include_programs | true | Include programs assigned to each tag. |
The response has a tags array. Each entry contains tag, courses, and
programs; a disabled relationship is returned as an empty array.
A directly tagged course contains id, openedx_course_id, display_name,
short_description, overview, course_image_url, start, end, effort,
enrollment_start, enrollment_end, price, organisation, language,
self_paced, org, number, link_to_course, and regional price fields. A
program entry contains id, name, description, about, organisation,
courses_count, and courses. When both relationship flags are enabled, each
program’s courses array contains its course catalog data.
For a lightweight filter menu, set both include flags to false.