Skip to main content
GET
List courses

Authorizations

X-API-Key
string
header
required

Your publishable Catalogue API key (vak_pub_…).

Query Parameters

q
string

Case-insensitive substring of any version's title or any tag.

stream
string

Stream slug from GET /streams.

category
string

Category slug from GET /streams (searched in stream when given, else in every stream).

format
string

Format key from GET /site.

language
string

A code from GET /site languages: keeps courses available in that language and shows that version. An unknown code matches nothing. Ignored when the site has course languages off.

tag
string

One or more tags, comma-separated; a course matches if it has any of them (case-insensitive, whole tag).

availability
enum<string>

Availability of the version shown.

Available options:
available,
coming_soon,
not_started,
closed
page
integer
default:1

1-based page number.

Required range: x >= 1
page_size
integer
default:24

Courses per page.

Required range: 1 <= x <= 100
sort
enum<string>
default:newest

newest (by created_at, default), title, price_asc, price_desc (by the lowest price on sale now). Ties keep catalogue order.

Available options:
newest,
title,
price_asc,
price_desc

Response

A page of courses.

data
object[]
required
page
integer
required
page_size
integer
required
total
integer
required

Courses matching the filters.

has_more
boolean
required