CrossKnowledge's CKLS API (public)

Download OpenAPI specification:Download

The CKLS (CrossKnowledge Learning Suite) API is a RESTful API using resource-oriented URLs, standard HTTP response status codes and JSON payloads.

It gives access to several methods to manage your learners, content, metadata, and much more.

Using the CKLS API

To use the CKLS API, you need a CKLS instance and an account with administrator privileges.

The base URL for all requests is https://api.crossknowledge.com/.

For China-based instances, use https://api.crossknowledge-china.com/.

Calls made straight to the instance will return a 421 - Misdirected request message.

All requests must include in their header the parameter Platform to identify the CKLS instance that will receive and handle them.

For example, if your instance is https://cklsdemo.crossknowledge.com, you need to include this information in your API request header:

Parameter Value
Platform cklsdemo.crossknowledge.com

Additionally, for those endpoints that start with /v1, the administrator account used needs to have the 'super user' right.

Technical details

Query parameters

All the query parameters sent through the API must be URL-encoded.

For example, let's assume we'll filter the learners that were created after 2022-06-21T10:30:20+02:00.

After URL encoding, it'll be 2022-06-21T10%3A30%3A20%2B02%3A00.

  GET https://api.crossknowledge.com/v2/learners/?createdAt.greaterThan=2022-06-21T10%3A30%3A20%2B02%3A00

  {
    ...
  }

Authentication

The CKLS API only accepts one authentication method: the Bearer Authentication with a JSON Web Token (JWT).

There are two ways of generating this token:

  • Using a login and password combination
  • Using your own JSON Web Token (administrators only)

Please refer to this endpoint for more information.

User roles

Within our system, two types of users can use the API:

  • Learners with the role ck/learner
  • Administators with the role ck/admin

During authentication, the client communicates the role requesting authorization to the API. This is called role-based authentication.

Please use one of these roles for each authentication request.

Rate limit

Our standard supported rate limit is 80 requests per minute (rpm) unless explicitly documented in a specific endpoint.

Access token

With a login and a password

Generate access and refresh tokens by providing a login and a password.

Request Body schema: application/json
role
required
string
Enum: "ck/learner" "ck/admin"
login
required
string
password
required
string <password>
impersonate
string

To authenticate as a given learner, enter their login here.

Responses

Request samples

Content type
application/json
{
  • "login": "[email protected]",
  • "password": "C@llofduty-123",
  • "role": "ck/learner",
  • "impersonate": "learnerLogin"
}

Response samples

Content type
application/json
{
  • "accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb20iLCJzdWIiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb218RUIzNTlFNkUtNkZFNC1CRDMxLTk0RkItMzE5RDgzRTgyQTdDIiwic2NvcGUiOiJzZXNzaW9uIiwicm9sZXMiOlsiY2svbGVhcm5lciJdLCJhdWRpdCI6ImRpZDp3ZWI6bXkuZG9tYWluLmNvbXxFQjM1OUU2RS02RkU0LUJEMzEtOTRGQi0zMTlEODNFODJBN0MiLCJleHAiOjE1NzcxMzQzNDd9.YIY6OeZTDs5Bbk2RYsALsikwnry65rJyRtbATBflZgm3QaD0wBapd6OaeC-L7pphA9m5RQO-An9vjM-KT58U1sGG4LEXhDwX7AbHy1LEe_I1jwgTH1wa0dnSCzx-hnq6CicA5YzN-VvfreRO8g5G_7xcNlEdPyxGWTxdXlvT2us",
  • "refreshToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb20iLCJzdWIiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb218RUIzNTlFNkUtNkZFNC1CRDMxLTk0RkItMzE5RDgzRTgyQTdDIiwic2NvcGUiOiJyZWZyZXNoIiwicm9sZXMiOlsiY2svbGVhcm5lciJdLCJhdWRpdCI6ImRpZDp3ZWI6bXkuZG9tYWluLmNvbXxFQjM1OUU2RS02RkU0LUJEMzEtOTRGQi0zMTlEODNFODJBN0MiLCJleHAiOjE1NzcxMzQzNDd9.GpuxMpEVUuXn1g52J08kyI5j07vFnFG_0M6xisXbWzVE99yE9pbgi4KXIb94Mlhv9tgvVJObVAc8uCJnYMSSufMEvKfa9WPfoDOzZAUEKd31WGFIAo-ed1gRRB9WV9GJ4cgSzrx9Tjf0O57P3f25Qq7QrLqsb6fAum2RP2yhep4"
}

With an external token

Generate access and refresh tokens by providing your private keys and generating a JSON Web Token.

Request Body schema: application/json
token
required
string
impersonate
string

To authenticate as a given learner, enter their login here.

Responses

Request samples

Content type
application/json
{
  • "token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb20iLCJzdWIiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb218RUIzNTlFNkUtNkZFNC1CRDMxLTk0RkItMzE5RDgzRTgyQTdDIiwic2NvcGUiOiJzZXNzaW9uIiwicm9sZXMiOlsiY2svbGVhcm5lciJdLCJhdWRpdCI6ImRpZDp3ZWI6bXkuZG9tYWluLmNvbXxFQjM1OUU2RS02RkU0LUJEMzEtOTRGQi0zMTlEODNFODJBN0MiLCJleHAiOjE1NzcxMzQzNDd9.YIY6OeZTDs5Bbk2RYsALsikwnry65rJyRtbATBflZgm3QaD0wBapd6OaeC-L7pphA9m5RQO-An9vjM-KT58U1sGG4LEXhDwX7AbHy1LEe_I1jwgTH1wa0dnSCzx-hnq6CicA5YzN-VvfreRO8g5G_7xcNlEdPyxGWTxdXlvT2us",
  • "impersonate": "learnerLogin"
}

Response samples

Content type
application/json
{
  • "accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb20iLCJzdWIiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb218RUIzNTlFNkUtNkZFNC1CRDMxLTk0RkItMzE5RDgzRTgyQTdDIiwic2NvcGUiOiJzZXNzaW9uIiwicm9sZXMiOlsiY2svbGVhcm5lciJdLCJhdWRpdCI6ImRpZDp3ZWI6bXkuZG9tYWluLmNvbXxFQjM1OUU2RS02RkU0LUJEMzEtOTRGQi0zMTlEODNFODJBN0MiLCJleHAiOjE1NzcxMzQzNDd9.YIY6OeZTDs5Bbk2RYsALsikwnry65rJyRtbATBflZgm3QaD0wBapd6OaeC-L7pphA9m5RQO-An9vjM-KT58U1sGG4LEXhDwX7AbHy1LEe_I1jwgTH1wa0dnSCzx-hnq6CicA5YzN-VvfreRO8g5G_7xcNlEdPyxGWTxdXlvT2us",
  • "refreshToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb20iLCJzdWIiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb218RUIzNTlFNkUtNkZFNC1CRDMxLTk0RkItMzE5RDgzRTgyQTdDIiwic2NvcGUiOiJyZWZyZXNoIiwicm9sZXMiOlsiY2svbGVhcm5lciJdLCJhdWRpdCI6ImRpZDp3ZWI6bXkuZG9tYWluLmNvbXxFQjM1OUU2RS02RkU0LUJEMzEtOTRGQi0zMTlEODNFODJBN0MiLCJleHAiOjE1NzcxMzQzNDd9.GpuxMpEVUuXn1g52J08kyI5j07vFnFG_0M6xisXbWzVE99yE9pbgi4KXIb94Mlhv9tgvVJObVAc8uCJnYMSSufMEvKfa9WPfoDOzZAUEKd31WGFIAo-ed1gRRB9WV9GJ4cgSzrx9Tjf0O57P3f25Qq7QrLqsb6fAum2RP2yhep4"
}

With a refresh token

Generate an access token from a refresh token previously generated.

Request Body schema: application/json
refreshToken
required
string

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb20iLCJzdWIiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb218RUIzNTlFNkUtNkZFNC1CRDMxLTk0RkItMzE5RDgzRTgyQTdDIiwic2NvcGUiOiJzZXNzaW9uIiwicm9sZXMiOlsiY2svbGVhcm5lciJdLCJhdWRpdCI6ImRpZDp3ZWI6bXkuZG9tYWluLmNvbXxFQjM1OUU2RS02RkU0LUJEMzEtOTRGQi0zMTlEODNFODJBN0MiLCJleHAiOjE1NzcxMzQzNDd9.YIY6OeZTDs5Bbk2RYsALsikwnry65rJyRtbATBflZgm3QaD0wBapd6OaeC-L7pphA9m5RQO-An9vjM-KT58U1sGG4LEXhDwX7AbHy1LEe_I1jwgTH1wa0dnSCzx-hnq6CicA5YzN-VvfreRO8g5G_7xcNlEdPyxGWTxdXlvT2us"
}

