curl --request GET \
--url https://api.vacademy.ai/catalog/v1/courses/{id} \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.vacademy.ai/catalog/v1/courses/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.vacademy.ai/catalog/v1/courses/{id}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)Get a course
Everything a course page needs: the summary fields plus descriptions, FAQs, preview video, authors, learning-path series, seo and schema.org structured_data. id may be the course id or the id of any of its language versions; the response id is always the course id.
Scope: catalog:read. Cacheable for 60 s.
curl --request GET \
--url https://api.vacademy.ai/catalog/v1/courses/{id} \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.vacademy.ai/catalog/v1/courses/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.vacademy.ai/catalog/v1/courses/{id}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)Authorizations
Your publishable Catalogue API key (vak_pub_…).
Path Parameters
Query Parameters
A code from GET /site languages. Shows that language's version of the course (title, url, price). Ignored when the site has course languages off.
Response
The course.
The course id. Stable across language versions. Use it in GET /courses/{id}.
Title of the version shown (see language).
Plain text, at most 300 characters: the card text.
Card image (absolute URL).
The course's page on the hosted catalogue site, where enrolment, cart and checkout happen. Includes the version's query string. Null when the course page address is not configured.
Show child attributes
Show child attributes
A stream or category a course belongs to.
Show child attributes
Show child attributes
A stream or category a course belongs to.
Show child attributes
Show child attributes
Languages the course is available in. Empty when the site has course languages off.
Show child attributes
Show child attributes
Course tags as authored (original case).
Level of the version shown; null for a course without named levels.
available: can be bought or enrolled now. coming_soon: announced, not on sale. not_started: enrolment opens later. closed: enrolment ended or inactive.
available, coming_soon, not_started, closed False when the institute hides prices and this course is paid. Show "see price" and link to url.
Null when the course is not on sale now (see availability) or its price is hidden.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Average rating, or null when there is none.
ISO-8601 UTC. The newest version's creation time; sort=newest uses it.
Every version, in catalogue order.
Show child attributes
Show child attributes
Sanitised HTML (jsoup relaxed safelist; images http(s) only).
Plain-text version.
How the course is taught.
self_paced, live, null Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Null unless a learning path of 2+ steps lists this course.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
A schema.org Course (JSON-LD) object, ready for <script type="application/ld+json">.