Skilljar Domains > Published Courses API
The Domains > Published Courses API from Skilljar — 2 operation(s) for domains > published courses.
The Domains > Published Courses API from Skilljar — 2 operation(s) for domains > published courses.
openapi: 3.0.3
info:
title: Skilljar Assets Domains > Published Courses API
version: 1.0.0
description: 'The Skilljar API provides comprehensive access to our customer education platform, enabling you to programmatically manage courses, users, enrollments, and more.
This interactive documentation is automatically generated from our codebase and stays current with the latest features and endpoints.
## Getting Started
New to the Skilljar API? Check out these essential resources:
- **[API Getting Started Guide](https://support.gainsight.com/Skilljar/Develop_and_Customize/API/Getting_started_with_the_Skilljar_API)** - Authentication, basic concepts, and your first API call
- **[Token-based SSO](https://support.gainsight.com/Skilljar/Develop_and_Customize/Single_Sign_on_(SSO)/Configuring_Token-Based_Single_Sign-On_(SSO))** - Seamlessly integrate user authentication
- **[Webhooks](https://support.gainsight.com/Skilljar/Develop_and_Customize/API/Using_Webhooks_API)** - Real-time notifications for platform events
'
tags:
- name: Domains > Published Courses
paths:
/v1/domains/{domain_name}/published-courses:
get:
operationId: domains_published_courses_list
description: 'List all courses published to this domain.
Returns a paginated list of published courses for the domain.
Supports filtering by course ID and searching by keyword.'
parameters:
- in: query
name: course__id
schema:
type: string
description: Filter by course id, e.g. `course__id=abcd1234`
- in: path
name: domain_name
schema:
type: string
pattern: ^[-:\.0-9a-z]+$
required: true
- in: query
name: include_searchable_content
schema:
type: boolean
description: If set to True, the response also includes the following fields ('lesson_list', 'tags', 'short_description', 'long_description_html', 'search_keywords')
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- in: query
name: search
schema:
type: string
description: URL encoded string, return the results and the order as if a catalog search
tags:
- Domains > Published Courses
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedPublishedCourseList'
description: ''
post:
operationId: domains_published_courses_create
description: 'Publish a course to this domain.
Makes a course available to learners on the specified domain.
The course must not already be published to this domain.'
parameters:
- in: path
name: domain_name
schema:
type: string
pattern: ^[-:\.0-9a-z]+$
required: true
tags:
- Domains > Published Courses
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PublishedCourseCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PublishedCourseCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PublishedCourseCreateRequest'
required: true
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/PublishedCourseCreate'
description: ''
/v1/domains/{domain_name}/published-courses/{published_course_id}:
get:
operationId: domains_published_courses_retrieve
description: "Retrieve a published course for this domain.\n\nReturns detailed information about a published course, including metadata, publishing settings,\n and catalog ordering."
parameters:
- in: path
name: domain_name
schema:
type: string
pattern: ^[-:\.0-9a-z]+$
required: true
- in: path
name: published_course_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Domains > Published Courses
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PublishedCourseDetail'
description: ''
put:
operationId: domains_published_courses_update
description: 'Update a published course in this domain.
Allows partial updates to published course settings, such as visibility, registration, or slug.'
parameters:
- in: path
name: domain_name
schema:
type: string
pattern: ^[-:\.0-9a-z]+$
required: true
- in: path
name: published_course_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Domains > Published Courses
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PublishedCourseRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PublishedCourseRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PublishedCourseRequest'
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PublishedCourse'
description: ''
patch:
operationId: domains_published_courses_partial_update
description: 'Partially update a published course in this domain.
Allows partial updates to published course settings, such as visibility, registration, or slug.'
parameters:
- in: path
name: domain_name
schema:
type: string
pattern: ^[-:\.0-9a-z]+$
required: true
- in: path
name: published_course_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Domains > Published Courses
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedPublishedCourseRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedPublishedCourseRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedPublishedCourseRequest'
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PublishedCourse'
description: ''
delete:
operationId: domains_published_courses_destroy
description: "Unpublish a course from this domain.\n\nRemoves the course from the domain, making it inaccessible to learners.\nThis action is irreversible and also removes the course from all associated\n content syndication configurations."
parameters:
- in: path
name: domain_name
schema:
type: string
pattern: ^[-:\.0-9a-z]+$
required: true
- in: path
name: published_course_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Domains > Published Courses
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'204':
description: No response body
components:
schemas:
PublishedCourseDetail:
type: object
properties:
id:
type: string
readOnly: true
description: Known as published_course_id within the documentation
course:
$ref: '#/components/schemas/CourseDetail'
slug:
type: string
description: The URL path of the course on the domain
pattern: ^[a-z0-9]+(-[a-z0-9]+)+$
maxLength: 100
course_url:
type: string
readOnly: true
description: Base URL of the course detail page, or curriculum page if the student is registered
hidden:
type: boolean
description: Hidden courses are only visible on the catalog page to associated groups
strict_enforce_group_visibility:
type: boolean
description: Block access to this course for students it's not visible to
registration_required:
type: boolean
description: Registration is required for student to access course, false signifies that the course content is public
registration_starts_at:
type: string
format: date-time
description: ISO 8601 formatted datetime string indicating when the start of the registration period is scheduled
registration_ends_at:
type: string
format: date-time
description: ISO 8601 formatted datetime string indicating when the end of the registration period is scheduled
restrict_access_start_end_dates:
type: boolean
description: Restrict access to the course based on the start and end dates of the registration period
allow_self_service_reenroll:
type: boolean
description: When students complete the course, they will be allowed to re-enroll in the course immediately
unique_progress_per_enrollment:
type: boolean
description: Each time a student re-enrolls in the course, create a new course progress
require_all_prerequisites:
type: boolean
description: Require all prerequisites to be completed before the student can enroll in the course
timezone:
type: string
nullable: true
readOnly: true
offer:
allOf:
- $ref: '#/components/schemas/Offer'
readOnly: true
required:
- course
PublishedCourse:
type: object
properties:
id:
type: string
readOnly: true
description: Known as published_course_id within the documentation
course:
allOf:
- $ref: '#/components/schemas/CourseSummary'
readOnly: true
slug:
type: string
description: The URL path of the course on the domain
pattern: ^[a-z0-9]+(-[a-z0-9]+)+$
maxLength: 100
course_url:
type: string
readOnly: true
description: Base URL of the course detail page, or curriculum page if the student is registered
hidden:
type: boolean
description: Hidden courses are only visible on the catalog page to associated groups
strict_enforce_group_visibility:
type: boolean
description: Block access to this course for students it's not visible to
registration_required:
type: boolean
description: Registration is required for student to access course, false signifies that the course content is public
registration_starts_at:
type: string
format: date-time
description: ISO 8601 formatted datetime string indicating when the start of the registration period is scheduled
registration_ends_at:
type: string
format: date-time
description: ISO 8601 formatted datetime string indicating when the end of the registration period is scheduled
restrict_access_start_end_dates:
type: boolean
description: Restrict access to the course based on the start and end dates of the registration period
allow_self_service_reenroll:
type: boolean
description: When students complete the course, they will be allowed to re-enroll in the course immediately
unique_progress_per_enrollment:
type: boolean
description: Each time a student re-enrolls in the course, create a new course progress
require_all_prerequisites:
type: boolean
description: Require all prerequisites to be completed before the student can enroll in the course
timezone:
type: string
nullable: true
readOnly: true
offer:
allOf:
- $ref: '#/components/schemas/Offer'
readOnly: true
Offer:
type: object
properties:
id:
type: string
readOnly: true
registration_open:
type: boolean
registration_url:
type: string
readOnly: true
description: URL used for course registration
price:
$ref: '#/components/schemas/Price'
required:
- price
- registration_open
PatchedPublishedCourseRequest:
type: object
properties:
slug:
type: string
description: The URL path of the course on the domain
pattern: ^[a-z0-9]+(-[a-z0-9]+)+$
maxLength: 100
hidden:
type: boolean
description: Hidden courses are only visible on the catalog page to associated groups
strict_enforce_group_visibility:
type: boolean
description: Block access to this course for students it's not visible to
registration_required:
type: boolean
description: Registration is required for student to access course, false signifies that the course content is public
registration_starts_at:
type: string
format: date-time
description: ISO 8601 formatted datetime string indicating when the start of the registration period is scheduled
registration_ends_at:
type: string
format: date-time
description: ISO 8601 formatted datetime string indicating when the end of the registration period is scheduled
restrict_access_start_end_dates:
type: boolean
description: Restrict access to the course based on the start and end dates of the registration period
allow_self_service_reenroll:
type: boolean
description: When students complete the course, they will be allowed to re-enroll in the course immediately
unique_progress_per_enrollment:
type: boolean
description: Each time a student re-enrolls in the course, create a new course progress
require_all_prerequisites:
type: boolean
description: Require all prerequisites to be completed before the student can enroll in the course
PublishedCourseCreateCourseSummaryRequest:
type: object
description: Serializes reference to course by ID in payload when creating a published course.
properties:
id:
type: string
minLength: 1
required:
- id
PublishedCourseCreateCourseSummary:
type: object
description: Serializes reference to course by ID in payload when creating a published course.
properties:
id:
type: string
title:
type: string
readOnly: true
description: Course title
lesson_count:
type: integer
readOnly: true
description: Number of lessons in the course
required_lesson_count:
type: integer
readOnly: true
description: Number of required lessons in the course (non-optional lessons that count towards course completion)
required:
- id
CourseSummary:
type: object
properties:
id:
type: string
readOnly: true
description: Known as course_id within the documentation
title:
type: string
readOnly: true
description: Course title
lesson_count:
type: integer
readOnly: true
description: Number of lessons in the course
required_lesson_count:
type: integer
readOnly: true
description: Number of required lessons in the course (non-optional lessons that count towards course completion)
PublishedCourseCreate:
type: object
description: Serializer for creating a published course.
properties:
id:
type: string
readOnly: true
description: Known as published_course_id within the documentation
course:
allOf:
- $ref: '#/components/schemas/PublishedCourseCreateCourseSummary'
description: Id of the course to publish
slug:
type: string
description: The URL path of the course on the domain
pattern: ^[a-z0-9]+(-[a-z0-9]+)+$
maxLength: 100
course_url:
type: string
readOnly: true
description: Base URL of the course detail page, or curriculum page if the student is registered
hidden:
type: boolean
description: Hidden courses are only visible on the catalog page to associated groups
strict_enforce_group_visibility:
type: boolean
description: Block access to this course for students it's not visible to
registration_required:
type: boolean
description: Registration is required for student to access course, false signifies that the course content is public
registration_starts_at:
type: string
format: date-time
description: ISO 8601 formatted datetime string indicating when the start of the registration period is scheduled
registration_ends_at:
type: string
format: date-time
description: ISO 8601 formatted datetime string indicating when the end of the registration period is scheduled
restrict_access_start_end_dates:
type: boolean
description: Restrict access to the course based on the start and end dates of the registration period
allow_self_service_reenroll:
type: boolean
description: When students complete the course, they will be allowed to re-enroll in the course immediately
unique_progress_per_enrollment:
type: boolean
description: Each time a student re-enrolls in the course, create a new course progress
require_all_prerequisites:
type: boolean
description: Require all prerequisites to be completed before the student can enroll in the course
timezone:
type: string
nullable: true
readOnly: true
offer:
allOf:
- $ref: '#/components/schemas/Offer'
readOnly: true
required:
- course
CourseDetail:
type: object
properties:
id:
type: string
readOnly: true
description: Known as course_id within the documentation
title:
type: string
readOnly: true
description: Course title
lesson_count:
type: integer
readOnly: true
description: Number of lessons in the course
required_lesson_count:
type: integer
readOnly: true
description: Number of required lessons in the course (non-optional lessons that count towards course completion)
short_description:
type: string
readOnly: true
description: Course short description
long_description_html:
type: string
readOnly: true
description: Course long description in HTML format
PaginatedPublishedCourseList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/PublishedCourse'
PublishedCourseRequest:
type: object
properties:
slug:
type: string
description: The URL path of the course on the domain
pattern: ^[a-z0-9]+(-[a-z0-9]+)+$
maxLength: 100
hidden:
type: boolean
description: Hidden courses are only visible on the catalog page to associated groups
strict_enforce_group_visibility:
type: boolean
description: Block access to this course for students it's not visible to
registration_required:
type: boolean
description: Registration is required for student to access course, false signifies that the course content is public
registration_starts_at:
type: string
format: date-time
description: ISO 8601 formatted datetime string indicating when the start of the registration period is scheduled
registration_ends_at:
type: string
format: date-time
description: ISO 8601 formatted datetime string indicating when the end of the registration period is scheduled
restrict_access_start_end_dates:
type: boolean
description: Restrict access to the course based on the start and end dates of the registration period
allow_self_service_reenroll:
type: boolean
description: When students complete the course, they will be allowed to re-enroll in the course immediately
unique_progress_per_enrollment:
type: boolean
description: Each time a student re-enrolls in the course, create a new course progress
require_all_prerequisites:
type: boolean
description: Require all prerequisites to be completed before the student can enroll in the course
Price:
type: object
properties:
amount:
type: string
default: '0.00'
currency_code:
type: string
default: USD
PublishedCourseCreateRequest:
type: object
description: Serializer for creating a published course.
properties:
course:
allOf:
- $ref: '#/components/schemas/PublishedCourseCreateCourseSummaryRequest'
description: Id of the course to publish
slug:
type: string
description: The URL path of the course on the domain
pattern: ^[a-z0-9]+(-[a-z0-9]+)+$
maxLength: 100
hidden:
type: boolean
description: Hidden courses are only visible on the catalog page to associated groups
strict_enforce_group_visibility:
type: boolean
description: Block access to this course for students it's not visible to
registration_required:
type: boolean
description: Registration is required for student to access course, false signifies that the course content is public
registration_starts_at:
type: string
format: date-time
description: ISO 8601 formatted datetime string indicating when the start of the registration period is scheduled
registration_ends_at:
type: string
format: date-time
description: ISO 8601 formatted datetime string indicating when the end of the registration period is scheduled
restrict_access_start_end_dates:
type: boolean
description: Restrict access to the course based on the start and end dates of the registration period
allow_self_service_reenroll:
type: boolean
description: When students complete the course, they will be allowed to re-enroll in the course immediately
unique_progress_per_enrollment:
type: boolean
description: Each time a student re-enrolls in the course, create a new course progress
require_all_prerequisites:
type: boolean
description: Require all prerequisites to be completed before the student can enroll in the course
required:
- course
securitySchemes:
OrganizationApiKey:
type: http
scheme: basic
description: API key authentication using HTTP Basic Auth. Use your API key as the username and leave password empty.
tokenAuth:
type: http
scheme: bearer