Response samples

Content type
application/json
{
  • "accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb20iLCJzdWIiOiJkaWQ6d2ViOm15LmRvbWFpbi5jb218RUIzNTlFNkUtNkZFNC1CRDMxLTk0RkItMzE5RDgzRTgyQTdDIiwic2NvcGUiOiJzZXNzaW9uIiwicm9sZXMiOlsiY2svbGVhcm5lciJdLCJhdWRpdCI6ImRpZDp3ZWI6bXkuZG9tYWluLmNvbXxFQjM1OUU2RS02RkU0LUJEMzEtOTRGQi0zMTlEODNFODJBN0MiLCJleHAiOjE1NzcxMzQzNDd9.YIY6OeZTDs5Bbk2RYsALsikwnry65rJyRtbATBflZgm3QaD0wBapd6OaeC-L7pphA9m5RQO-An9vjM-KT58U1sGG4LEXhDwX7AbHy1LEe_I1jwgTH1wa0dnSCzx-hnq6CicA5YzN-VvfreRO8g5G_7xcNlEdPyxGWTxdXlvT2us"
}

Learners

A learner is a type of user in CKLS (e.g. an employee). Each learner can access their personal training space using an individual login and a password.

List all learners

This request returns a paginated collection of learner accounts.
You can filter the results with query parameters related to the learner's fields.


Authorized role(s): ck/admin

query Parameters
offset
integer <int32> >= 0
Default: 0
Example: offset=10

The offset is the number of records to be skipped before data is displayed.

size
integer <int32>
Default: 100
Example: size=5

The number of records displayed per page. The limit is 100.

login
string
Example: login=j.silva

The learner's login.

referenceNumber
string
Example: referenceNumber=very cool reference number

An external identification code for the learner.

firstName
string
Example: firstName=José

The first name of the learner.

lastName
string
Example: lastName=Silva

The last name or surname of the learner.

email
string

The learner's email address.

enabled
boolean
Example: enabled=true

The value is TRUE by default on account creation, and if the account is still enabled.

languageCode
string
Example: languageCode=en-US

The learner's language code (locale).

entityId
integer <int32>
Example: entityId=12

The ID of the learner's entity.

entityUuid
string
Example: entityUuid=3D9AFD98-0D89-0C96-F613-C91C4AB8E74A

The UUID of the learner's entity.

groupId
integer <int32>
Example: groupId=13

The ID of the learner's group.

groupUuid
string
Example: groupUuid=3D9AFD98-0D89-0C96-F613-C91C4AB8E74A

The UUID of the learner's group.

managerId
integer <int32>
Example: managerId=2

The ID of the learner’s manager.

include
string
Example: include=count

List of optional fields to be included in the response, separated by a comma. Supported fields are:

  • count

Responses

Response samples

Content type
application/json
Example
{}

Create a learner

This request enables you to create a learner account on your CKLS platform by providing a new login.


Authorized role(s): ck/admin

Request Body schema: application/json

Enter information on the new learner account.

login
required
string

The learner's login. As each login is unique, the entered login should not already exist on the platform.

Array of Array of objects

A custom field is identified by a UUID and a value.

email
string

The learner's email address.

enabled
boolean

The value is TRUE by default on account creation, and if the account is still enabled.

enabledFrom
string <date>

If a date is set, the learner account will be enabled only from the given date. Before this date, the account is disabled. Note: the date must be anterior or equal to the enabledUntil date (enabledFrom <= enabledUntil).

enabledUntil
string <date>

If a date is set, the learner account will be enabled only until the given date. Then, it will be disabled. Note: the date must be posterior or equal to the enabledFrom date (enabledFrom <= enabledUntil).

object

The learner's entity is an object with a unique ID.

firstName
string

The learner's first name.

lastName
string

The learner's last name or surname.

displayName
string

The learner's full name.

languageCode
string

The learner's language code (locale). If it is not set, the default platform locale is used. It is usually made of an ISO 639-1 two-letter language code in lower-case, and an ISO 3166-1 two-letter country code in upper-case. Sometimes, a three-letter script code is used.

object

The learner's manager is an object with a unique ID.

referenceNumber
string

The learner's identification number or code. This field is often used to store an organisation's employee code.

timezone
string

Responses

Request samples

Content type
application/json
{
  • "customFields": [
    ],
  • "email": "[email protected]",
  • "enabled": true,
  • "enabledFrom": "2021-03-24",
  • "enabledUntil": "2022-03-24",
  • "entity": {
    },
  • "firstName": "José",
  • "lastName": "Silva",
  • "languageCode": "en-US",
  • "login": "j.silva",
  • "manager": {
    },
  • "referenceNumber": "very cool reference number",
  • "timezone": "America/Sao_Paulo"
}

Response samples

Content type
application/json
{
  • "id": 2,
  • "uuid": "5e1bfd3c-bc3a-481d-beee-0dd861168fd8",
  • "login": "j.silva",
  • "referenceNumber": "very cool reference number",
  • "email": "[email protected]",
  • "firstName": "José",
  • "lastName": "Silva",
  • "displayName": "José Silva",
  • "lastConnectedAt": "2019-07-22",
  • "registeredAt": "2019-01-01",
  • "enabledFrom": "2021-03-24",
  • "enabledUntil": "2022-03-24",
  • "customFields": [
    ],
  • "enabled": true,
  • "entity": {},
  • "languageCode": "en-US",
  • "manager": {},
  • "timezone": "America/Sao_Paulo",
  • "_links": {}
}

Retrieve a learner

This request returns the details of a given learner's account.


Authorized role(s): ck/admin ck/learner

path Parameters
id
required
integer <int32>
Example: 1

The learner's ID.

Responses

Response samples

Content type
application/json
{
  • "id": 2,
  • "uuid": "5e1bfd3c-bc3a-481d-beee-0dd861168fd8",
  • "login": "j.silva",
  • "referenceNumber": "very cool reference number",
  • "email": "[email protected]",
  • "firstName": "José",
  • "lastName": "Silva",
  • "displayName": "José Silva",
  • "lastConnectedAt": "2019-07-22",
  • "registeredAt": "2019-01-01",
  • "enabledFrom": "2021-03-24",
  • "enabledUntil": "2022-03-24",
  • "customFields": [
    ],
  • "enabled": true,
  • "entity": {},
  • "languageCode": "en-US",
  • "manager": {},
  • "timezone": "America/Sao_Paulo",
  • "_links": {}
}

Update a learner

This request updates a given learner's account.


Authorized role(s): ck/admin

path Parameters
id
required
integer <int32>
Example: 1

The learner's ID.

Request Body schema: application/json

Enter information to update the learner's account.

Array of Array of objects

A custom field is identified by a UUID and a value.

email
string

The learner's email address.

enabled
boolean

The value is TRUE by default on account creation, and if the account is still enabled.

enabledFrom
string <date>

If a date is set, the learner account will be enabled only from the given date. Before this date, the account is disabled. Note: the date must be anterior or equal to the enabledUntil date (enabledFrom <= enabledUntil).

enabledUntil
string <date>

If a date is set, the learner account will be enabled only until the given date. Then, it will be disabled. Note: the date must be posterior or equal to the enabledFrom date (enabledFrom <= enabledUntil).

object

The learner's entity is an object with a unique ID.

firstName
string

The learner's first name.

lastName
string

The learner's last name or surname.

displayName
string

The learner's full name.

languageCode
string

The learner's language code (locale). If it is not set, the default platform locale is used. It is usually made of an ISO 639-1 two-letter language code in lower-case, and an ISO 3166-1 two-letter country code in upper-case. Sometimes, a three-letter script code is used.

object

The learner's manager is an object with a unique ID.

referenceNumber
string

The learner's identification number or code. This field is often used to store an organisation's employee code.

timezone
string

Responses

Request samples

Content type
application/json
{
  • "customFields": [
    ],
  • "email": "[email protected]",
  • "enabled": true,
  • "enabledFrom": "2021-03-24",
  • "enabledUntil": "2022-03-24",
  • "entity": {
    },
  • "firstName": "José",
  • "lastName": "Silva",
  • "languageCode": "en-US",
  • "manager": {
    },
  • "referenceNumber": "very cool reference number",
  • "timezone": "America/Sao_Paulo"
}

Response samples

