Skilljar Users > Published Courses > Lessons API
The Users > Published Courses > Lessons API from Skilljar — 2 operation(s) for users > published courses > lessons.
The Users > Published Courses > Lessons API from Skilljar — 2 operation(s) for users > published courses > lessons.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/skilljar:skilljar-users-published-courses-lessons-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Skilljar Users > Published Courses > Lessons 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.
tags:
- name: Users > Published Courses > Lessons
paths:
/v1/users/{user_id}/published-courses/{published_course_id}/lessons:
get:
operationId: users_published_courses_lessons_list
description: 'List lessons with progress for a user in a published course.
Returns a paginated list of lessons within a published course, including the user''s progress for each lesson.'
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- in: path
name: published_course_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
- in: path
name: user_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Users > Published Courses > Lessons
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedUserLessonProgressList'
description: ''
summary: Users published courses lessons list
x-summary-source: derived
/v1/users/{user_id}/published-courses/{published_course_id}/lessons/{lesson_id}:
get:
operationId: users_published_courses_lessons_retrieve
description: 'Retrieve lesson progress for a user.
Returns detailed progress information for a specific lesson within a published course for the user.'
parameters:
- in: path
name: lesson_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
- in: path
name: published_course_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
- in: path
name: user_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Users > Published Courses > Lessons
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserLessonProgress'
description: ''
summary: Users published courses lessons retrieve
x-summary-source: derived
put:
operationId: users_published_courses_lessons_update
description: 'Update lesson progress for a user.
PUT and PATCH are identical - both do partial updates. To mark a lesson as complete, you only need to
set the `completed_at` within the lesson progress.'
parameters:
- in: path
name: lesson_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
- in: path
name: published_course_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
- in: path
name: user_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Users > Published Courses > Lessons
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserLessonProgressRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserLessonProgressRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserLessonProgressRequest'
required: true
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserLessonProgress'
description: ''
summary: Users published courses lessons update
x-summary-source: derived
patch:
operationId: users_published_courses_lessons_partial_update
description: 'Partially update lesson progress for a user.
PUT and PATCH are identical - both do partial updates. To mark a lesson as complete, you only need to
set the `completed_at` within the lesson progress.'
parameters:
- in: path
name: lesson_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
- in: path
name: published_course_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
- in: path
name: user_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Users > Published Courses > Lessons
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUserLessonProgressRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUserLessonProgressRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUserLessonProgressRequest'
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserLessonProgress'
description: ''
summary: Users published courses lessons partial update
x-summary-source: derived
components:
schemas:
UserLessonProgressLessonProgressRequest:
type: object
description: Lesson progress within the user lesson progress endpoint.
properties:
completed_at:
type:
- string
- 'null'
format: date-time
description: Datetime at which the user completed the lesson. If null, the user hasn't completed
success_status:
description: '''PASSED'', ''FAILED'' or null
* `PASSED` - Passed
* `FAILED` - Failed'
oneOf:
- $ref: '#/components/schemas/SuccessStatusEnum'
- $ref: '#/components/schemas/NullEnum'
score:
type:
- integer
- 'null'
maximum: 2147483647
minimum: 0
description: Lesson score achieved by student
max_score:
type:
- integer
- 'null'
maximum: 2147483647
minimum: 0
description: Maximum score possible for the lesson
custom_data:
type:
- string
- 'null'
lesson_progress_id:
type: string
minLength: 1
PaginatedUserLessonProgressList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/UserLessonProgress'
UserLessonProgressLessonProgress:
type: object
description: Lesson progress within the user lesson progress endpoint.
properties:
view_count:
type: integer
readOnly: true
last_viewed_on:
type:
- string
- 'null'
format: date-time
readOnly: true
completed_at:
type:
- string
- 'null'
format: date-time
description: Datetime at which the user completed the lesson. If null, the user hasn't completed
success_status:
description: '''PASSED'', ''FAILED'' or null
* `PASSED` - Passed
* `FAILED` - Failed'
oneOf:
- $ref: '#/components/schemas/SuccessStatusEnum'
- $ref: '#/components/schemas/NullEnum'
score:
type:
- integer
- 'null'
maximum: 2147483647
minimum: 0
description: Lesson score achieved by student
max_score:
type:
- integer
- 'null'
maximum: 2147483647
minimum: 0
description: Maximum score possible for the lesson
custom_data:
type:
- string
- 'null'
lesson_progress_id:
type: string
PatchedUserLessonProgressRequest:
type: object
properties:
lesson_progress:
$ref: '#/components/schemas/UserLessonProgressLessonProgressRequest'
SuccessStatusEnum:
enum:
- PASSED
- FAILED
type: string
description: '* `PASSED` - Passed
* `FAILED` - Failed'
NullEnum:
enum:
- null
UserLessonProgressLesson:
type: object
description: Lesson information within the user lesson progress endpoint.
properties:
id:
type: string
readOnly: true
description: Known as lesson_id within the documentation
title:
type: string
readOnly: true
UserLessonProgress:
type: object
properties:
lesson:
allOf:
- $ref: '#/components/schemas/UserLessonProgressLesson'
readOnly: true
lesson_progress:
$ref: '#/components/schemas/UserLessonProgressLessonProgress'
required:
- lesson_progress
UserLessonProgressRequest:
type: object
properties:
lesson_progress:
$ref: '#/components/schemas/UserLessonProgressLessonProgressRequest'
required:
- lesson_progress
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