Course details
Details of a course that can be offered to a contact or purchased
Course Attributes
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 thumbnail
Including Relationships
Use the include query parameter to load related resources:
Include modules, lessons and related media, and offers
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)
Module attributes
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:- Identify and display the module in the course outline
- Organize related lessons/content
- Provide navigation structure in the course
- The title must be unique within a course.
description(string) - An optional text field that provides additional information about the module’s content. This can be used to:- Give students an overview of what they’ll learn
- Explain the module’s objectives
- Provide context for the contained lessons
- Help students understand the module’s purpose in the course structure
position(integer) - A numeric field that determines the order of modules within a course. This:- Used for sorting
- Allows modules to be reordered
- Maintains the course’s logical progression
- Is used for navigation between modules
- Starts at position 1 for the first module
poster_image_url(string) - A URL to an image that represents the module visually. This:- Can be uploaded through the Kajabi admin interface
- Is used as a thumbnail/preview image
- Helps with visual organization of the course
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 available- Can be used with drip settings for timed release
- Affects the visibility of contained lessons
- Syncs with the course’s overall publishing status
Lesson attributes
Lessons 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:- Must be present
- Has a maximum length of 200 characters
- Is used for display and navigation
- Can be searched (using pg_search)
- Is used in course outlines and navigation
position(integer) - A numeric field that determines the order of lessons within a module (category). This:- Usedfor sorting (ranks :sort, column: :position)
- Is scoped within each module
- Allows lessons to be reordered
- Maintains the logical flow of content
- Is used for navigation between lessons
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 processing- This is particularly relevant for lessons with media content or during duplication.
publishing_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)
Media attributes
duration_in_minutes(float) - The length of a media file (typically video or audio) in minutes.
Sparse Fields
Use the fields parameter to request only specific attributes:
Only return title and thumbnail_url attributes
GET /v1/courses/123?fields[courses]=title,thumbnail_url
Response will only include requested fields
Using Multiple Parameters Together
You can combine sparse fields and include in a single request:
Get course details with modules and lessons, showing only specific fields
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
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