Content type
application/json
{
  • "id": 2,
  • "uuid": "5e1bfd3c-bc3a-481d-beee-0dd861168fd8",
  • "login": "j.silva",
  • "referenceNumber": "very cool reference number",
  • "email": "[email protected]",
  • "firstName": "José",
  • "lastName": "Silva",
  • "displayName": "José Silva",
  • "lastConnectedAt": "2019-07-22",
  • "registeredAt": "2019-01-01",
  • "enabledFrom": "2021-03-24",
  • "enabledUntil": "2022-03-24",
  • "customFields": [
    ],
  • "enabled": true,
  • "entity": {},
  • "languageCode": "en-US",
  • "manager": {},
  • "timezone": "America/Sao_Paulo",
  • "_links": {}
}

Training courses

Blueprint for training session. A set of learning resources and/or learning activities with a single learning objective. Can be of any training course type, i.e. BlendedX, Learning Channel, etc.

Retrieve a training course

Retrieve the details of an existing training course


Accepted roles: ck/admin ck/learner

path Parameters
id
required
integer <int64>

ID of the training course

Responses

Response samples

Content type
application/json
Example
{}

Retrieve a list of training courses

query Parameters
page
string

The page number that should be displayed, based on the limit number

limit
string

Limit to search

type
string

Type of the training course

guid
string

GUID of the training course to look for

title
string

Title of the training course to look for (work as a 'like' search), will also search in translated titles

code
string

Training path code of the training course to look for

status
string

Status of the training course to look for. Return all the training courses of this status

Responses

Response samples

Content type
application/json
{
  • "message": "OK",
  • "success": true,
  • "totalCount": 180,
  • "count": 2,
  • "value": [
    ]
}

Create a training course

Request Body schema: application/json
type
string
Enum: "blended" "blendedx" "eLearning" "learningChannel" "knowledgeCommunity" "learningFeed" "campus"

Type of the training course

title
string

Title of the training course, no HTML tag, cannot be empty

code
string

Training path code of the training course, no HTML tag

status
string
Enum: "C (under construction - default)" "P (published)" "A (archived)"

Status of the training course

threshold
string

Available only for the blendedx modality

language
string

Default language code of the training path (i.e. en-GB, en-US, fr-FR) will only take FO activated locale, else will return an error. One locale accepted. Locale must be in xx-XX format, default is en-GB

cost
string

The training cost.

duration
string

The training duration.

description
string

The training description.

whatYouWillLearn
string

The training learning points.

trainingCourseOverview
string

The training overview.

whoShouldAttend
string

The training audience.

furtherInformation
string

The training detailed information.

benefits
string

The training benefits.

welcomeText
string

The training welcome text.(Allows HTML tags)

object

The training metadatas translated versions.

Responses

Request samples

Content type
application/json
{
  • "type": "learningChannel",
  • "status": "P",
  • "language": "en-GB",
  • "title": "How to be a famous musician",
  • "code": "150896-KCS-SPA",
  • "cost": "300$",
  • "duration": "1h 30.",
  • "description": "Tips on how to stand out from other musicians",
  • "whatYouWillLearn": "You will get tips to stand out from other musicians and bands.",
  • "trainingCourseOverview": "Get tips on how to stand out from other musicians and be a famous musician.",
  • "whoShouldAttend": "Amateur musicians",
  • "furtherInformation": "In this video you will get tips to stand out from other musicians and bands. It's hosted by Kevin Malone, a reputed music producer.",
  • "welcomeText": "Hello.",
  • "benefits": "Knowledge",
  • "translations": {
    }
}

Response samples

Content type
application/json
{
  • "message": "OK",
  • "success": true,
  • "totalCount": 1,
  • "count": 2,
  • "value": [
    ],
  • "_links": {
    }
}

Update a training course

path Parameters
training_guid
required
string

The GUID of training to be updated.

Request Body schema: application/json
title
string

Title of the training course, no HTML tag, cannot be empty

code
string

Training path code of the training course, no HTML tag

status
string
Enum: "C (under construction - default)" "P (published)" "A (archived)"

Status of the training course

threshold
string

Available only for the blendedx modality

language
string

Default language code of the training path (i.e. en-GB, en-US, fr-FR) will only take FO activated locale, else will return an error. One locale accepted. Locale must be in xx-XX format, default is en-GB

cost
string

The training cost.

duration
string

The training duration.

description
string

The training description.

whatYouWillLearn
string

The training learning points.

trainingCourseOverview
string

The training overview.

whoShouldAttend
string

The training audience.

furtherInformation
string

The training detailed information.

benefits
string

The training benefits.

welcomeText
string

The training welcome text.(Allows HTML tags)

object

The training metadatas translated versions.

Responses

Request samples

Content type
application/json
{
  • "status": "P",
  • "language": "en-GB",
  • "title": "How to be a famous musician",
  • "code": "150896-KCS-SPA",
  • "cost": "300$",
  • "duration": "1h 30.",
  • "description": "Tips on how to stand out from other musicians",
  • "whatYouWillLearn": "You will get tips to stand out from other musicians and bands.",
  • "trainingCourseOverview": "Get tips on how to stand out from other musicians and be a famous musician.",
  • "whoShouldAttend": "Amateur musicians",
  • "furtherInformation": "In this video you will get tips to stand out from other musicians and bands. It's hosted by Kevin Malone, a reputed music producer.",
  • "welcomeText": "Hello.",
  • "benefits": "Knowledge",
  • "translations": {
    }
}

Response samples

Content type
application/json
{
  • "message": "OK",
  • "success": true,
  • "totalCount": 1,
  • "count": 2,
  • "value": [
    ],
  • "_links": {
    }
}

Retrieve training sessions from a course

path Parameters
training_guid
required
string

The training GUID to get a session.

Responses

Response samples

Content type
application/json
{
  • "message": "OK",
  • "success": true,
  • "totalCount": 2,
  • "count": 2,
  • "value": [
    ],
  • "_links": {
    }
}

Retrieve a list of training contents

path Parameters
training_guid
required
string

The training GUID to get content.

Responses

Response samples

Content type
application/json
{
  • "message": "OK",
  • "success": true,
  • "totalCount": 1,
  • "count": 1,
  • "value": [
    ],
  • "_links": {
    }
}

Publishers

Publisher of learning resource or of training courses.

Retrieve a publisher

Return details of a given publisher.


Accepted roles: ck/admin ck/learner

path Parameters
id
required
integer
Example: 1

The identifier of the publisher

Responses

Response samples

Content type
application/json
Example
{}

Learning resources

The object that the learner actually interacts with in the Front Office.

List all learning resources

Return a paginated collection of learning resources


Authorized role(s): ck/admin

query Parameters
id
integer
Example: id=1

The id of the Learning Resource

uuid
string
Example: uuid=A393F8A3-A6BC-47B1-85AF-A3D76BE5138A

The uuid of the Learning Resource

languageCode
string^[a-z]{2,3}-[A-Z]{2,3}$
Example: languageCode=pt-BR

The identifier of the language code of the Learning Resource

referenceCode
string
Example: referenceCode=CODE

The referenceCode to perform the filtering

type
string
Enum: "AICC" "SCORM" "READING_DOCUMENT" "VIDEO" "WEBSITE" "EXTERNAL_CONTENT" "AUDIO" "PICTURE" "LTI"
Example: type=WEBSITE

Type of the learning resource to look for

title
string
Example: title=Learning Resource CKLS example

Title of the Learning Resource (exact match value)

status
string
Enum: "VALIDATED" "DISABLED" "CONTRIBUTION" "CONTRIBUTION_VALIDATED" "CONTRIBUTION_REJECTED" "VALIDATION_PENDING" "UNDER_CONSTRUCTION"
Example: status=VALIDATED

Status of the learning resource to look for

publisherId
integer <int32>
Example: publisherId=2

Id of publisher of the content from the learning resource to look for

lastUpdatedAt.greaterThan
string
Example: lastUpdatedAt.greaterThan=2020-02-01T17%3A51%3A34%2B00%3A00

Modified after informed datetime, URL-encoded in the ISO 8601 format

lastUpdatedAt.lowerThan
string
Example: lastUpdatedAt.lowerThan=2020-02-01T17%3A51%3A34%2B00%3A00

Update before informed datetime, URL-encoded in the ISO 8601 format

lastUpdatedAt.greaterThanEqual
string
Example: lastUpdatedAt.greaterThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Modified at or after informed datetime, URL-encoded in the ISO 8601 format

lastUpdatedAt.lowerThanEqual
string
Example: lastUpdatedAt.lowerThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Modified at or before informed datetime, URL-encoded in the ISO 8601 format

size
integer <int32> [ 1 .. 50 ]
Default: 10

