Skip to content

Programs

Program routes accept an authenticated user or the server-side clientapisecret.

GET /blendxapi/discovery/programs/
Query parameterDefaultDescription
limit8Page size, clamped to 1–100.
page11-indexed page number.
searchemptySearch name, description, or about.
orgemptyComma-separated organisation names.
tagsemptyComma-separated tags; a match on any tag is included.
order_bycreated_at.desc{field}.{direction}; display_name maps to name.
Terminal window
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.

FieldDescription
idBlendX program UUID used by detail and checkout requests.
nameDisplay name.
descriptionShort program description.
aboutLonger program information.
achievementsOutcomes or achievements associated with the program.
duration, duration_metricDuration value and its unit. duration_metric is present on filtered-query results.
imageProgram image reference.
priceRegionally adjusted program price.
originalPrice, discountPctOriginal price and applied regional discount.
nativeCurrency, nativeAmountOptional local-currency display hints.
organisationObject containing the organisation name and, when available, logo_url and favicon_url.
tagsTag-name array.
avg_ratingAverage program rating.
coursesSerialized 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 /blendxapi/discovery/program/{program_id}/

The response is an object with these top-level fields:

FieldDescription
programsArray containing the matching program record.
program_coursesSerialized child-course array.
avg_ratingAverage rating for the program UUID.
reviewsProgram review array.
partial_errorsOptional 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.

GET /blendxapi/discovery/tags/
Query parameterDefaultDescription
searchemptyFilter tag names.
include_coursestrueInclude courses assigned to each tag.
include_programstrueInclude 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.