Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Load the related resources, for example ?include=modules,lessons,lessons.media
Details of a course that can be offered to a contact or purchased
created_at (string) - The date and time the course was createdtitle (string) - The title of the coursedescription (string) - The description of the coursethumbnail_url (string) - The URL of the course thumbnailUse the include query parameter to load related resources:
GET /v1/courses/123?include=modules,lessons,lessons.media,offersResponse will include the requested related resources (Note: The responses listed within the “included” array will also include the relationships for each resource)
{
"data": {
"id": "123",
"type": "courses",
"attributes": {
"created_at": "2024-08-06T05:30:38.669Z",
"title": "Advanced Marketing",
"description": "Master level marketing course",
"thumbnail_url": "https://example.com/thumbnail.jpg"
},
"relationships": {
"modules": {
"data": [{
"id": "456",
"type": "modules"
}]
},
"lessons": {
"data": [{
"id": "789",
"type": "lessons"
}]
},
"offers": {
"data": [{
"id": "101",
"type": "offers"
}]
}
},
"included": [{
"id": "456",
"type": "modules",
"attributes": {
"title": "Marketing Fundamentals",
"description": "Introduction to marketing concepts",
"position": 1,
"poster_image_url": "https://example.com/poster.jpg",
"publishing_option": "published"
}
},
{
"id": "789",
"type": "lessons",
"attributes": {
"title": "Marketing Basics",
"position": 1,
"status": "published",
"publishing_option": "published"
}
},
{
"id": "202",
"type": "media",
"attributes": {
"duration_in_minutes": 1,
}
},
{
"id": "101",
"type": "offers",
"attributes": {
"price": 100.0,
"currency": "USD",
"status": "active"
}
}]
}
}
Modules are part of Kajabi’s course structure: courses contain modules and modules contain lessons
title (string) - A required field that represents the name or heading of the module. This is used to:
description (string) - An optional text field that provides additional information about the module’s content. This can be used to:
position (integer) - A numeric field that determines the order of modules within a course. This:
poster_image_url (string) - A URL to an image that represents the module visually. This:
publishing_option (string) - Controls the visibility and availability of the module. Options include:
published - Module is visible and available to studentsdraft - Module is hidden and not yet availableLessons can include various types of content: text content (body), videos, audio, quizzes, assessments, and downloads.
title (string) - A required field that represents the name or heading of the lesson. This:
position (integer) - A numeric field that determines the order of lessons within a module (category). This:
status (string) - An field that tracks the lesson’s processing state:
ready - Default state, lesson is ready for useduplicating - Lesson is being copiedfailed - An error occurred during processingpublishing_option (string) - Controls the visibility and availability of the lesson. Options include:
draft - Lesson is hidden and not yet available to studentspublished - Lesson is visible and available (sets publish_at to current time)drip - Lesson becomes available after a specified number of dayslocked - Lesson is locked until certain conditions are met (e.g., completing previous lessons)duration_in_minutes (float) - The length of a media file (typically video or audio) in minutes.Use the fields parameter to request only specific attributes:
GET /v1/courses/123?fields[courses]=title,thumbnail_urlResponse will only include requested fields
{
"data": {
"id": "123",
"type": "courses",
"attributes": {
"title": "Marketing Fundamentals",
"thumbnail_url": "https://example.com/thumbnail.jpg"
}
}
}
You can combine sparse fields and include in a single request:
GET /v1/courses/123?include=modules,lessons,lessons.media&fields[courses]=title,thumbnail_url&fields[modules]=title&fields[lessons]=title&fields[media]=duration_in_minutesResponse will include related resources with requested fields
{
"data": {
"id": "123",
"type": "courses",
"attributes": {
"title": "Marketing Fundamentals",
"thumbnail_url": "https://example.com/thumbnail.jpg"
},
"relationships": {}
},
"included": [{
"id": "456",
"type": "modules",
"attributes": {
"title": "Marketing Basics"
}
},
{
"id": "789",
"type": "lessons",
"attributes": {
"title": "Marketing Strategies"
}
},
{
"id": "101",
"type": "media",
"attributes": {
"duration_in_minutes": 30
}
}]
}
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Load the related resources, for example ?include=modules,lessons,lessons.media