The number of records displayed per page.

offset
integer <int32> >= 0
Default: 0

The offset is the number of records to be skipped before data is displayed.

include
string
Example: include=count,authors

List of optional fields to be included in the response, separated by a comma. Supported fields are:

  • count
  • authors
  • themes
  • tags

Responses

Response samples

Content type
application/json
Example
{
  • "items": [
    ],
}

Create a learning resource

Create a new learning resource.


Authorized role(s): ck/admin

Request Body schema: application/json
type
required
string
Enum: "AICC" "WEBSITE"

Type of the learning resource

isTrackingPropagated
required
boolean

Allow the learning resource to progress automatically in all contexts for each learner

publisher
object

Publisher of the the content from the learning resource

required
object

Localized version of the learning resource

Responses

Request samples

Content type
application/json
Example
{
  • "type": "WEBSITE",
  • "isTrackingPropagated": true,
  • "publisher": {
    },
  • "localizedVersion": {
    }
}

Response samples

Content type
application/json
Example
{}

Retrieve a learning resource

Get a learning resource identified by its ID


Authorized role(s): ck/admin ck/learner

path Parameters
id
required
integer
Example: 2

The identifier of the learning resource

query Parameters
include
string
Example: include=authors,themes

List of optional fields to be included in the response, separated by a comma. Supported fields are:

  • authors
  • themes
  • tags

Responses

Response samples

Content type
application/json
Example
{}

Update a learning resource

Update fields in a learning resource identified by the ID in the URL


Authorized role(s): ck/admin

path Parameters
id
required
integer <int32> >= 0
Default: 0
Example: 1

The identifier of the learning resource

Request Body schema: application/json
isTrackingPropagated
boolean or null

Allow the learning resource to progress automatically in all contexts for each learner

publisher
object or null

Publisher of the the content from the learning resource

Responses

Request samples

Content type
application/json
{
  • "isTrackingPropagated": true,
  • "publisher": {
    }
}

Response samples

Content type
application/json
Example
{}

Create a localized version

Create a localized version for one specific learning resource


Authorized role(s): ck/admin

path Parameters
id
required
integer <int32> >= 0
Default: 0
Example: 1

The identifier of the learning resource

Request Body schema: application/json
languageCode
required
string^[a-z]{2,3}-[A-Z]{2,3}$

Language of the learning object

object or object

Metadata object (key-value), with mixed type (can be also another nested array/object) to retrieve additional info about the learning resource

Responses

Request samples

Content type
application/json
Example
{
  • "languageCode": "en-GB",
  • "metadata": {}
}

Response samples

Content type
application/json
Example
{}

Update a localized version

Updated an existing localized version from learning resource.


Authorized role(s): ck/admin

path Parameters
id
required
integer <int32> >= 0
Default: 0
Example: 1

The identifier of the learning resource

languageCode
required
string^[a-z]{2,3}-[A-Z]{2,3}$
Example: pt-BR

The language code identifier of the learning resource localized version

Request Body schema: application/json
object or object

Metadata object (key-value) containing the information about the learning resource

Responses

Request samples

Content type
application/json
Example
{
  • "metadata": {
    }
}

Response samples

Content type
application/json
Example
{}

List of authors

Return the paginated collection with all the authors of a learning resource on CKLS (can be filtered).


Authorized role(s): ck/admin ck/learner

path Parameters
id
required
integer
Example: 2

The identifier of the learning resource

languageCode
required
string^[a-z]{2,3}-[A-Z]{2,3}$
Example: pt-BR

The language code identifier of the learning resource localized version

query Parameters
offset
integer <int32>
Default: 0

The offset is the number of records to be skipped before data is displayed.

size
integer <int32>
Default: 100
Example: size=10

The number of records displayed per page.

Responses

Response samples

Content type
application/json
{}

Add an author

Add an author to a learning resource in CKLS, checking if it exists and if it's not already added.


Authorized role(s): ck/admin

path Parameters
id
required
integer
Example: 2

The identifier of the learning resource

languageCode
required
string^[a-z]{2,3}-[A-Z]{2,3}$
Example: pt-BR

The language code identifier of the learning resource localized version

Request Body schema: application/json
required
object

Object describing the author to be associated with the learning resource

Responses

Request samples

Content type
application/json
{
  • "author": {
    }
}

Response samples

Content type
application/json
{}

Remove an author

Removes the author from a learning resource.


Authorized role(s): ck/admin

path Parameters
id
required
integer
Example: 3

The identifier of the learning resource

languageCode
required
string^[a-z]{2,3}-[A-Z]{2,3}$
Example: pt-BR

The language code identifier of the learning resource localized version

authorId
required
integer
Example: 2

The identifier of the author

Responses

Response samples

Content type
application/json
{
  • "message": "No valid credentials were provided."
}

List of tags

Return the paginated collection with all the tags of a learning resource on CKLS (can be filtered).


Authorized role(s): ck/admin ck/learner

path Parameters
id
required
integer
Example: 2

The identifier of the learning resource

languageCode
required
string^[a-z]{2,3}-[A-Z]{2,3}$
Example: pt-BR

The language code identifier of the learning resource localized version

query Parameters
offset
integer <int32>
Default: 0

The offset is the number of records to be skipped before data is displayed.

size
integer <int32>
Default: 100
Example: size=10

The number of records displayed per page.

Responses

Response samples

Content type
application/json
{}

Add a tag

Adds a tag to a learning resource in CKLS, checking if it exists and if it's not already added.


Authorized role(s): ck/admin

path Parameters
id
required
integer
Example: 2

The identifier of the learning resource

languageCode
required
string^[a-z]{2,3}-[A-Z]{2,3}$
Example: pt-BR

The language code identifier of the learning resource localized version

Request Body schema: application/json
required
object

Object describing the tag to be associated with the learning resource

Responses

Request samples

Content type
application/json
{
  • "tag": {
    }
}

Response samples

Content type
application/json
{}

Remove a tag

Remove a tag from a learning resource.


Authorized role(s): ck/admin

path Parameters
id
required
integer
Example: 3

The identifier of the learning resource

languageCode
required
string^[a-z]{2,3}-[A-Z]{2,3}$
Example: pt-BR

The language code identifier of the learning resource localized version

tagId
required
integer
Example: 2

The identifier of the tag

Responses

Response samples

Content type
application/json
{
  • "message": "No valid credentials were provided."
}

List of themes

Return the collection with all the themes of a learning resource.


Authorized role(s): ck/admin ck/learner

path Parameters
id
required
integer
Example: 2

The identifier of the learning resource

languageCode
required
string^[a-z]{2,3}-[A-Z]{2,3}$
Example: pt-BR

The language code identifier of the learning resource localized version

query Parameters
offset
integer <int32>
Default: 0

The offset is the number of records to be skipped before data is displayed.

size
integer <int32>
Default: 100
Example: size=10

The number of records displayed per page.

Responses

Response samples

Content type
application/json
{}

Add a theme

Add a theme to a learning resource in CKLS, checking if it exists and if it's not already added.


Authorized role(s): ck/admin

path Parameters
id
required
integer
Example: 2

The identifier of the learning resource

languageCode
required
string^[a-z]{2,3}-[A-Z]{2,3}$
Example: pt-BR

The language code identifier of the learning resource localized version

Request Body schema: application/json
required
object

Object describing the theme to be associated with the learning resource

Responses

Request samples

Content type
application/json
{
  • "theme": {
    }
}

Response samples

Content type
application/json
{}

Remove a theme

Remove a theme from a learning resource.


Authorized role(s): ck/admin

path Parameters
id
required
integer
Example: 3

The identifier of the learning resource

languageCode
required
string^[a-z]{2,3}-[A-Z]{2,3}$
Example: pt-BR

The language code identifier of the learning resource localized version

themeId
required
integer
Example: 2

The identifier of the theme

Responses

Response samples

Content type
application/json
{
  • "message": "No valid credentials were provided."
}

Trackings

Tracking information for activities or learning resources.

Returns a specific tracking

path Parameters
tracking_guid
required
string

Responses

Response samples

Content type
application/json
{
  • "message": "OK",
  • "success": true,
  • "totalCount": 1,
  • "count": 1,
  • "value": [
    ],
  • "_links": {
    }
}

Create a learning resource tracking record

Create a tracking record for the learning resource of a training session, for a given learner (from eqs_tracking).


Accepted roles: ck/admin ck/learner

Request Body schema: application/json
learner
object

The learner that has the tracking information associated. If the authenticated user is a learner, this parameter will automatically be completed with the logged one. If logged as an admin, this parameter is mandatory to be informed in the request.

