Skilljar Web Packages API
The Web Packages API from Skilljar — 3 operation(s) for web packages.
The Web Packages API from Skilljar — 3 operation(s) for web packages.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/skilljar-web-packages-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Skilljar Assets Web Packages API
version: 1.0.0
description: 'The Skilljar API provides comprehensive access to our customer education platform, enabling you to programmatically manage courses, users, enrollments, and more.
This interactive documentation is automatically generated from our codebase and stays current with the latest features and endpoints.
## Getting Started
New to the Skilljar API? Check out these essential resources:
- **[API Getting Started Guide](https://support.gainsight.com/Skilljar/Develop_and_Customize/API/Getting_started_with_the_Skilljar_API)** - Authentication, basic concepts, and your first API call
- **[Token-based SSO](https://support.gainsight.com/Skilljar/Develop_and_Customize/Single_Sign_on_(SSO)/Configuring_Token-Based_Single_Sign-On_(SSO))** - Seamlessly integrate user authentication
- **[Webhooks](https://support.gainsight.com/Skilljar/Develop_and_Customize/API/Using_Webhooks_API)** - Real-time notifications for platform events
'
servers:
- url: https://api.skilljar.com/v1/
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Web Packages
paths:
/v1/web-packages:
get:
operationId: web_packages_list
description: 'Retrieve a paginated list of WebPackages associated with your organization.
Each result includes metadata such as ID, type, title, state, and completion settings.'
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- Web Packages
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedWebPackageSummaryList'
description: ''
post:
operationId: web_packages_create
description: 'Create a new WebPackage by providing a URL to a remotely hosted zip file.
The file will be downloaded and re-hosted in Skilljar.
The `web_package` object in the request allows you to specify properties such as title, redirect behavior,
and completion synchronization.
- `title` (required): The title for the web package. This may be overridden after processing.
- `redirect_on_completion` (optional, default: `true`)
- `sync_on_completion` (optional, default: `false`)
The response will indicate the initial state of the package.
Some fields, such as `type` and `download_url`, are not available until processing completes.'
tags:
- Web Packages
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebPackageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WebPackageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WebPackageRequest'
required: true
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/WebPackage'
description: ''
/v1/web-packages/{web_package_id}:
get:
operationId: web_packages_retrieve
description: 'Retrieve detailed information for a specific WebPackage in your organization.
The response includes all metadata,
including a signed `download_url` (valid for 1 hour) for direct package download.
Note: Download links may not be clickable in some API documentation browsers.
Copy and paste the URL into a new browser window if needed.'
parameters:
- in: path
name: web_package_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Web Packages
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebPackage'
description: ''
delete:
operationId: web_packages_destroy
description: 'Delete a WebPackage from your organization.
Deletion is only permitted if the WebPackage is not associated with any lessons.
If associations exist, a 400 Bad Request is returned.'
parameters:
- in: path
name: web_package_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Web Packages
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'204':
description: No response body
/v1/web-packages/{web_package_id}/lessons:
put:
operationId: web_packages_lessons_update
description: 'Update all lesson objects (excluding lesson content items) associated with the specified WebPackage.
This endpoint allows you to update lesson associations for a WebPackage.'
parameters:
- in: path
name: web_package_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Web Packages
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebPackageUpdateLessonRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WebPackageUpdateLessonRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WebPackageUpdateLessonRequest'
required: true
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
description: No response body
components:
schemas:
WebPackageRequest:
type: object
description: 'Used when creating, updating or reading a single WebPackage object.
Inherits from WebPackageSummarySerializer.
Adds in the `download_url` field as well as the write fields.'
properties:
content_url:
type: string
format: uri
writeOnly: true
minLength: 1
web_package:
allOf:
- $ref: '#/components/schemas/WebPackageMetadataRequest'
writeOnly: true
required:
- content_url
- web_package
WebPackageSummary:
type: object
description: 'Only used when listing WebPackages.
Defines the basic fields that will be returned on a WebPackage object in the API.
Does not include the `download_url` field as it is computationally expensive.'
properties:
id:
type: string
readOnly: true
description: Known as web_package_id within the documentation
type:
type: string
readOnly: true
redirect_on_completion:
type: boolean
description: Get redirect_on_completion
readOnly: true
state:
type: string
readOnly: true
sync_completion:
type: boolean
readOnly: true
title:
type: string
readOnly: true
WebPackage:
type: object
description: 'Used when creating, updating or reading a single WebPackage object.
Inherits from WebPackageSummarySerializer.
Adds in the `download_url` field as well as the write fields.'
properties:
id:
type: string
readOnly: true
description: Known as web_package_id within the documentation
type:
type: string
readOnly: true
download_url:
type: string
description: Access URL to download scorm package.
readOnly: true
redirect_on_completion:
type: boolean
description: Get redirect_on_completion
readOnly: true
state:
type: string
readOnly: true
sync_completion:
type: boolean
readOnly: true
title:
type: string
readOnly: true
WebPackageUpdateLessonRequest:
type: object
description: 'Used when replacing an existing Web Package in all its lessons with a different Web Package
Inherits from WebPackageSerializer
Adds in the `replacement_web_package_id` field'
properties:
web_package_id:
type: string
writeOnly: true
minLength: 1
description: WebPackage that will replace the other in its lessons
required:
- web_package_id
PaginatedWebPackageSummaryList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/WebPackageSummary'
WebPackageMetadataRequest:
type: object
description: 'This defines the `web_package` section of create & update requests.
Used in `WebPackageSerializer`'
properties:
title:
type: string
writeOnly: true
minLength: 1
sync_completion:
type: boolean
writeOnly: true
default: false
redirect_on_completion:
type: boolean
writeOnly: true
default: true
required:
- title
securitySchemes:
OrganizationApiKey:
type: http
scheme: basic
description: API key authentication using HTTP Basic Auth. Use your API key as the username and leave password empty.
tokenAuth:
type: http
scheme: bearer