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,offers
Response 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_url
Response 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_minutes
Response 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