learningResource
required
object

The learning resource that the tracking will be created for.

trainingSession
required
object

The session associated to the tracking.

progress
number <float>

The progress of the learner on the current content, in percentage (from 0 to 100).

score
number <float>

The score the learner has achieved on the content.

scoreMax
number <float>

The maximum score that the learner can achieve on the content.

timeSpent
integer >= 0

The total time the learner spent on the content.

firstLaunchedAt
string <date-time>

The date and time at which the content referenced by the tracking row has been launched for the first time.

latestAccessedAt
string <date-time>

The date at which the content referenced by the tracking row has been last accessed.

completedAt
string <date-time>

The date and time at which the content referenced by the training has been completed for the first time.

Responses

Request samples

Content type
application/json
{
  • "learner": {
    },
  • "learningResource": {
    },
  • "trainingSession": {
    },
  • "progress": 69.8,
  • "score": 70,
  • "scoreMax": 100,
  • "timeSpent": 420,
  • "firstLaunchedAt": "2019-01-30T00:00:00+00:00",
  • "latestAccessedAt": "2019-01-30T00:00:00+00:00",
  • "completedAt": "2019-01-30T00:00:00+00:00"
}

Response samples

Content type
application/json
{}

List tracking data by learning resources

beta icon Returns a paginated collection of learning resource trackings.

Accepted roles: ck/admin

Rate limit: This endpoint is limited to 10 requests per minute.

query Parameters
learnerId
integer
Example: learnerId=18

The id of the learner.

learningResourceId
integer
Example: learningResourceId=728

The id of the learning resource.

trainingSessionId
integer
Example: trainingSessionId=76

The id of the training session.

firstLaunchedAt.lowerThan
string
Example: firstLaunchedAt.lowerThan=2020-02-01T17%3A51%3A34%2B00%3A00

First launched before informed datetime, URL-encoded in the ISO 8601 format.

firstLaunchedAt.lowerThanEqual
string
Example: firstLaunchedAt.lowerThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

First launched at or before informed datetime, URL-encoded in the ISO 8601 format.

firstLaunchedAt.greaterThan
string
Example: firstLaunchedAt.greaterThan=2020-02-01T17%3A51%3A34%2B00%3A00

First launched after informed datetime, URL-encoded in the ISO 8601 format.

firstLaunchedAt.greaterThanEqual
string
Example: firstLaunchedAt.greaterThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

First launched at or after informed datetime, URL-encoded in the ISO 8601 format.

firstLaunchedAt.equal
string
Example: firstLaunchedAt.equal=2020-02-01T17%3A51%3A34%2B00%3A00

Retrieve only first launched at the exactly informed datetime, URL-encoded in the ISO 8601 format.

completedAt.lowerThan
string
Example: completedAt.lowerThan=2020-02-01T17%3A51%3A34%2B00%3A00

Completed before informed datetime, URL-encoded in the ISO 8601 format.

completedAt.lowerThanEqual
string
Example: completedAt.lowerThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Completed at or before informed datetime, URL-encoded in the ISO 8601 format.

completedAt.greaterThan
string
Example: completedAt.greaterThan=2020-02-01T17%3A51%3A34%2B00%3A00

Completed after informed datetime, URL-encoded in the ISO 8601 format.

completedAt.greaterThanEqual
string
Example: completedAt.greaterThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Completed at or after informed datetime, URL-encoded in the ISO 8601 format.

completedAt.equal
string
Example: completedAt.equal=2020-02-01T17%3A51%3A34%2B00%3A00

Retrieve only completed at the exactly informed datetime, URL-encoded in the ISO 8601 format.

latestAccessedAt.lowerThan
string
Example: latestAccessedAt.lowerThan=2020-02-01T17%3A51%3A34%2B00%3A00

Last accessed before informed datetime, URL-encoded in the ISO 8601 format.

latestAccessedAt.lowerThanEqual
string
Example: latestAccessedAt.lowerThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Last accessed at or before informed datetime, URL-encoded in the ISO 8601 format.

latestAccessedAt.greaterThan
string
Example: latestAccessedAt.greaterThan=2020-02-01T17%3A51%3A34%2B00%3A00

Last accessed after informed datetime, URL-encoded in the ISO 8601 format.

latestAccessedAt.greaterThanEqual
string
Example: latestAccessedAt.greaterThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Last accessed at or after informed datetime, URL-encoded in the ISO 8601 format.

latestAccessedAt.equal
string
Example: latestAccessedAt.equal=2020-02-01T17%3A51%3A34%2B00%3A00

Retrieve only last accessed at the exactly informed datetime, URL-encoded in the ISO 8601 format.

timeSpent.lowerThan
integer
Example: timeSpent.lowerThan=700

Time spent lower than the informed.

timeSpent.lowerThanEqual
integer
Example: timeSpent.lowerThanEqual=421

Time spent lower than the informed or equal.

timeSpent.greaterThan
integer
Example: timeSpent.greaterThan=4000

Time spent greater than the informed.

timeSpent.greaterThanEqual
integer
Example: timeSpent.greaterThanEqual=10

Time spent greater than the informed or equal.

timeSpent.equal
integer
Example: timeSpent.equal=420

Retrieve only time spent with the exactly informed value.

progress.lowerThan
number
Example: progress.lowerThan=100.0

Progress lower than the informed.

progress.lowerThanEqual
number
Example: progress.lowerThanEqual=98.9

Progress lower than the informed or equal.

progress.greaterThan
number
Example: progress.greaterThan=2

Progress greater than the informed.

progress.greaterThanEqual
number
Example: progress.greaterThanEqual=10.4

Progress greater than the informed or equal.

progress.equal
number
Example: progress.equal=42.0

Retrieve only progress with the exactly informed value.

score.lowerThan
number
Example: score.lowerThan=700.0

Score lower than the informed.

score.lowerThanEqual
number
Example: score.lowerThanEqual=421.20

Score lower than the informed or equal.

score.greaterThan
number
Example: score.greaterThan=400

Score greater than the informed.

score.greaterThanEqual
number
Example: score.greaterThanEqual=10

Score greater than the informed or equal.

score.equal
number
Example: score.equal=420.0

Retrieve only score with the exactly informed value.

status
string
Enum: "COMPLETED" "INCOMPLETE" "NOT_STARTED"
Example: status=COMPLETED

The progress status of the content referenced by the tracking row.

offset
integer <int32> >= 0
Default: 0
Example: offset=1

The amount of resources to skip (for pagination).

size
integer <int32> [ 1 .. 50 ]
Default: 10
Example: size=10

The maximum amount of items to return in a single request.

include
string
Example: include=count

List of optional fields to be included in the response, separated by a comma. Supported fields are:

  • count

Responses

Response samples

Content type
application/json
{}

Update a learning resource tracking record

Update a tracking record that is not completed for the learning resource of a training session, for a given learner (from eqs_tracking).


Accepted roles: ck/admin ck/learner

path Parameters
id
required
integer <int32> >= 0
Default: 0
Example: 1

The identifier of the tracking (from eqs_tracking.id).

Request Body schema: application/json
progress
number <float>

The progress of the learner on the current content, in percentage (from 0 to 100).

score
number <float>

The score the learner has achieved on the content.

scoreMax
number <float>

The maximum score that the learner can achieve on the content.

timeSpent
integer >= 0

The total time the learner spent on the content.

firstLaunchedAt
string or null <date-time>

The date and time at which the content referenced by the tracking row has been launched for the first time.

latestAccessedAt
string or null <date-time>

The date at which the content referenced by the tracking row has been last accessed.

completedAt
string or null <date-time>

The date and time at which the content referenced by the training has been completed for the first time.

Responses

Request samples

Content type
application/json
{
  • "progress": 69.8,
  • "score": 70,
  • "scoreMax": 100,
  • "timeSpent": 420,
  • "firstLaunchedAt": "2019-01-30T00:00:00+00:00",
  • "latestAccessedAt": "2019-01-30T00:00:00+00:00",
  • "completedAt": "2019-01-30T00:00:00+00:00"
}

Response samples

Content type
application/json
Example
{}

Training sessions

A training course session is an instance of a training course.

List all training sessions

Return a paginated collection of training sessions.
The results can be filtered through query parameters.


Roles: ck/admin

query Parameters
offset
integer <int32>
Default: 0
Example: offset=10

The offset is the number of records to be skipped before data is displayed.

size
integer <int32>
Default: 100
Example: size=5

The number of records displayed per page. The limit is 100.

enabled
boolean
Deprecated
Example: enabled=true

