Skilljar API endpoint reference
This page documents API endpoints supported by the Skilljar platform. It is auto-generated from our source code and therefore kept up to date as we add additional operations. To learn about the Skilljar API and get an overview of how objects are structured within the course platform, it's better to start with the following articles:
assets
list
Returns a paginated list of Asset
objects associated with your organization.
Example Response
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "asdfv34d",
"name": "Title",
"type": "Video",
"embed_link_url": "url://url",
"aspect_ratio": "16:9",
"sync_completion": true
}
]
}
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
create
Creates an Asset
object.
The file will be downloaded from the remote source and re-hosted in Skilljar.
Example Request
{ "content_url": "url://foofoo/video.mp4", "asset": { "name": "string", "sync_completion": true } }
Valid fields in the asset
request object:
* name
(OPTIONAL, default: built dynamically)
* embed_link_url
(OPTIONAL, but must be present if content_url is not)
* aspect_ratio
(OPTIONAL, can only be 16:9 or 4:3, default 16:9)
* sync_completion
(OPTIONAL, default False)
Example Response
{ "id": "asdfv34d", "name": "Title", "type": "Video", "embed_link_url": "url://url", "aspect_ratio": "16:9", "sync_completion": true }
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
content_url | String | |
asset | Object |
read
Retrieves details for an asset associated with your organization.
Example Response
{ "id": "asdfv34d", "name": "Title", "type": "Video", "embed_link_url": "url://url", "aspect_ratio": "16:9", "sync_completion": true }
- download_url is a signed url that will be valid for 1 hour after generation.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
id required | String |
courses
list
Returns a paginated list of Course
objects associated with your organization.
Example Response
{ "count": 2079, "next": null, "previous": null, "results": [ { "id": "376culderht1r", "enforce_sequential_navigation": false, "long_description_html": "
cats/p>", "short_description": "I am not a bird.", "title": "Cat Stuff", "labels": ["Cat", "Bird"] } ] }
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
create
Creates a Course
object.
Example Request
{ "enforce_sequential_navigation":false, "long_description_html":"This is a description", "short_description":"Short Description", "title":"This is a title", "labels":["Car Talk","Happy Days"] }
Example Response
{ "id": "i8rjpc87e5vp", "enforce_sequential_navigation": false, "long_description_html": "This is a description", "short_description": "Short Description", "title": "This is a title", "labels": ["Car Talk","Happy Days"] }
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
enforce_sequential_navigation required | Enforce sequential navigation | Boolean |
long_description_html | The long description as HTML content | String |
short_description required | The short description of the course | String |
title required | The title of the course | String |
labels | A comma separated list of labels ex: ["label1", "label2"] | Array |
update
Update Course details. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
enforce_sequential_navigation required | Enforce sequential navigation | Boolean |
long_description_html | The long description as HTML content | String |
short_description required | The short description of the course | String |
title required | The title of the course | String |
labels | A comma separated list of labels ex: ["label1", "label2"] | Array |
partial_update
Course ViewSet
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
enforce_sequential_navigation | Enforce sequential navigation | Boolean |
long_description_html | The long description as HTML content | String |
short_description | The short description of the course | String |
title | The title of the course | String |
labels | A comma separated list of labels ex: ["label1", "label2"] | Array |
domains
list
List domains. Returns a paginated response (100 results per page) of domains.
Example Response:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "abcdefg123456",
"name": "example.com",
"catalog_title": "<h1 style=\"font-weight: 400; font-size: 28px;\">All Courses</h1>",
"access": "PUBLIC",
"access_code_message_html": "",
"marketing_message": ""
}
]
}
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
read
Get domain details.
Example Response:
{
"id": "abcdefg123456",
"name": "example.com",
"catalog_title": "<h1 style=\"font-weight: 400; font-size: 28px;\">All Courses</h1>",
"private": true,
"access": "PUBLIC",
"access_code_message_html": "",
"marketing_message": ""
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String |
update
Update domain details. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
catalog_title | HTML content displayed at the top of the catalog page | String |
access | Domain access settings | Enum |
access_code_message_html | String | |
marketing_message | Private domain marketing opt-in message, shown with checkbox on the signup page | String |
partial_update
Update domain details. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
catalog_title | HTML content displayed at the top of the catalog page | String |
access | Domain access settings | Enum |
access_code_message_html | String | |
marketing_message | Private domain marketing opt-in message, shown with checkbox on the signup page | String |
access-code-pools > list
List access code pools for a domain. Returns a paginated list (100 results per page) of access code pools.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
name | Filter returned access code pools by name | String |
access-code-pools > create
Create an empty pool of domain access codes.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
name required | Name of the access code pool. This may have been auto-generated when creating individual codes in the dashboard. | String |
active | Boolean | |
start_date | String | |
end_date | String | |
expire_linked_to_domain_membership | When this is true and an end_date is set, a user who registers with a code from this pool will lose access to the domain on the end_date. | Boolean |
access-code-pools > read
Retrieve access code pool details.
Example Response:
{
"id": "abcde1234",
"name": "example-pool",
"active": true,
"start_date": 2016-01-29T00:22:00.590250Z,
"end_date": null,
"expire_linked_to_domain_membership": false,
"channel": "api",
"code_count": 1
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
access_code_pool_id required | String |
access-code-pools > update
Update access code pool. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
access_code_pool_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
name | Name of the access code pool. This may have been auto-generated when creating individual codes in the dashboard. | String |
active | Boolean | |
start_date | String | |
end_date | String | |
expire_linked_to_domain_membership | When this is true and an end_date is set, a user who registers with a code from this pool will lose access to the domain on the end_date. | Boolean |
access-code-pools > partial_update
Update access code pool. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
access_code_pool_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
name | Name of the access code pool. This may have been auto-generated when creating individual codes in the dashboard. | String |
active | Boolean | |
start_date | String | |
end_date | String | |
expire_linked_to_domain_membership | When this is true and an end_date is set, a user who registers with a code from this pool will lose access to the domain on the end_date. | Boolean |
access-code-pools > access-codes > list
List access codes in a pool. Returns a paginated list (1000 results per page) of access codes.
Example Response:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "abcde12345",
"code": "examplecode",
"active": true,
"max_uses": 3,
"use_count": 2,
"duration": null,
"duration_unit": "MONTHS"
}
]
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
access_code_pool_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
access-code-pools > access-codes > create
Add an access code to a pool.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
access_code_pool_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
code | String | |
active | Boolean | |
max_uses | Integer | |
duration | Integer | |
duration_unit | Enum |
access-code-pools > access-codes > read
Retrieve access code details.
Example Response:
{
"code": "examplecode",
"active": true,
"max_uses": 3,
"use_count": 2,
"duration": null,
"duration_unit": "Months"
"users": [
{
"id": "abcdef12345",
"email": "janedoe@example.com",
"first_name": "Jane",
"last_name": "Doe"
},
{
"id": "bcdeg23456",
"email": "jamesdoe@example.com",
"first_name": "James",
"last_name": "Doe"
},
]
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
access_code_pool_id required | String | |
access_code_id required | String |
access-code-pools > access-codes > update
Update access code. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
access_code_pool_id required | String | |
access_code_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
code | String | |
active | Boolean | |
max_uses | Integer | |
duration | Integer | |
duration_unit | Enum |
access-code-pools > access-codes > partial_update
Update access code. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
access_code_pool_id required | String | |
access_code_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
code | String | |
active | Boolean | |
max_uses | Integer | |
duration | Integer | |
duration_unit | Enum |
course-series > list
List course series on a domain.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
course-series > published-courses > list
List published courses in a course series
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
course_series_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
plan > list
Returns a list of Plans in a domain. Returns a paginated list (100 results per page) of Plans.
Example Response: { "count": 1, "next": null, "previous": null, "results": [ { "id": "abcdefg123456", "plan": { "id": "cdefghi345678", "title": "Example Plan Title", }, "plan_url": "http://learn.example.com/plan/example-plan-title", "offer": { "id": "bcdefgh234567", "registration_open": true, "registration_url": "http://learn.example.com/checkout/bcdefgh234567", "price": { "amount": "20.00", "currency_code": "USD" } } } ] }
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
plan > plan-enrollments > list
List enrollments for a Plan. A user may have multiple plan enrollments, and will have access to a plan if at least one of the enrollments is active and not expired. If an enrollment was created in association with a purchase, or registration through the course platform UI, the purchase details are included in the response. Returns a paginated list (1000 results per page) of enrollments.
Example Response:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "abcdefg123456",
"user": {
"id": "bcdefga123456",
"email": "jane@doe.com",
"first_name": "Jane",
"last_name": "Doe",
},
"enrolled_at": "2015-01-29T00:22:00.590250Z",
"expires_at": null,
"active": true,
"purchase": {
"order_id": "",
"offer_price": {
"amount": "100.00",
"currency_code": "USD"
},
"purchase_price": {
"amount": "50.00",
"currency_code": "USD"
},
"quantity": 1,
"purchase_state": "SUCCESS",
"payment_processor": "STRIPE",
"purchase_id": "xxxxxxxxxxxx",
"purchased_at": "2020-08-19T14:12:25.736506Z",
"tax_price_cents": 0
}
}
]
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
plan_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
plan > plan-enrollments > create
Enroll a user in a Plan. This operation is idempotent on the user.id & enrolled_at combination. POSTing multiple times to this endpoint will NOT create a new enrollment for an existing user.id & enrolled_at combination. However, each call will create a new enrollment if either the user.id or enrolled_at parameter does not match an existing enrollment.
purchase_state = 'CREATED', 'PENDING', 'SUCCESS', 'FAILED', 'REFUNDED', 'CANCELLED', or 'FLAGGED'
Example POST body (if POSTing JSON rather than form-encoded parameters):
{
"user": {
"id": "abcde12345",
},
"enrolled_at" : "2018-03-12T10:12:45Z",
"expires_at" : "2018-05-12T10:12:45Z",
"active": true,
"purchase": {
"purchase_state": "SUCCESS",
"purchase_price": {
"amount": "5.00",
"currency_code": "USD"
},
"purchased_at": "2018-02-12T10:12:45Z",
"tax_price_cents": 100
}
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
plan_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
user required | Object | |
enrolled_at | String | |
expires_at | String | |
active | Boolean | |
purchase | Object |
plan > plan-enrollments > read
Get Plan enrollment details. If an enrollment was created in association with a purchase, or registration through the course platform UI, the purchase details are included in the response.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
plan_id required | String | |
plan_enrollment_id required | String |
plan > plan-enrollments > update
Update enrollment details. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
plan_id required | String | |
plan_enrollment_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
expires_at | String | |
active | Boolean |
plan > plan-enrollments > partial_update
Update enrollment details. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
plan_id required | String | |
plan_enrollment_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
expires_at | String | |
active | Boolean |
published-courses > list
List courses published to a domain. Returns a paginated list (100 results per page) of published courses.
Example Response:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "abcdefg123456",
"course": {
"id": "cdefghi345678",
"title": "Example Title"
},
"slug": "example-course",
"course_url": "http://learn.example.com/example-course",
"hidden": false,
"registration_required": true,
"registration_starts_at": "2017-11-28T08:00:00Z",
"registration_ends_at": "2018-09-30T06:00:00Z",
"timezone": "US/Pacific",
"offer": {
"id": "bcdefgh234567",
"registration_open": true,
"registration_url": "http://learn.example.com/checkout/bcdefgh234567",
"price": {
"amount": "100.00",
"currency_code": "USD"
}
}
}
]
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
include_searchable_content | If set to True, the response also includes the following fields ('lesson_list', 'tags', 'short_description', 'long_description_html', 'search_keywords') | String |
search | URL encoded string, return the results and the order as if a catalog search | String |
published-courses > read
Retrieve course details.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
published_course_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
include_searchable_content | If set to True, the response also includes the following fields ('lesson_list', 'tags', 'short_description', 'long_description_html', 'search_keywords') | String |
published-courses > enrollments > list
List enrollments for a PublishedCourse. A user may have multiple enrollments, and will have access to a course if at least one of the enrollments is active and not expired. If an enrollment was created in association with a purchase, or registration through the course platform UI, the purchase details are included in the response. Returns a paginated list (1000 results per page) of enrollments.
Example Response:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "abcdefg123456",
"user": {
"id": "bcdefga123456",
"email": "jane@doe.com",
"first_name": "Jane",
"last_name": "Doe",
},
"enrolled_at": "2015-01-29T00:22:00.590250Z",
"expires_at": null,
"active": true,
"purchase": {
"order_id": "",
"offer_price": {
"amount": "100.00",
"currency_code": "USD"
},
"purchase_price": {
"amount": "50.00",
"currency_code": "USD"
},
"quantity": 1,
"purchase_state": "SUCCESS",
"payment_processor": "STRIPE",
"purchase_id": "xxxxxxxxxxxx",
"purchased_at": "2021-07-02T18:17:30.640768Z",
"tax_price_cents": 0
}
}
]
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
published_course_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
published-courses > enrollments > create
Enroll a user in a PublishedCourse. This operation is idempotent on the user.id & enrolled_at combination. POSTing multiple times to this endpoint will NOT create a new enrollment for an existing user.id & enrolled_at combination. However, each call will create a new enrollment if either the user.id or enrolled_at parameter does not match an existing enrollment.
purchase_state = 'CREATED', 'PENDING', 'SUCCESS', 'FAILED', 'REFUNDED', 'CANCELLED', or 'FLAGGED'
Example POST body (if POSTing JSON rather than form-encoded parameters):
{
"user": {
"id": "abcde12345",
},
"enrolled_at" : "2018-03-12T10:12:45Z",
"expires_at" : "2018-05-12T10:12:45Z",
"active": true,
"purchase": {
"purchase_state": "SUCCESS",
"purchase_price": {
"amount": "5.00",
"currency_code": "USD"
},
"purchased_at": "2018-02-12T10:12:45Z",
"tax_price_cents": 100
}
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
published_course_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
user required | Object | |
enrolled_at | String | |
expires_at | String | |
active | Boolean | |
purchase | Object |
published-courses > enrollments > read
Get enrollment details. If an enrollment was created in association with a purchase, or registration through the course platform UI, the purchase details are included in the response.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
published_course_id required | String | |
enrollment_id required | String |
published-courses > enrollments > update
Update enrollment details. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
published_course_id required | String | |
enrollment_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
expires_at | String | |
active | Boolean |
published-courses > enrollments > partial_update
Update enrollment details. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
published_course_id required | String | |
enrollment_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
expires_at | String | |
active | Boolean |
published-paths > list
Returns a list of Published Paths published to a domain. Returns a paginated list (100 results per page) of Published Paths.
Example Response: { "count": 1, "next": null, "previous": null, "results": [ { "id": "abcdefg123456", "path": { "id": "cdefghi345678", "title": "Example Path Title", "path_item_count": 0 }, "path_url": "http://learn.example.com/path/example-path-title", "offer": { "id": "bcdefgh234567", "registration_open": true, "registration_url": "http://learn.example.com/checkout/bcdefgh234567", "price": { "amount": "20.00", "currency_code": "USD" } } } ] }
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
include_searchable_content | If set to True, the response also includes the following fields ('path_item_list', 'title', 'short_description', 'long_description_html', 'search_keywords' 'tags', 'hidden') | String |
search | URL encoded string, return the results and the order as if a catalog search. Note - This does not search within the path_item_list. | String |
published-paths > read
Retrieve Published Path details.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
include_searchable_content | If set to True, the response also includes the following fields ('path_item_list', 'title', 'short_description', 'long_description_html', 'search_keywords' 'tags', 'hidden') | String |
search | URL encoded string, return the results and the order as if a catalog search. Note - This does not search within the path_item_list. | String |
published-paths > published-path-enrollments > list
List enrollments for a Published Path. A user may have multiple published path enrollments, and will have access to a path if at least one of the enrollments is active and not expired. If an enrollment was created in association with a purchase, or registration through the course platform UI, the purchase details are included in the response. Returns a paginated list (1000 results per page) of enrollments.
Example Response:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "abcdefg123456",
"user": {
"id": "bcdefga123456",
"email": "jane@doe.com",
"first_name": "Jane",
"last_name": "Doe",
},
"enrolled_at": "2015-01-29T00:22:00.590250Z",
"expires_at": null,
"active": true,
"purchase": {
"order_id": "",
"offer_price": {
"amount": "100.00",
"currency_code": "USD"
},
"purchase_price": {
"amount": "50.00",
"currency_code": "USD"
},
"quantity": 1,
"purchase_state": "SUCCESS",
"payment_processor": "STRIPE",
"purchase_id": "xxxxxxxxxxxx",
"purchased_at": "2021-07-02T18:17:30.640768Z",
"tax_price_cents": 0
}
}
]
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
published_path_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
published-paths > published-path-enrollments > create
Enroll a user in a PublishedPath. This operation is idempotent on the user.id & enrolled_at combination. POSTing multiple times to this endpoint will NOT create a new enrollment for an existing user.id & enrolled_at combination. However, each call will create a new enrollment if either the user.id or enrolled_at parameter does not match an existing enrollment.
purchase_state = 'CREATED', 'PENDING', 'SUCCESS', 'FAILED', 'REFUNDED', 'CANCELLED', or 'FLAGGED'
Example POST body (if POSTing JSON rather than form-encoded parameters):
{
"user": {
"id": "abcde12345",
},
"enrolled_at" : "2018-03-12T10:12:45Z",
"expires_at" : "2018-05-12T10:12:45Z",
"active": true,
"purchase": {
"purchase_state": "SUCCESS",
"purchase_price": {
"amount": "5.00",
"currency_code": "USD"
},
"purchased_at": "2018-02-12T10:12:45Z",
"tax_price_cents": 100
}
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
published_path_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
user required | Object | |
enrolled_at | String | |
expires_at | String | |
active | Boolean | |
purchase | Object |
published-paths > published-path-enrollments > read
Get Published Path enrollment details. If an enrollment was created in association with a purchase, or registration through the course platform UI, the purchase details are included in the response.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
published_path_id required | String | |
published_path_enrollment_id required | String |
published-paths > published-path-enrollments > update
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
published_path_id required | String | |
published_path_enrollment_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
expires_at | String | |
active | Boolean |
published-paths > published-path-enrollments > partial_update
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
published_path_id required | String | |
published_path_enrollment_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
expires_at | String | |
active | Boolean |
signup-fields > list
List signup fields for a domain.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
users > list
List users for a domain. Returns a paginated list (1000 results per page) of domain user details.
Example Response:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"user": {
"id": "opqrstu345678",
"email": "joe@example.com",
"first_name": "Joe",
"last_name": "User"
},
"active": true,
"marketing_optin": null,
"enrolled_at": "2015-01-29T00:22:00.590250Z",
"expires_at": null,
"access_code": null
},
{
"user": {
"id": "cdefghi567890",
"email": "jane@example.com",
"first_name": "Jane",
"last_name": "Doe"
},
"active": false,
"marketing_optin": null,
"enrolled_at": "2015-02-15T00:43:10.123456Z",
"expires_at": null,
"access_code": {
"id": "defghij678901",
"code": "opensesame",
"pool": {
"id": "efghijk789012",
"name": "Genie Codes"
}
}
}
]
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
user__email | Filter domain users by email address | String |
user__first_name | Filter domain users by first name - case sensitive | String |
user__last_name | Filter domain users by last name - case sensitive | String |
active | Filter domain users by active (true or false) | String |
access_code__code | Filter domain users by access code used - case sensitive | String |
access_code__id | Filter domain users by id of access code used - not case sensitive | String |
access_code__pool__id | Filter domain users by id of access code pool used - not case sensitive | String |
access_code | Use a value of "null" to see domain users who accessed the domain without an access code. No other values are accepted for this query. | String |
signup_field_id | Filter domain users by a sign up field ID | String |
signup_field_label | Filter domain users by a sign up field Label - case sensitive | String |
signup_field_value | Filter domain users by a sign up field Value - case sensitive | String |
include_signup_field_data | If set to true, the response also includes the following data for each user ("signup_fields") | String |
users > create
Add a user to a domain. Users must have unique email addresses. You may POST an existing user (existing email address) to the domain, and the call will still return successfully with the existing user details. If you POST a new user email to the domain, the call will create a new user within the system.
Example POST body (if POSTing JSON rather than form-encoded parameters):
{
"user": {
"email": "bob@example.com",
"first_name": "Bob",
"last_name": "User"
}
}
Example Response:
{
"user": {
"id": "qrstuvw321098",
"email": "bob@example.com",
"first_name": "Bob",
"last_name": "User"
},
"active": true,
"marketing_optin": null,
"enrolled_at": "2015-01-29T00:22:00.590250Z",
"expires_at": null,
"access_code": null,
"login_token": "qrstuvw321098-3xn-a1b23cd456dfg7890hijk"
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
user required | User details | Object |
active | Only active users have access to a private domain | Boolean |
marketing_optin | Indicates user has accepted or rejected the marketing optin message. Null indicates no marketing option message was shown to user | Boolean |
expires_at | ISO 8601 formatted datetime string indicating when the access to the domain will expire - ignored on public domains | String |
users > update
Update domain user.
Only active and expires_at may be updated. Access codes may also be removed by setting the entire access_code to null.
PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
user_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
active | Boolean | |
expires_at | String | |
access_code | Information about the access code entered by the user, if they used one to join a private domain | Object |
users > partial_update
Update domain user.
Only active and expires_at may be updated. Access codes may also be removed by setting the entire access_code to null.
PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
user_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
active | Boolean | |
expires_at | String | |
access_code | Information about the access code entered by the user, if they used one to join a private domain | Object |
users > invites > list
List all invites for a user on this domain
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
user_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
users > invites > create
Create domain user invite. This will send the user an invitation via email unless send_email is set to False. User must have already been added to the domain.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
user_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
send_email | Whether or not to send the user an email inviting them to the domain. Defaults to True | Boolean |
users > signup-fields > list
List a user's signup fields.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
user_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
users > signup-fields > create
Create or update a user's signup field value.
If the user does not have a current value assigned to the POSTed signup field, this endpoint will create a new signup field value for the user. If the user already has a value associated with the signup field, it will be updated to the POSTed value.
Example POST body (if POSTing JSON rather than form-encoded parameters):
{
"signup_field": {
"id": "abcd1234"
},
"value": "My Signupfield Value"
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
user_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
signup_field required | Object | |
value required | String |
users > signup-fields-bulk > create
Create or update multiple signup field values for a user.
If the user does not have a current value assigned to any of the domain signup fields, this endpoint will create a new signup field value for the user.
If the user already has a value associated with the signup field, it will be updated to the new value.
Request Body
{
"signup_fields": [
{"id": "4mjoj729j1my", "value": "NEW VALUE"},
{"id": "2dm0wghioq6rl", "value": "ANOTHER VALUE"}
]
}
Response
On success, the service will return a 201 Created
with the Location
header set.
The Path specified in the Location
header can be used to retrieve a paginated list of all signup field values
for the user.
The response body will include all new and updated signup fields values. Unchanged values will not be included in this response.
{
"signup_fields"": [
{
"signup_field": {
"id": "4mjoj729j1my",
"label": "Job Title"
},
"value": "NEW VALUE"
},
{
"signup_field": {
"id": "2dm0wghioq6rl",
"label": "who is it"
},
"value": "ANOTHER VALUE"
}
]
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
domain_name required | String | |
user_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
signup_fields required | Array |
group-categories
groups
list
List groups. Returns a paginated list (1000 results per page) of groups.
name -- filter groups by exact match on group name
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
name | Filter groups by exact match on group name | String |
create
Creates a new Group
.
Example Request
{
"name": "Cool People",
"discount_percent": 10,
"sign_up_field_rule": {
"enforce": true,
"require_match_all": false,
"options": [
{"id": "<signup_field_option_obfuscated_id>"}
]
}
}
Properties of the sign_up_field_rule
request field
enforced
: When false, these rules will not be applied during user signuprequire_match_all
: When set totrue
, users must match all sign up field options. When set tofalse
, any sign up field match will grant group membership.options
: a list of {"id": ""} pairs that matching users should have assigned.
Example Response
{
"id": "17stq4h0ssozk",
"name": "Cool People",
"user_count": 0,
"discount_percent": 10,
"group_category_id": null,
"sign_up_field_rule": {
"enforce": true,
"require_match_all": false,
"options": [ ]
}
}
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
name required | Unique name of the group | String |
discount_percent | A percentage based discount that will apply to all purchasable objects/courses | Integer |
group_category_id | String | |
sign_up_field_rule | Signup field rule configuration. Users with matching signup values will be automatic assigned to this group. | Object |
update
Update group details. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
group_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
name required | Unique name of the group | String |
discount_percent | A percentage based discount that will apply to all purchasable objects/courses | Integer |
group_category_id | String | |
sign_up_field_rule | Signup field rule configuration. Users with matching signup values will be automatic assigned to this group. | Object |
partial_update
Update group details. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
group_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
name | Unique name of the group | String |
discount_percent | A percentage based discount that will apply to all purchasable objects/courses | Integer |
group_category_id | String | |
sign_up_field_rule | Signup field rule configuration. Users with matching signup values will be automatic assigned to this group. | Object |
access-code-pools > list
List access code pools for a group. Returns a paginated list (1000 results per page) of access code pool details.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
group_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
access-code-pools > create
Add an access code pool to a group.
Example POST body (if POSTing JSON rather than form-encoded parameters):
{
"access_code_pool": {
"id": "abcde12345"
}
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
group_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
access_code_pool required | Object |
users > list
List users in a group. Returns a paginated list (1000 results per page) of group user details.
Example Response:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"user": {
"id": "opqrstu345678",
"email": "joe@example.com",
"first_name": "Joe",
"last_name": "User"
},
"created_at": "2015-02-19T19:20:24.671362Z"
},
{
"user": {
"id": "cdefghi567890",
"email": "jane@example.com",
"first_name": "Jane",
"last_name": "Doe"
},
"created_at": "2015-02-18T10:37:48.543927Z"
}
]
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
group_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
users > create
Add a user to a group.
Example POST body (if POSTing JSON rather than form-encoded parameters):
{
"user": {
"id": "abcde12345"
}
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
group_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
user required | User details | Object |
ilt-instructors
list
List ILT instructors. Returns a paginated list based upon the filters supplied.
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
email | Filter instructors by exact match of an email. (optional) | String |
provider | Filter instructors by exact match of a provider. (optional) | String |
ilt-multi-session-events
list
List ILT multi-session events.
Returns a paginated list based upon the filters supplied.
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
create
Create an ILT multi-session event.
Example body:
{
"lesson": "pwgfw0liwwi4",
"display_name": "event_display_name",
"seats_total": 10
}
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
lesson required | Live training lesson id for the multi-session event | String |
display_name required | Name to be displayed for the multi-session event | String |
seats_total | How many total seats are available | Integer |
update
Update an ILT multi-session event.
Example body:
{
"lesson": "pwgfw0liwwi4",
"display_name": "event_display_name",
"seats_total": 10
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
lesson required | Live training lesson id for the multi-session event | String |
display_name required | Name to be displayed for the multi-session event | String |
seats_total | How many total seats are available | Integer |
partial_update
Viewset for Public api for IltMultiSessionEvent
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
lesson | Live training lesson id for the multi-session event | String |
display_name | Name to be displayed for the multi-session event | String |
seats_total | How many total seats are available | Integer |
ilt-sessions
create
Create an ILT session.
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
instructor_email required | Instructor email, can be provided either as instructor@example.com or Instructor Name <instructor@example.com> for events without a provider. | String |
provider | The session provider. Can be one of calendar , goto.meeting , goto.training , goto.webinar , goto.webcast , webex.meeting , webex.webinar , webex.training , zoom.meeting , zoom.webinar . Defaults to calendar . | Enum |
display_name required | The title of the event | String |
timezone required | ISO 8601 formatted timezone of the event | Enum |
seats_total | The maximum number of event registrants, empty if disabled. This cannot be set for sessions belonging to a multi-session event. | Integer |
event_link | URL allowing users to join the event. This cannot be set for non-calendar sessions. | String |
post_registration_instructions | HTML shown to the user after registering | String |
ends_at required | ISO 8601 formatted datetime string indicating when the end of the event is scheduled | String |
multi_session_event | The MultiSessionEvent that this ViltSessionEvent belongs to. It is required to set either this or lesson . | String |
location | The location where the event will be held. This cannot be set for non-calendar sessions. | String |
lesson | The Lesson that this ViltSessionEvent belongs to. It is required to set either this or multi_session_event . | String |
description | HTML description of the event | String |
starts_at required | ISO 8601 formatted datetime string indicating when the start of the event is scheduled | String |
tags | Comma-separated list of tags. Cannot be set on sessions attached to a multi-session event. | Array |
update
Update an ILT session.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
instructor_email required | Instructor email, can be provided either as instructor@example.com or Instructor Name <instructor@example.com> for events without a provider. | String |
provider | The session provider. Can be one of calendar , goto.meeting , goto.training , goto.webinar , goto.webcast , webex.meeting , webex.webinar , webex.training , zoom.meeting , zoom.webinar . Defaults to calendar . | Enum |
display_name required | The title of the event | String |
timezone required | ISO 8601 formatted timezone of the event | Enum |
seats_total | The maximum number of event registrants, empty if disabled. This cannot be set for sessions belonging to a multi-session event. | Integer |
event_link | URL allowing users to join the event. This cannot be set for non-calendar sessions. | String |
post_registration_instructions | HTML shown to the user after registering | String |
ends_at required | ISO 8601 formatted datetime string indicating when the end of the event is scheduled | String |
multi_session_event | The MultiSessionEvent that this ViltSessionEvent belongs to. It is required to set either this or lesson . | String |
location | The location where the event will be held. This cannot be set for non-calendar sessions. | String |
lesson | The Lesson that this ViltSessionEvent belongs to. It is required to set either this or multi_session_event . | String |
description | HTML description of the event | String |
starts_at required | ISO 8601 formatted datetime string indicating when the start of the event is scheduled | String |
tags | Comma-separated list of tags. Cannot be set on sessions attached to a multi-session event. | Array |
lesson-progress
update
Update for lesson progress. PUT and PATCH are identical - both do partial updates. Setting finished_at indicates that the student has finished the content. This will also mark the lesson complete unless the lesson requires validation, such as a review of proctoring. To un-complete the lesson, set completed_at to null.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
lesson_progress_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
finished_at | ISO 8601 formatted datetime string indicating when the user finished the lesson content. Setting this field will also mark the lesson complete unless the lesson requires validation, such as a review of proctoring. | String |
completed_at | ISO 8601 formatted datetime string indicating when the user completed the lesson. If null, the user has not completed the lesson. | String |
success_status | 'PASSED', 'FAILED' or null | Enum |
score | Score received | Integer |
max_score | Max possible score | Integer |
custom_data | String | |
validation_status | 'PASSED', 'FAILED' or null | Enum |
validation_data | JSON formatted. Ignored if the lesson does not require validation. | Object |
partial_update
Partial update for lesson progress. PUT and PATCH are identical - both do partial updates. Setting finished_at indicates that the student has finished the content. This will also mark the lesson complete unless the lesson requires validation, such as a review of proctoring. To un-complete the lesson, set completed_at to null.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
lesson_progress_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
finished_at | ISO 8601 formatted datetime string indicating when the user finished the lesson content. Setting this field will also mark the lesson complete unless the lesson requires validation, such as a review of proctoring. | String |
completed_at | ISO 8601 formatted datetime string indicating when the user completed the lesson. If null, the user has not completed the lesson. | String |
success_status | 'PASSED', 'FAILED' or null | Enum |
score | Score received | Integer |
max_score | Max possible score | Integer |
custom_data | String | |
validation_status | 'PASSED', 'FAILED' or null | Enum |
validation_data | JSON formatted. Ignored if the lesson does not require validation. | Object |
lessons
list
List lessons within a specific course.
Example response:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "abcdefg123456",
"content_asset_id": null,
"content_html": "",
"content_quiz_id": null,
"content_web_package_id": null,
"course_id": "cdefghi345678",
"description_html": "",
"display_fullscreen": false,
"optional": false,
"order": 10,
"search_keywords": "",
"time_seconds": null,
"title": "Example Lesson",
"tooltip_html": "",
"type": "HTML"
}
]
}
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
course_id | String |
create
Create a new Lesson in a Course.
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
content_asset_id | Known as content_asset_id within the documentation | String |
content_html | String | |
content_quiz_id | Known as content_quiz_id within the documentation | String |
content_web_package_id | Known as content_web_package_id within the documentation | String |
course_id required | Known as course_id within the documentation | String |
description_html | String | |
display_fullscreen | Boolean | |
optional | Boolean | |
order required | Integer | |
search_keywords | String | |
time_seconds | Integer | |
title required | String | |
tooltip_html | String | |
type required | Enum |
update
Update lesson details. PUT and PATCH are identical - both do partial updates
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
course_id | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
content_asset_id | Known as content_asset_id within the documentation | String |
content_html | String | |
content_quiz_id | Known as content_quiz_id within the documentation | String |
content_web_package_id | Known as content_web_package_id within the documentation | String |
course_id | Known as course_id within the documentation | String |
description_html | String | |
display_fullscreen | Boolean | |
optional | Boolean | |
order | Integer | |
search_keywords | String | |
time_seconds | Integer | |
title | String | |
tooltip_html | String | |
type | Enum |
partial_update
Update lesson details. PUT and PATCH are identical - both do partial updates
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
course_id | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
content_asset_id | Known as content_asset_id within the documentation | String |
content_html | String | |
content_quiz_id | Known as content_quiz_id within the documentation | String |
content_web_package_id | Known as content_web_package_id within the documentation | String |
course_id | Known as course_id within the documentation | String |
description_html | String | |
display_fullscreen | Boolean | |
optional | Boolean | |
order | Integer | |
search_keywords | String | |
time_seconds | Integer | |
title | String | |
tooltip_html | String | |
type | Enum |
content-items > list
List method for the viewset
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
lesson_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
content-items > create
LessonContentItemViewSet
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
lesson_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
content_asset_id | String | |
content_html | String | |
content_quiz_id | String | |
header required | String | |
lesson_id | String | |
order required | Integer | |
type required | Enum |
content-items > update
LessonContentItemViewSet
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
lesson_id required | String | |
id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
content_asset_id | String | |
content_html | String | |
content_quiz_id | String | |
header | String | |
lesson_id | String | |
order | Integer | |
type | Enum |
content-items > partial_update
LessonContentItemViewSet
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
lesson_id required | String | |
id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
content_asset_id | String | |
content_html | String | |
content_quiz_id | String | |
header | String | |
lesson_id | String | |
order | Integer | |
type | Enum |
offers
list
List Offers. Returns a paginated list (1000 results per page) based upon the filters supplied.
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
paths
list
List Paths. Returns a paginated list (100 results per page) based upon the filters supplied.
Example Response: { "count": 1, "next": null, "previous": null, "results": [ "path": { "id": "cdefghi345678", "title": "Example Path Title", "path_item_count": 0 } ] }
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
path-items > list
Returns a list of Path Item objects
Example Response: { "count": 1, "next": null, "previous": null, "results": [ { "id": "qwerty1234", "slug": "test-path-1", "course": { "id": "abcdefg1234", "title": "Test Path Course 1", "lesson_count": 3, "required_lesson_count": 3 } } ] }
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
path_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
ping
progresstokens
update
Update the progress based on the given progress token. May update the corresponding lesson progress for the user, and update course status if this action completes the course.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
progress_token_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
completed_at | ISO 8601 formatted datetime string indicating when the user completed the task | String |
success_status | Enum | |
score | Score received | Integer |
max_score | Max possible score | Integer |
partial_update
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
progress_token_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
completed_at | ISO 8601 formatted datetime string indicating when the user completed the task | String |
success_status | Enum | |
score | Score received | Integer |
max_score | Max possible score | Integer |
promo-code-pools
list
List PromoCodePools. Returns a paginated list (1000 results per page) based upon the filters supplied.
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
offer_id | Filter results by the id of a Offer | String |
name | Filter results by PromoCodePool name | String |
create
Create a PromoCodePool
Example POST body (if POSTing JSON rather than form-encoded parameters):
{
"name": "promo-code-pool-name-1",
"active": true,
"discount_type": "PERCENT_OFF",
"percent_off": 100,
"single_use_per_user": false,
"starts_at": "2018-03-16T16:45:55.946094Z",
"expires_at": "2018-10-16T16:45:55.946094Z",
}
Or
{
"name": "promo-code-pool-name-1",
"active": true,
"discount_type": "PRICE_OVERRIDE",
"price_cents": 5000,
"single_use_per_user": false,
"starts_at": "2018-03-16T16:45:55.946094Z",
"expires_at": "2018-10-16T16:45:55.946094Z",
}
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
name required | String | |
active | Boolean | |
starts_at required | ISO 8601 formatted datetime string indicating the start of the promo code pool | String |
expires_at | ISO 8601 formatted datetime string indicating the expiration of the promo code pool | String |
expire_content | Boolean | |
discount_type required | Enum | |
price_cents | Integer | |
percent_off | Integer | |
single_use_per_user | Boolean |
update
Update for promo-code-pools.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
promo_code_pool_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
name required | String | |
active | Boolean | |
starts_at required | String | |
expires_at | ISO 8601 formatted datetime string indicating the expiration of the promo code pool | String |
expire_content | Boolean |
partial_update
Update for promo-code-pools. PUT and PATCH are identical - both do partial updates
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
promo_code_pool_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
name | String | |
active | Boolean | |
starts_at | String | |
expires_at | ISO 8601 formatted datetime string indicating the expiration of the promo code pool | String |
expire_content | Boolean |
delete
Deletes a PromoCodePool record. As a result, the associated PromoCode will also be deleted. Any purchases that used the previously associated PromoCode will now be updated to have a null value for code_used. This action cannot be undone.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
promo_code_pool_id required | String |
offers > list
List PromoCodePoolOffers. Returns a paginated list (1000 results per page) based upon the filters supplied.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
promo_code_pool_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
offers > create
Attach an Offer to a PromoCodePool. There is a limit of 500 offers that can be added to a PromoCodePool per transaction.
Example POST body (if POSTing JSON rather than form-encoded parameters):
{
"id": "abcde12345"
}
Or
[
{"id": "bcdef23456"},
{"id": "cdefg34567"},
{"id": "defgh45678"},
{"id": "efghi56789"}
]
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
promo_code_pool_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
id | Offer ID you wish to attach to a PromoCodePool | String |
promo-codes
list
List PromoCodes. Returns a paginated list (1000 results per page) based upon the filters supplied.
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
promo_code_pool_id | Filter results by the id of a Offer | String |
code | Filter results by the code used - case sensitive | String |
active | Filter results by active (true or false) | String |
create
Create a PromoCode. A PromoCodePool must exist before attempting to post to this endpoint.
Example POST body (if POSTing JSON rather than form-encoded parameters):
{
"code": "6hhzj2ea-v5j3ak3d",
"max_uses": 30,
"active": true,
"promo_code_pool_id": "9uips0sdja",
}
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
code required | String | |
max_uses required | Integer | |
active | Boolean | |
promo_code_pool_id required | String |
update
Update for promo-codes. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
promo_code_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
code required | String | |
max_uses required | Integer | |
active | Boolean |
partial_update
Update for promo-codes. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
promo_code_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
code | String | |
max_uses | Integer | |
active | Boolean |
purchases
read
Get purchase details.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
purchase_id required | ID of a Purchase object | String |
Response Object
The response object is "application/JSON"
encoded object, containing the following items.
Parameter | Description |
---|---|
id | (Internal) ID of the Purchase object |
user | User object that made the Purchase object |
status_msg | Status message if the payment for the Purchase failed |
purchased_at | Date the Purchase object was created |
refunded_at | Date (if) the Purchase objected was refunded |
refund_cents | Amount (if) the Purchase objected was refunded |
payment_processor | Payment processor used |
order_id | A unique order ID for the Purchase |
price_cents | Price (in cents) of the Purchase made |
quantity | Amount of items purchased |
offer_id | (Internal) ID of the Offer purchased |
offer_sku | (Internal) SKU of the Offer purchased |
offer_description | Description of the Offer purchased |
offer_price_cents | Price (in cents) of the Offer purchased |
promo_code_price_cents | Price (in cents) of the PromoCode used |
promo_code_percent_off | Percentage the PromoCode discounted |
promo_code_quantity | Amount of PromoCodes used |
tax_price_cents | Price (in cents) of local tax on the Purchase |
payment_processor_order_id | ID for the payment processor used |
payment_processor_response_data | Response from the payment processor used |
currency_code | Type of currency used for the Purchase |
update
Update purchase details. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
purchase_id required | String |
Request Body
The request body should be "application/JSON"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
state | 'PENDING', 'SUCCESS', 'FAILED', 'REFUNDED', or 'CANCELLED' | Enum |
refunded_at | String | |
refund_cents | Integer | |
price_cents | Integer | |
tax_price_cents | Integer |
partial_update
Update purchase details. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
purchase_id required | String |
Request Body
The request body should be "application/JSON"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
state | 'PENDING', 'SUCCESS', 'FAILED', 'REFUNDED', or 'CANCELLED' | Enum |
refunded_at | String | |
refund_cents | Integer | |
price_cents | Integer | |
tax_price_cents | Integer |
fulfill
Fulfill specific purchase. Updates the purchase state, and if "SUCCESS", fulfills the purchase, creating any necessary course or domain registrations.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
purchase_id required | String |
Request Body
The request body should be "application/JSON"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
state required | 'SUCCESS', 'FAILED', or 'CANCELLED' | Enum |
error_msg | Optional: This error message will be presented to the user after they return to Skilljar, and will be set as the status_msg on the Purchase | String |
payment_processor_order_id | Optional: The id of the transaction within the payment processor system, for reference only | String |
payment_processor_response_data | Optional: Purchase metadata. For reference only. JSON format is recommended | String |
question-banks
list
List all question banks. Returns a paginated list (defaults to 1000 results per page).
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
create
Create a question bank.
Example POST body (if POSTing JSON rather than form-encoded parameters):\n { "name": "Question Bank 1" }
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
name required | The name of the question bank. | String |
quiz-questions
create
Create a quiz question.
Either an existing quiz or question bank must be passed to this endpoint.
Example POST body (if POSTing JSON rather than form-encoded parameters):\n { "quiz": "xxxxxxxxxx", "html": "
What is the answer to life, the universe, and everything?
", "type": "MULTIPLE_CHOICE", "answers": [ {"answer_text": "42", "correct": true}, {"answer_text": "33", "correct": false} ] }Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
quiz | The quiz that this question belongs to. It is required to set either this or quiz_question_bank . | String |
quiz_question_bank | The question bank that this question belongs to. It is required to set either this or quiz . | String |
html required | The HTML content of the question. | String |
type required | The type of question to create. Can be: MULTIPLE_CHOICE, MULTIPLE_ANSWER, FILL_IN_THE_BLANK, FREEFORM. | Enum |
requires_manual_grading | If checked for any question on the quiz, student responses for the corresponding quiz must be manually graded by a dashboard user. | Boolean |
case_sensitive | If true, student responses must match the case of the answer to be correct. This only impacts FILL_IN_THE_BLANK questions. | Boolean |
correct_answer_feedback_html | The feedback to display if the student answers the question correctly. | String |
incorrect_answer_feedback_html | The feedback to display if the student answers the question incorrectly. | String |
answers | The answers for the question. This is required for MULTIPLE_CHOICE, MULTIPLE_ANSWER, and FILL_IN_THE_BLANK questions. Example:
| Array |
quizzes
list
List all quizzes. Returns a paginated list (defaults to 1000 results per page).
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
name | Filter Quizzes by quiz name - Case sensitive and exact match | String |
create
Create a quiz.
Example POST body (if POSTing JSON rather than form-encoded parameters):\n { "name": "Quiz 1", "html": "
This quiz covers the content from lessons 1, 2, and 3.
", "passing_percentage_correct": 75, "show_results_on_failure": true, "max_attempts": 3, "randomize_questions": true }Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
name required | The name of the quiz. | String |
html | The HTML content of the quiz. | String |
passing_percentage_correct | Percentage needed to mark quiz as passing. | Integer |
show_results_on_failure | If set, students who fail the quiz will be able to see the answers they submitted as well as the correct / incorrect status and feedback for each question. Correct answers will not be displayed. (Students who pass the quiz are shown correct / incorrect status, feedback, and correct answers by default.) | Boolean |
max_attempts | By default (0), there is no limit to how many times a student may take the quiz. | Integer |
require_correct_response | If set, the student must answer each question correctly in order to proceed to the next question. When set, there is no limit to the number of attempts to answer the question correctly. | Boolean |
randomize_questions | If set, the student will receive questions in a random order. | Boolean |
limit_question_count | By default (0), the student will have to answer every question below. Otherwise, they will receive this many questions selected at random. | Integer |
randomize_answers | If set, the student will receive question answers in a random order (this applies to every question on the quiz). | Boolean |
time_limit_seconds | Set a time limit on the quiz. If left blank, students will have unlimited time to complete the quiz. | Integer |
show_question_feedback | If set, students will be able to receive feedback for correct / incorrect answers on their quiz for automatically graded questions (multiple choice, multiple answer, and fill in the blank questions.) If unchecked, all feedback entered previously will be deleted. | Boolean |
training-credit-codes
list
List Training-Credit Codes. Returns a paginated list (1000 results per page) based upon the filters supplied.
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
tracking_identifier | Filter results by tracking_identifier | String |
training_credit_code | Filter results by training credit code name | String |
create
Create a training credit code.
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
training_credit_code required | String used by Learners to apply Training Credit balance on the course platform and purchase Training content. | String |
credits_total required | Total number of credits stored on this code. | Integer |
expiration_date | ISO 8601 formatted datetime string indicating the expiration of the training credit code | String |
expire_content | If true, when this code is used, learners will lose access to content when the code expires. | Boolean |
tracking_identifier | Custom string for teams to identify codes in Financial/reporting tools. Is not used by Skilljar. | String |
available_to_all_students | Set to "true" if all learners should be able to use this credit code. | Boolean |
student_groups | Required if the above option is "false". Use this format to include student_group ids: ["2d4EXAMPLE0ea32j", "2d4EXAMPLE20esh5y"] | Array |
available_for_all_offers | Set to "true" if this credit code should be available for all existing and future offers that have credit value. | Boolean |
offers | Required if the above option is "false". Use this format to include offer_ids: ["2d4EXAMPLE0ea32j", "2d4EXAMPLE20esh5y"] | Array |
partial_update
Update a training credit code.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
training_credit_code_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
credits_total | Integer | |
expiration_date | ISO 8601 formatted datetime string indicating the expiration of the training credit code | String |
expire_content | If true, when this code is used, learners will lose access to content when the code expires. | Boolean |
tracking_identifier | Custom string for teams to identify codes in Financial/reporting tools. Is not used by Skilljar. | String |
available_to_all_students | Set to "true" if all learners should be able to use this credit code. | Boolean |
student_groups | Required if the above option is "false". Use this format to add or remove student_group ids - Add resolves first, then Remove: { "add": ["2d4EXAMPLE0ea32j", "2d4EXAMPLE20esh5y"], "remove": ["9k4EXAMPLE20h5ysK"] } | Object |
available_for_all_offers | Set to "true" if this credit code should be available for all existing and future offers that have credit value. | Boolean |
offers | Required if the above option is "false". Use this format to add or remove offer_ids - Add resolves first, then Remove: { "add": ["2d4EXAMPLE0ea32j", "2d4EXAMPLE20esh5y"], "remove": ["9k4EXAMPLE20h5ysK"] } | Object |
users
list
List users who have registered on at least one domain. Returns a paginated list (1000 results per page) of users.
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
email | Filter users by email address | String |
first_name | Filter users by first name - case sensitive | String |
last_name | Filter users by last name - case sensitive | String |
update
Update for user details. Only name and email address may be changed. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
user_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
email | Email address | String |
first_name | First name | String |
last_name | Last name | String |
partial_update
Partial update for user details. Only name and email address may be changed. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
user_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
email | Email address | String |
first_name | First name | String |
last_name | Last name | String |
anonymize
Obfuscate all data that could be used to identify the user, either directly, or indirectly.
This will permanently update the user, deleting sensitive information and preventing future usage of the platform. This action is not reversible.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
user_id required | String |
groups > list
List groups of which a user is a member.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
user_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
plan-enrollments > list
List Plan enrollments for a user. Returns a paginated list (1000 results per page) of plan enrollment details for a user.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
user_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
published-courses > list
List published courses with progress details for a user. Returns a paginated list (1000 results per page) of course progress details for a user.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
user_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
published-courses > update
Update course progress for a user. PUT and PATCH are identical - both do partial updates. To mark a course as complete, you only need to set the completed_at within the course progress.
For example:
{
"course_progress": {
"completed_at": "2015-06-03T01:02:03.012345Z",
"success_status": "PASSED"
}
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
user_id required | String | |
published_course_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
published_course_id | ID of the PublishedCourse | String |
course_progress required | Object |
published-courses > partial_update
Partial update course progress for a user. PUT and PATCH are identical - both do partial updates. To mark a course as complete, you only need to set the completed_at within the course progress.
For example:
{
"course_progress": {
"completed_at": "2015-06-03T01:02:03.012345Z",
"success_status": "PASSED"
}
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
user_id required | String | |
published_course_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
published_course_id | ID of the PublishedCourse | String |
course_progress | Object |
published-courses > lessons > list
List lessons with progress details for a user in a particular course. Returns a paginated list (100 results per page) of lesson progress details for a user.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
user_id required | String | |
published_course_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
published-courses > lessons > update
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.
For example:
{
"lesson_progress": {
"completed_at": "2015-06-03T01:02:03.012345Z"
}
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
user_id required | String | |
published_course_id required | String | |
lesson_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
lesson_progress required | Object |
published-courses > lessons > partial_update
Partial 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.
For example:
{
"lesson_progress": {
"completed_at": "2015-06-03T01:02:03.012345Z"
}
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
user_id required | String | |
published_course_id required | String | |
lesson_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
lesson_progress | Object |
published-path-enrollments > list
List Learning Path enrollments for a user. Returns a paginated list (1000 results per page) of Path and Path Progress details for a user.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
user_id required | String |
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
vilt-session-events
list
List ViltSessionEvents. Returns a paginated list based upon the filters supplied.
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
session__lesson__course__id | Filter ViltSessionEvents by exact match of a Course ID | String |
session__lesson__id | Filter ViltSessionEvents by exact match of a Lesson ID | String |
starts_at__gte | Filter where a ViltSessionEvent is greater than or equal to the starts at value. Datetime format | String |
ends_at__lte | Filter where a ViltSessionEvent is less than or equal to the ends at value. Datetime format | String |
vilt-session-registrations
list
List ViltSessionRegistrations. Returns a paginated list (1000 results per page) based upon the filters supplied.
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
session__id | Filter results by the id of a ViltSession | String |
create
Register a user to a vilt_session. An enrollment for this user must exist before attempting to post to this endpoint.
Example POST body (if POSTing JSON rather than form-encoded parameters):
{
"vilt_session": {
"id": "jaso89ajs",
},
"enrollment_id": "9uips0sdja"
}
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
vilt_session | Object | |
enrollment_id | String |
update
Update for vilt-session-registrations. Only attendance may be changed. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
vilt_session_registration_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
attended required | Boolean |
partial_update
Update for vilt-session-registrations. Only attendance may be changed. PUT and PATCH are identical - both do partial updates.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
vilt_session_registration_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
attended | Boolean |
web-packages
list
Returns a paginated list of WebPackage
objects associated with your organization.
Example Response
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "13k7y5yndi8er",
"type": "SCORM",
"redirect_on_completion": true,
"state": "READY",
"sync_completion": false,
"title": "Now That's What I Call Learning! Volume 23"
}
}
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
page_size | Number of results to return per page. | Integer |
create
Creates a WebPackage
object from a remotely hosted zip file.
The file will be downloaded from the remote source and re-hosted in Skilljar.
Example Request
{
"content_url": "https://www.skilljar.com/example_scorm.zip",
"web_package": {
"title": "Now That's What I Call Learning! Volume 23",
"redirect_on_completion": true,
"sync_on_completion": false
}
}
Valid fields in the web_package
request object:
title
(REQUIRED): This title will be overridden once the web package is processed.redirect_on_completion
(OPTIONAL, default:true
)sync_on_completion
: (OPTIONAL, default:false
)
Example Response
{
"id": "13k7y5yndi8er",
"type": "SCORM",
"redirect_on_completion": true,
"state": "PROCESSING",
"sync_completion": false,
"title": "Now That's What I Call Learning! Volume 23"
}
Creation responses are still processing and don't include the type
or download_url
fields.
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
content_url required | String | |
web_package required | Object |
read
Retrieves details for a web package associated with your organization.
Example Response
{
"id": "13k7y5yndi8er",
"type": "SCORM",
"download_url": "https://[...]",
"redirect_on_completion": true,
"state": "READY",
"sync_completion": false,
"title": "Now That's What I Call Learning! Volume 23"
}
- download_url is a signed url that will be valid for 1 hour after generation.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
id required | String |
lessons
Updates all lesson objects (excluding lesson content items) associated with the addressed WebPackage
Example Request
{
"web_package_id": "asdf1234jk",
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
web_package_id required | WebPackage that will replace the other in its lessons | String |
webhooks
list
List webhooks. Returns a paginated response (100 results per page) of webhooks.
Example Response:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "abcd1234",
"target_url": "http://example.com/skilljar-hook-processor",
"event_type": null,
"active": true,
"deactivate_reason": null
}
]
}
Query Parameters
The following parameters should be included as part of a URL query string.
Parameter | Description | Type |
---|---|---|
page | A page number within the paginated result set. | Integer |
create
Create a webhook. The Skilljar system will send HTTP POST requests to the given URL when events occur within the platform. If the "event_type" field is null, all events will be sent to the given URL. If the field is set, only events matching the type provided will be sent to the given URL. If multiple webhooks qualify for an event and have the same URL, the event will be sent to the URL only once.
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
target_url required | String | |
active | Boolean | |
event_type | 'COURSE_COMPLETION', 'COURSE_ENROLLMENT', 'DOMAIN_ENROLLMENT', 'LESSON_COMPLETION', 'PATH_COMPLETION', 'PATH_ENROLLMENT', 'PURCHASE_FULFILLMENT', 'QUIZ_COMPLETION', 'VILT_EVENT_REGISTRATION', 'DASHBOARD_TASK_CREATED', or null. If null, all events, regardless of type, will be sent to the webhook URL. | Enum |
basic_auth_username | When set, this webhook will include the HTTP Basic Authentication header when making a request to the target_url. This will be the username. | String |
basic_auth_password | When set, this webhook will include the HTTP Basic Authentication header when making a request to the target_url. This will be the password. | String |
additional_headers | Dictionary of string values to include as additional HTTP headers in the webhook request. Key pairs included in this JSON dictionary will be added as individual HTTP headers to all webhook POST requests. Use double quotes for keys and values | Object |
read
Get webhook details.
Example Response:
{
"id": "abcd1234",
"target_url": "http://example.com/skilljar-hook-processor",
"event_type": null,
"active": true,
"deactivate_reason": null
}
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
webhook_id required | String |
update
Update webhook details.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
webhook_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
target_url required | String | |
active | Boolean | |
event_type | 'COURSE_COMPLETION', 'COURSE_ENROLLMENT', 'DOMAIN_ENROLLMENT', 'LESSON_COMPLETION', 'PATH_COMPLETION', 'PATH_ENROLLMENT', 'PURCHASE_FULFILLMENT', 'QUIZ_COMPLETION', 'VILT_EVENT_REGISTRATION', 'DASHBOARD_TASK_CREATED', or null. If null, all events, regardless of type, will be sent to the webhook URL. | Enum |
basic_auth_username | When set, this webhook will include the HTTP Basic Authentication header when making a request to the target_url. This will be the username. | String |
basic_auth_password | When set, this webhook will include the HTTP Basic Authentication header when making a request to the target_url. This will be the password. | String |
additional_headers | Dictionary of string values to include as additional HTTP headers in the webhook request. Key pairs included in this JSON dictionary will be added as individual HTTP headers to all webhook POST requests. Use double quotes for keys and values | Object |
partial_update
Update webhook details.
Path Parameters
The following parameters should be included in the URL path.
Parameter | Description | Type |
---|---|---|
webhook_id required | String |
Request Body
The request body should be "application/json"
encoded, and should contain a single item.
Parameter | Description | Type |
---|---|---|
target_url | String | |
active | Boolean | |
event_type | 'COURSE_COMPLETION', 'COURSE_ENROLLMENT', 'DOMAIN_ENROLLMENT', 'LESSON_COMPLETION', 'PATH_COMPLETION', 'PATH_ENROLLMENT', 'PURCHASE_FULFILLMENT', 'QUIZ_COMPLETION', 'VILT_EVENT_REGISTRATION', 'DASHBOARD_TASK_CREATED', or null. If null, all events, regardless of type, will be sent to the webhook URL. | Enum |
basic_auth_username | When set, this webhook will include the HTTP Basic Authentication header when making a request to the target_url. This will be the username. | String |
basic_auth_password | When set, this webhook will include the HTTP Basic Authentication header when making a request to the target_url. This will be the password. | String |
additional_headers | Dictionary of string values to include as additional HTTP headers in the webhook request. Key pairs included in this JSON dictionary will be added as individual HTTP headers to all webhook POST requests. Use double quotes for keys and values | Object |
sample-course-completion > list
Returns a single-item list of sample course completion events. The sample event returned by this API is either the most recent COURSE_COMPLETION event, or a sample event with sample data if there are no course completions.
This API is used internally to generate sample data; the body of an actual webhook notification will be a single JSON event that is NOT contained within a list.
sample-course-enrollment > list
Returns a single-item list of sample course enrollment events. The sample event returned by this API is either the most recent COURSE_ENROLLMENT event, or a sample event with sample data if there are no course enrollments.
This API is used internally to generate sample data; the body of an actual webhook notification will be a single JSON event that is NOT contained within a list.
sample-dashboard-task-created > list
Returns a single-item list of sample Dashboard Task created events. The sample event returned by this API is either the most recent DASHBOARD_TASK_CREATED event, or a sample event with sample data if there are no dashboard tasks.
This API is used internally to generate sample data; the body of an actual webhook notification will be a single JSON event that is NOT contained within a list.
sample-domain-enrollment > list
Returns a single-item list of sample domain enrollment events. The sample event returned by this API is either the most recent DOMAIN_ENROLLMENT event (if the most recent domain membership has signup info that corresponds with current active signup fields), or a sample event with sample data if there are no domain memberships.
This API is used internally to generate sample data; the body of an actual webhook notification will be a single JSON event that is NOT contained within a list.
sample-lesson-completion > list
Returns a single-item list of sample lesson completion events. The sample event returned by this API is either the most recent LESSON_COMPLETION event, or a sample event with sample data if there are no lesson completions.
This API is used internally to generate sample data; the body of an actual webhook notification will be a single JSON event that is NOT contained within a list.
sample-path-completion > list
Returns a single-item list of sample path completion events. The sample event returned by this API is either the most recent PATH_COMPLETION event, or a sample event with sample data if there are no path completions.
This API is used internally to generate sample data; the body of an actual webhook notification will be a single JSON event that is NOT contained within a list.
sample-path-enrollment > list
Returns a single-item list of sample path enrollment events. The sample event returned by this API is either the most recent PATH_ENROLLMENT event, or a sample event with sample data if there are no path enrollments.
This API is used internally to generate sample data; the body of an actual webhook notification will be a single JSON event that is NOT contained within a list.
sample-purchase-fulfillment > list
Returns a single-item list of sample purchase fulfillment events. The sample event returned by this API is either the most recent PURCHASE_FULFILLMENT event, or a sample event with sample data if there are no purchase fulfillment events.
This API is used internally to generate sample data; the body of an actual webhook notification will be a single JSON event that is NOT contained within a list.
sample-quiz-completion > list
Returns a single-item list of sample quiz completion events. The sample event returned by this API is either the most recent QUIZ_COMPLETION event, or a sample event with sample data if there are no quiz completions.
This API is used internally to generate sample data; the body of an actual webhook notification will be a single JSON event that is NOT contained within a list.
sample-vilt-registration > list
Returns a single-item list of sample VILT event registration events. The sample event returned by this API is either the most recent VILT_EVENT_REGISTRATION event, or a sample event with sample data if there are no VILT event registration.
This API is used internally to generate sample data; the body of an actual webhook notification will be a single JSON event that is NOT contained within a list.