The value is TRUE if the training session is enabled.

status
string
Enum: "NOT_STARTED" "ONGOING" "CLOSED"
Example: status=NOT_STARTED

Status of training session.

languageCode
string^[a-z]{2,3}-[A-Z]{2,3}$
Example: languageCode=en-GB

Language code of training session, in the format xx[x]-YY[Y] (ISO 639-1 and ISO 3166-1 combined with a dash)

isHrisExportable
boolean
Example: isHrisExportable=true

Training session exportable to external HRIS platforms

modifiedAt.greaterThan
string <date-time>
Example: modifiedAt.greaterThan=2020-02-01T17%3A51%3A34%2B00%3A00

Modified after informed datetime, URL-encoded in the ISO 8601 format

modifiedAt.lowerThan
string <date-time>
Example: modifiedAt.lowerThan=2020-02-01T17%3A51%3A34%2B00%3A00

Update before informed datetime, URL-encoded in the ISO 8601 format

modifiedAt.greaterThanEqual
string <date-time>
Example: modifiedAt.greaterThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Modified at or after informed datetime, URL-encoded in the ISO 8601 format

modifiedAt.lowerThanEqual
string <date-time>
Example: modifiedAt.lowerThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Modified at or before informed datetime, URL-ncoded in the ISO 8601 format

Responses

Response samples

Content type
application/json
{
  • "count": 2,
  • "items": [
    ],
}

Retrieve a training session

Retrieve the details of an existing training session.


Accepted role(s): ck/admin ck/learner

path Parameters
id
required
integer <int64>
Example: 2

The identifier of the training session

Responses

Response samples

Content type
application/json
Example
{
  • "id": 2,
  • "uuid": "5F8A7C06-D796-49EA-A8F4-81B4D6248CF8",
  • "startAt": "2020-06-01T21:27:05+00:00",
  • "endAt": "2021-06-01T21:27:05+00:00",
  • "title": "The training session",
  • "enabled": true,
  • "status": "NOT_STARTED",
  • "languageCode": "en-GB",
  • "modifiedAt": "2020-05-01T21:27:05+00:00",
  • "createdAt": "2020-04-01T21:27:05+00:00",
  • "isMandatory": true,
  • "isHrisExportable": false,
  • "metadata": {
    },
  • "trainingCourse": {},
}

List of translations

Get translations for a given training session


Accepted role(s): ck/admin ck/learner

path Parameters
id
required
integer <int64>
Example: 2

The training session's ID.

Responses

Response samples

Content type
application/json
{}

Update a training session

path Parameters
guid
required
string
Example: XXXX-4C9D-DE71-6B13-FAEBB13B5E21

The identifier of the training session

Request Body schema: application/json
title
string [ 1 .. 255 ] characters

Title of the training session.

start
string <date>

Start date of the training session, represented in the ISO 8601 GMT format.

end
string <date>

End date of the training session, represented in the ISO 8601 GMT format.

welcomeText
string

Welcome text of the training session. Allows HTML tags.

object

Translations of the training session.

Responses

Request samples

Content type
application/json
{
  • "title": "Updated training session title",
  • "start": "2020-10-23",
  • "end": "2021-03-31",
  • "welcomeText": "Welcome to the training session",
  • "translations": {
    }
}

Response samples

Content type
application/json
{
  • "message": "OK",
  • "success": true,
  • "totalCount": 1,
  • "count": 1,
  • "value": [
    ],
  • "_links": {
    }
}

Create a training session

path Parameters
training_guid
required
string

The training GUID to create a session.

Request Body schema: application/json
title
string

Title of the training course

start
date

Start date of the Training Session

end
date

End date of the Training Session

welcomeText
string

The welcome text of the training session. Allows HTML tags

object

The training session translated information.

Responses

Request samples

Content type
application/json
{
  • "title": "learningChannel",
  • "start": "2017-09-27",
  • "end": "2018-09-27",
  • "welcomeText": "Hello.",
  • "translations": {
    }
}

Response samples

Content type
application/json
{
  • "message": "OK",
  • "success": true,
  • "totalCount": 1,
  • "count": 1,
  • "value": [
    ],
  • "_links": {
    }
}

Registrations

Registration information. A registration is a link between a learner and a training session.

Register a learner for a training session

path Parameters
session_guid
required
string
Example: XXXX-0652-3C4D-908B-8475A9E0D1CD

GUID of the training session

learner_guid
required
string
Example: XXXX-47C3-CD84-A35C-8AB8622AFCE6

GUID of the learner

Responses

Response samples

Content type
application/json
{
  • "message": "OK",
  • "success": true,
  • "totalCount": 1,
  • "count": 1,
  • "value": [
    ],
  • "_links": {
    }
}

List all registrations

Return the paginated collection with all registrations from CKLS (can be filtered).


Accepted roles: ck/admin

query Parameters
status
string
Enum: "CONFIRMED" "PENDING" "SUSPENDED"
Example: status=CONFIRMED

Filter the results based on a given status of the registration

registeredAt.equal
string <date-time>
Example: registeredAt.equal=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of creation equal to the informed one.

registeredAt.greaterThan
string <date-time>
Example: registeredAt.greaterThan=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of creation greater than (but not equal to) the informed one.

registeredAt.lowerThan
string <date-time>
Example: registeredAt.lowerThan=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of creation lower than (but not equal to) the informed one.

registeredAt.greaterThanEqual
string <date-time>
Example: registeredAt.greaterThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of creation greater or equal to the informed one.

registeredAt.lowerThanEqual
string <date-time>
Example: registeredAt.lowerThanEqual=2020-02-01T16%3A20%3A00%2B00%3A00

Filter the list by retrieving only registrations with a date and time of creation lower or equal to the informed one.

firstAccessAt.equal
string <date-time>
Example: firstAccessAt.equal=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of first access equal to the informed one.

firstAccessAt.greaterThan
string <date-time>
Example: firstAccessAt.greaterThan=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of first access greater than (but not equal to) the informed one.

firstAccessAt.lowerThan
string <date-time>
Example: firstAccessAt.lowerThan=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of first access lower than (but not equal to) the informed one.

firstAccessAt.greaterThanEqual
string <date-time>
Example: firstAccessAt.greaterThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of first access greater or equal to the informed one.

firstAccessAt.lowerThanEqual
string <date-time>
Example: firstAccessAt.lowerThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of first access lower or equal to the informed one.

lastAccessAt.equal
string <date-time>
Example: lastAccessAt.equal=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of last access equal to the informed one.

lastAccessAt.greaterThan
string <date-time>
Example: lastAccessAt.greaterThan=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of last accessgreater than (but not equal to) the informed one.

lastAccessAt.lowerThan
string <date-time>
Example: lastAccessAt.lowerThan=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of last access lower than (but not equal to) the informed one.

lastAccessAt.greaterThanEqual
string <date-time>
Example: lastAccessAt.greaterThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of last access greater or equal to the informed one.

lastAccessAt.lowerThanEqual
string <date-time>
Example: lastAccessAt.lowerThanEqual=2020-02-01T17%3A51%3A34%2B00%3A00

Filter the list by retrieving only registrations with a date and time of last access lower or equal to the informed one.

completedAt.equal
string <date-time>
Example: completedAt.equal=2020-02-01T16%3A20%3A00%2B00%3A00

Filter the list by retrieving only registrations with a date of completion equal to the informed one.

completedAt.greaterThan
string <date-time>
Example: completedAt.greaterThan=2020-02-01T16%3A20%3A00%2B00%3A00

Filter the list by retrieving only registrations with a date of completion greater than (but not equal to) the informed one.

completedAt.lowerThan
string <date-time>
Example: completedAt.lowerThan=2020-02-01T16%3A20%3A00%2B00%3A00

Filter the list by retrieving only registrations with a date of completion lower than (but not equal to) the informed one.

completedAt.greaterThanEqual
string <date-time>
Example: completedAt.greaterThanEqual=2020-02-01T16%3A20%3A00%2B00%3A00

Filter the list by retrieving only registrations with a date of completion greater or equal to the informed one.

completedAt.lowerThanEqual
string <date-time>
Example: completedAt.lowerThanEqual=2020-02-01T16%3A20%3A00%2B00%3A00

Filter the list by retrieving only registrations with a date of completion lower or equal to the informed one.

progress.equal
integer <int32>
Example: progress.equal=42

Filter the list by retrieving only registrations with a total progress equal to the informed one.

progress.greaterThan
integer <int32>
Example: progress.greaterThan=42

Filter the list by retrieving only registrations with a total progress greater than (but not equal to) the informed one.

progress.lowerThan
integer <int32>
Example: progress.lowerThan=42

Filter the list by retrieving only registrations with a total progress lower than (but not equal to) the informed one.

progress.greaterThanEqual
integer <int32>
Example: progress.greaterThanEqual=42

Filter the list by retrieving only registrations with a total progress greater or equal to the informed one.

progress.lowerThanEqual
integer <int32>
Example: progress.lowerThanEqual=42

Filter the list by retrieving only registrations with a total progress lower or equal to the informed one.

totalLearningResources.equal
integer <int32>
Example: totalLearningResources.equal=12

Filter the list by retrieving only registrations with a total amount of learning resources equal to the informed one.

totalLearningResources.greaterThan
integer <int32>
Example: totalLearningResources.greaterThan=12

Filter the list by retrieving only registrations with a total amount of learning resources greater than (but not equal to) the informed one.

totalLearningResources.lowerThan
integer <int32>
Example: totalLearningResources.lowerThan=12

Filter the list by retrieving only registrations with a total amount of learning resources lower than (but not equal to) the informed one.

totalLearningResources.greaterThanEqual
integer <int32>
Example: totalLearningResources.greaterThanEqual=12

Filter the list by retrieving only registrations with a total amount of learning resources greater or equal to the informed one.

totalLearningResources.lowerThanEqual
integer <int32>
Example: totalLearningResources.lowerThanEqual=12

Filter the list by retrieving only registrations with a total amount of learning resources lower or equal to the informed one.

totalLearningResourcesCompleted.equal
integer <int32>
Example: totalLearningResourcesCompleted.equal=12

Filter the list by retrieving only registrations with a total amount of completed learning resources equal to the informed one.

totalLearningResourcesCompleted.greaterThan
integer <int32>
Example: totalLearningResourcesCompleted.greaterThan=12

Filter the list by retrieving only registrations with a total amount of completed learning resources greater than (but not equal to) the informed one.

totalLearningResourcesCompleted.lowerThan
integer <int32>
Example: totalLearningResourcesCompleted.lowerThan=12

Filter the list by retrieving only registrations with a total amount of completed learning resources lower than (but not equal to) the informed one.

totalLearningResourcesCompleted.greaterThanEqual
integer <int32>
Example: totalLearningResourcesCompleted.greaterThanEqual=12

Filter the list by retrieving only registrations with a total amount of completed learning resources greater or equal to the informed one.

totalLearningResourcesCompleted.lowerThanEqual
integer <int32>
Example: totalLearningResourcesCompleted.lowerThanEqual=12

Filter the list by retrieving only registrations with a total amount of completed learning resources lower or equal to the informed one.

totalLearningResourcesStarted.equal
integer <int32>
Example: totalLearningResourcesStarted.equal=12

Filter the list by retrieving only registrations with a total amount of started learning resources equal to the informed one.

totalLearningResourcesStarted.greaterThan
integer <int32>
Example: totalLearningResourcesStarted.greaterThan=12

Filter the list by retrieving only registrations with a total amount of started learning resources greater than (but not equal to) the informed one.

totalLearningResourcesStarted.lowerThan
integer <int32>
Example: totalLearningResourcesStarted.lowerThan=12

Filter the list by retrieving only registrations with a total amount of started learning resources lower than (but not equal to) the informed one.

totalLearningResourcesStarted.greaterThanEqual
integer <int32>
Example: totalLearningResourcesStarted.greaterThanEqual=12

Filter the list by retrieving only registrations with a total amount of started learning resources greater or equal to the informed one.

totalLearningResourcesStarted.lowerThanEqual
integer <int32>
Example: totalLearningResourcesStarted.lowerThanEqual=12

Filter the list by retrieving only registrations with a total amount of started learning resources lower or equal to the informed one.

timeSpent.equal
integer <int32>
Example: timeSpent.equal=3600

Filter the list by retrieving only registrations with a total time spent (all types of activities) equal to the informed one.

timeSpent.greaterThan
integer <int32>
Example: timeSpent.greaterThan=3600

Filter the list by retrieving only registrations with a total time spent (all typesof activities) greater than (but not equal to) the informed one.

timeSpent.lowerThan
integer <int32>
Example: timeSpent.lowerThan=3600

Filter the list by retrieving only registrations with a total time spent (all types of activities) lower than (but not equal to) the informed one.

timeSpent.greaterThanEqual
integer <int32>
Example: timeSpent.greaterThanEqual=3600

Filter the list by retrieving only registrations with a total time spent (all types of activities) greater or equal to the informed one.

timeSpent.lowerThanEqual
integer <int32>
Example: timeSpent.lowerThanEqual=3600

Filter the list by retrieving only registrations with a total time spent (all types of activities) lower or equal to the informed one.

learnerId
integer <int32>
Example: learnerId=10

ID of the learner.

trainingSessionId
integer <int32>
Example: trainingSessionId=10

ID of the training session.

offset
integer <int32>
Default: 0

Offset to be used in the pagination.

size
integer <int32>
Default: 100
Example: size=10

Size (limit) to be used in the pagination.

include
string
Example: include=netPromoterScore,timeSpentOnline

List of optional fields to be included in the response, separated by a comma. Supported fields are:

  • totalLearningResources
  • totalLearningResourcesCompleted
  • totalLearningResourcesStarted
  • timeSpentClassroomActivities
  • timeSpentOnline
  • netPromoterScore
  • count

Responses

Response samples

Content type
application/json
{}

Update a registration

Update fields in a registration identified by the ID in the URL


Authorized role(s): ck/admin

path Parameters
id
required
integer <int32> >= 0
Default: 0
Example: 1

The identifier of the registration

Request Body schema: application/json
status
string
Enum: "PENDING" "CONFIRMED" "SUSPENDED"

Update the registration with the given status.

Responses

Request samples

Content type
application/json
{
  • "status": "CONFIRMED"
}

Response samples

Content type
application/json
{}

Returns a specific registration

path Parameters
registration_guid
required
string

Responses

Response samples

Content type
application/json
{
  • "message": "OK",
  • "success": true,
  • "totalCount": 1,
  • "count": 1,
  • "value": [
    ],
  • "_links": {
    }
}

Delete a registration

path Parameters
registration_guid
required
string

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Authors

For a given learning resource, an author is either the speaker(in a video for example) or the person who is at the origin of the ideas contained in learning resource.

List all authors

Return a paginated collection of authors.
The results can be filtered through query parameters.


Accepted roles: ck/admin ck/learner

query Parameters
offset
integer <int32>
Default: 0

Offset to be used in the pagination

size
integer <int32>
Default: 100
Example: size=10

Size (limit) to be used in the pagination

firstName
string
Example: firstName=Marie

Filter the authors list by a given first name (exact match)

lastName
string
Example: lastName=Curie

Filter the authors list by a given last name (exact match)

Responses

Response samples

Content type
application/json
{}

Create an author

Creates a new author in CKLS validating the metadata and checking if it already exists.


Accepted roles: ck/admin

Request Body schema: application/json
lastName
required
string

Last name of the author

firstName
required
string

First name of the author

Responses

Request samples

Content type
application/json
{
  • "lastName": "Curie",
  • "firstName": "Marie"
}

Response samples

Content type
application/json
{}

Retrieve an author

Return details for the given author.


Accepted roles: ck/admin ck/learner

path Parameters
id
required
integer
Example: 3

The identifier of the author

Responses

Response samples

Content type
application/json
{}

Update an author

Update the information for a given author.


Accepted roles: ck/admin

path Parameters
id
required
integer
Example: 3

The identifier of the author

Request Body schema: application/json
lastName
string

Last name of the author

firstName
string

First name of the author

Responses

Request samples

Content type
application/json
{
  • "lastName": "Curie",
  • "firstName": "Marie"
}

Response samples

Content type
application/json
{}

Delete an author

Remove the given author from your CKLS.


Accepted roles: ck/admin

path Parameters
id
required
integer
Example: 3

The identifier of the author

Responses

Response samples

Content type
application/json
{
  • "message": "No valid credentials were provided."
}

Tags

A tag is a term that describes the content, by calling out related topics and synonyms for terms in the content title, for example.
Content can have a wide set of tags.

List all tags

Return the paginated collection with all tags from CKLS (can be filtered).


Accepted roles: ck/admin ck/learner

query Parameters
offset
integer <int32>
Default: 0

Offset to be used in the pagination

size
integer <int32>
Default: 100
Example: size=10

Size (limit) to be used in the pagination

name
string
Example: name=Soft Skills

Filter the tags list by a given name (exact match)

languageCode
string
Example: languageCode=pt-BR

Filter the themes list by a given language code (exact match), composed by two ISO 639-1 alphanumeric letters in lower-case (representing the language itself), a hyphen and two ISO 3166-1 alphanumeric letters in upper-case (representing the country variation).

Responses

Response samples

Content type
application/json
{}

Create a tag

Create a new tag in CKLS validating the metadata and checking if it already exists.


Accepted roles: ck/admin

Request Body schema: application/json
name
required
string

Name of the tag

languageCode
required
string

The language code of the tag, composed by two ISO 639-1 alphanumeric letters in lower-case (representing the language itself), a hyphen and two ISO 3166-1 alphanumeric letters in upper-case (representing the country variation)

Responses

Request samples

Content type
application/json
{
  • "name": "Soft Skills",
  • "languageCode": "en-US"
}

Response samples

Content type
application/json
{}

Retrieve a tag

Return a tag from CKLS identified by the ID in the URL.


Accepted roles: ck/admin ck/learner

path Parameters
id
required
integer
Example: 3

The identifier of the tag

Responses

Response samples

Content type
application/json
{}

Update a tag

Update the information of a single tag from CKLS identified by the ID in the URL.


Accepted roles: ck/admin

path Parameters
id
required
integer
Example: 3

The identifier of the tag

Request Body schema: application/json
name
string

Name of the tag

languageCode
string

The language code of the tag, composed by two ISO 639-1 alphanumeric letters in lower-case (representing the language itself), a hyphen and two ISO 3166-1 alphanumeric letters in upper-case (representing the country variation)

Responses

Request samples

Content type
application/json
{
  • "name": "Soft Skills",
  • "languageCode": "en-US"
}

Response samples

Content type
application/json
{}

Delete a tag

Remove a tag from CKLS identified by the ID in the URL.


Accepted roles: ck/admin

path Parameters
id
required
integer
Example: 3

The identifier of the tag

Responses

Response samples

Content type
application/json
{
  • "message": "No valid credentials were provided."
}

Themes

A theme is one term that tries to summarize the content as a whole or call out the one topic that the content is about.
Usually content does not have a lot of themes, mostly one, sometimes 2.

List all themes

Return the paginated collection with all themes available in your CKLS instance (can be filtered).


Accepted roles: ck/admin ck/learner

query Parameters
offset
integer <int32>
Default: 0

Offset to be used in the pagination

size
integer <int32>
Default: 100
Example: size=10

Size (limit) to be used in the pagination

name
string
Example: name=Logistics

Filter the themes list by a given name (exact match)

languageCode
string
Example: languageCode=pt-BR

Filter the themes list by a given language code (exact match), composed by two ISO 639-1 alphanumeric letters in lower-case (representing the language itself), a hyphen and two ISO 3166-1 alphanumeric letters in upper-case (representing the country variation).

Responses

Response samples

Content type
application/json
{}

Create a theme

Create a new theme in CKLS, validating the metadata and checking if it already exists.


Accepted roles: ck/admin

Request Body schema: application/json
object

Object containing parent ID or null

name
required
string

Name of the theme

languageCode
required
string

The language code of the theme, composed by two ISO 639-1 alphanumeric letters in lower-case (representing the language itself), a hyphen and two ISO 3166-1 alphanumeric letters in upper-case (representing the country variation).

Responses

Request samples

Content type
application/json
{
  • "parent": {
    },
  • "name": "Railroad Operations and Control",
  • "languageCode": "fr-FR"
}

Response samples

Content type
application/json
{}

Retrieve a theme

Return a theme from CKLS identified by its ID.


Accepted roles: ck/admin ck/learner

path Parameters
id
required
integer
Example: 3

The identifier of the theme

Responses

Response samples

Content type
application/json
{}

Update a theme

Update the information of a theme from CKLS identified by its ID.


Accepted roles: ck/admin

path Parameters
id
required
integer
Example: 3

The identifier of the theme

Request Body schema: application/json
object

A link to the parent theme (if present) or null

name
string

Name of the theme

languageCode
string

The language code of the theme, composed by two ISO 639-1 alphanumeric letters in lower-case (representing the language itself), a hyphen and two ISO 3166-1 alphanumeric letters in upper-case (representing the country variation).

Responses

Request samples

Content type
application/json
{
  • "parent": {
    },
  • "name": "Railroad Operations and Control",
  • "languageCode": "fr-FR"
}

Response samples

Content type
application/json
{}

Delete a theme

Remove a theme from CKLS identified by its ID.


Accepted roles: ck/admin

path Parameters
id
required
integer
Example: 3

The identifier of the theme

Responses

Response samples

Content type
application/json
{
  • "message": "No valid credentials were provided."
}

Entities

To help you manage your company's e-learning strategy more effectively, the CKLS platform enables you to organise your learners into a tree structure.
Learners are arranged into entities, sub-entities and sub-sub-entities. Each learner may only belong to one entity.

List all entities

This request returns all entities visible to the given user.


Authorized role(s): ck/admin

query Parameters
size
integer <int32> [ 1 .. 50 ]
Default: 10

The maximum amount of items to return in a single request

offset
integer <int32> >= 0
Default: 0

The offset is the number of records to be skipped before data is displayed.

Responses

Response samples

Content type
application/json
{}

Retrieve an entity

This request returns the details of a given entity.


Authorized role(s): ck/admin ck/learner

path Parameters
id
required
integer <int32>
Example: 1

The entity's ID.

Responses

Response samples

Content type
application/json
{}

CloudSearch

Endpoints that search information through CloudSearch.

Search for learning resources using CloudSearch

Returns a list of learning resources from CloudSearch that matches the field-value pairs described in the request body.


Accepted roles: ck/learner

query Parameters
limit
integer <int32> [ 1 .. 50 ]
Default: 10

The maximum amount of items to return in a single request

offset
integer <int32> >= 0
Default: 0

The amount of resources to skip (for pagination)

Request Body schema: application/json

Object with the fields to perform the search

language
required
string

The language to perform the search

sessionId
integer <int32>

Id of the session to perform the search

keyword
string

The keyword to perform the search

type
string
Enum: "AICC" "SCORM" "OTHERS" "READING_DOCUMENT" "VIDEO" "WEBSITE"

Filter the learning resources by type

duration
string
Enum: "LESS_THAN_10_MINUTES" "BETWEEN_10_AND_30_MINUTES" "MORE_THAN_30_MINUTES"

Filter the learning resources by their duration

publisher
string

The publisher to filter the learning resources

theme
string

The theme to filter the search

author
string

The author to filter the search

tag
string

The tag to filter the search

sortBy
string
Enum: "DATE" "RATING" "VIEWS" "RELEVANCE"

Define the order to filter the results

Responses

Request samples

Content type
application/json
{
  • "language": "en",
  • "sessionId": 1,
  • "keyword": "Improving",
  • "type": "WEBSITE",
  • "duration": "LESS_THAN_10_MINUTES",
  • "publisher": "CrossKnowledge",
  • "theme": "Logistics",
  • "author": "Leonardo",
  • "tag": "Oratory",
  • "sortBy": "RELEVANCE"
}

Response samples

Content type
application/json
{}

Performs a search on the training courses using CloudSearch

Returns a list of training courses using CloudSearch that matches the field-value pairs described in the request body.


Accepted roles: ck/learner

query Parameters
limit
integer <int32> [ 1 .. 50 ]
Default: 10

The maximum amount of items to return in a single request

offset
integer <int32> >= 0
Default: 0

The amount of resources to skip (for pagination)

Request Body schema: application/json

Object with the fields to perform the search

language
string

The language to perform the search

sessionId
integer <int32>

Id of the session to perform the search

keyword
string

The keyword to perform the search

type
string
Enum: "PATH" "OPEN_ACCESS"

Filter the trainings by type (path or open access)

status
string
Enum: "NOT_STARTED" "STARTED" "COMPLETED"

Filter the trainings by their status relative to the learner

publisher
string

The publisher to filter the trainings

chapter
string

The chapter to filter the search

hasContributionWidget
boolean

Filter the trainings that has a contribution widget

sortBy
string
Enum: "DATE" "POPULARITY" "RELEVANCE"

Define the order to filter the results

Responses

Request samples

Content type
application/json
{
  • "language": "en",
  • "sessionId": 1,
  • "keyword": "Improving",
  • "type": "PATH",
  • "status": "NOT_STARTED",
  • "publisher": "CrossKnowledge",
  • "chapter": "Test Chapter 1",
  • "hasContributionWidget": false,
  • "sortBy": "RELEVANCE"
}

Response samples

Content type
application/json
{}