5app REST API (1.0.0)
Download OpenAPI specification:Download
Documentation for the 5app endpoints defined in the Hub within hub/api/routes
.
The main router for the endpoints is found under hub/api/app.js
.
This API is documented in OpenAPI format and utilises Swagger version 3.0.0.
Fetch or download content audit
Returns the audit for all content (playlist, assets, folders) with pagination or downloads the content audit as a csv file.
query Parameters
format | string (CSVFormat) Value: "csv" If passed through, the requested data will be downloaded as a csv file. Also determines the format of the downloaded file. |
attachment | string (Attachment) Example: attachment=1 The name given to the file to be downloaded |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
limit | number (Limit) Example: limit=1 The number of items to return per page. |
search | object Search term to filter the content audit results by. |
Responses
Response samples
- 200
{- "items": [
- {
- "id": 1,
- "action": "CREATE",
- "changeTime": "2023-02-21 10:52:55",
- "content": {
- "id": 1,
- "name": "Content name",
- "isDeleted": false,
- "type": "playlist",
- "parentPlaylistId": 1
}, - "author": {
- "id": 1,
- "name": "User name",
- "email": "user@5app.com",
- "isDeleted": false
}, - "details": [
- {
- "property": "contentName",
- "value": "New content name"
}
]
}
], - "total": 100,
- "nextOffset": 1
}
Create a nudge
Creates a nudge and accordingly its nudgeAction
s, nudgeContent
s and nudgeTeam
s.
Request Body schema: required
isEnabled required | boolean |
name required | string |
locale | string (Locale) Enum: "da-DK" "de-DE" "de-DE-Sie" "en-GB" "en-US" "es-ES" "fi-FI" "fr-FR" "hu-HU" "it-IT" "ja-JP" "ko-KR" "nl-NL" "no-NO" "pl-PL" "pt-PT" "ro-RO" "sv-SE" "th-TH" "zh-CN" "zh-TW" Locale supported by the hub |
timezone required | string (Timezone) Default: null IANA time zone name in the format |
goalType required | string (NudgeGoalType) Enum: "completeContent" "openContent" "logInFirstTime" "logInAgain" Goal type of the nudge, belonging to the two categories content nudge ( |
object (NudgeTarget) | |
teamIds | Array of numbers (TeamIds) |
contentIds | Array of numbers (ContentIds) |
Array of objects (NudgeActionsPostPayload) |
Responses
Request samples
- Payload
{- "isEnabled": true,
- "name": "Nudge name",
- "locale": "da-DK",
- "timezone": "Europe/Berlin",
- "goalType": "completeContent",
- "target": {
- "type": "fixed",
- "offset": 1,
- "date": "2023-02-21",
- "isDueDate": false
}, - "teamIds": [
- 1
], - "contentIds": [
- 1
], - "nudgeActions": [
- {
- "isEnabled": true,
- "isRepeating": true,
- "repeatFrequency": 2,
- "type": "share",
- "scheduled": {
- "type": "fixed",
- "offset": 1,
- "date": "2023-02-21",
- "time": "09:00:00"
}, - "email": {
- "subject": "Email subject",
- "message": "Email message"
}
}
]
}
Response samples
- 200
{- "id": 1
}
Update nudges
Update one or multiple nudges. For multi updates, the audience
, nudgeTeam
s and enabled state of the nudges can be updated. For single nudges, all nudge details, nudgeAction
s, nudgeContent
s and nudgeTeam
s can be updated.
Request Body schema: required
ids required | Array of numbers (NudgeId) |
isEnabled | boolean |
isDeleted | boolean (NudgePatchIsDeleted) Can be used to restore a deleted nudge by passing through |
name | string |
locale | string (Locale) Enum: "da-DK" "de-DE" "de-DE-Sie" "en-GB" "en-US" "es-ES" "fi-FI" "fr-FR" "hu-HU" "it-IT" "ja-JP" "ko-KR" "nl-NL" "no-NO" "pl-PL" "pt-PT" "ro-RO" "sv-SE" "th-TH" "zh-CN" "zh-TW" Locale supported by the hub |
timezone | string (Timezone) Default: null IANA time zone name in the format |
goalType | string (NudgeGoalType) Enum: "completeContent" "openContent" "logInFirstTime" "logInAgain" Goal type of the nudge, belonging to the two categories content nudge ( |
object (NudgeTarget) | |
teamIdsToAdd | Array of numbers (TeamIds) |
teamIdsToRemove | Array of numbers (TeamIds) |
contentIds | Array of numbers (ContentIds) |
Array of objects (NudgeActionsPatchPayload) |
Responses
Request samples
- Payload
{- "ids": [
- 1
], - "isEnabled": true,
- "isDeleted": false,
- "name": "Nudge name",
- "locale": "da-DK",
- "timezone": "Europe/Berlin",
- "goalType": "completeContent",
- "target": {
- "type": "fixed",
- "offset": 1,
- "date": "2023-02-21",
- "isDueDate": false
}, - "teamIdsToAdd": [
- 1
], - "teamIdsToRemove": [
- 1
], - "contentIds": [
- 1
], - "nudgeActions": [
- {
- "id": 1,
- "isEnabled": true,
- "isDeleted": true,
- "isRepeating": true,
- "repeatFrequency": 2,
- "type": "share",
- "scheduled": {
- "type": "fixed",
- "offset": 1,
- "date": "2023-02-21",
- "time": "09:00:00"
}, - "email": {
- "subject": "Email subject",
- "message": "Email message"
}
}
]
}
Response samples
- 200
{- "success": true
}
Fetch all nudges
Returns all nudges with pagination.
query Parameters
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
limit | number (Limit) Example: limit=1 The number of items to return per page. |
search | object Search term to filter the nudge list results by. |
Responses
Response samples
- 200
{- "items": [
- {
- "id": 1,
- "name": "Nudge name",
- "audience": "all",
- "goalType": "completeContent",
- "isEnabled": true,
- "canBeEnabled": true,
- "nudgeTeams": [
- {
- "id": 1,
- "name": "Team name",
- "teamType": {
- "id": 1,
- "name": "TeamType name",
- "rank": 1,
- "colour": "#33b77a"
}, - "isSmartTeam": false
}
]
}
], - "total": 100,
- "nextOffset": 1
}
Fetch or download nudges audit
Returns the audit for all nudges with pagination or downloads the nudges audit as a csv file.
query Parameters
format | string (CSVFormat) Value: "csv" If passed through, the requested data will be downloaded as a csv file. Also determines the format of the downloaded file. |
attachment | string (Attachment) Example: attachment=1 The name given to the file to be downloaded |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
limit | number (Limit) Example: limit=1 The number of items to return per page. |
search | object Search term to filter the nudges audit results by. |
Responses
Response samples
- 200
{- "items": [
- {
- "id": 1,
- "action": "CREATE",
- "changeTime": "2023-02-21 10:52:55",
- "nudge": {
- "id": 1,
- "name": "Nudge name",
- "goalType": "completeContent",
- "isDeleted": false
}, - "author": {
- "id": 1,
- "name": "User name",
- "email": "user@5app.com",
- "isDeleted": false
}, - "details": [
- {
- "property": "updatedAction",
- "subproperty": "#8",
- "value": [
- {
- "property": "email_subject",
- "value": "This is a new email subject"
}
]
}
]
}
], - "total": 100,
- "nextOffset": 1
}
Fetch a nudge
Fetch a nudge with its nudgeAction
s, nudgeContent
s and nudgeTeam
s.
path Parameters
nudgeId required | string |
Responses
Response samples
- 200
{- "id": 1,
- "name": "Nudge name",
- "audience": "all",
- "locale": "en-GB",
- "timezone": "Europe/Berlin",
- "goalType": "completeContent",
- "isEnabled": true,
- "target": {
- "type": "fixed",
- "offset": 1,
- "date": "2023-02-21",
- "isDueDate": false
}, - "nudgeTeams": [
- {
- "id": 1,
- "name": "Team name",
- "teamType": {
- "id": 1,
- "name": "TeamType name",
- "rank": 1,
- "colour": "#33b77a"
}, - "isSmartTeam": false
}
], - "nudgeContents": [
- {
- "id": 1,
- "name": "Content name",
- "type": "playlist",
- "thumbnailId": 1,
- "customType": "image"
}
], - "nudgeActions": [
- {
- "id": 1,
- "isEnabled": true,
- "isRepeating": true,
- "repeatFrequency": 2,
- "type": "share",
- "scheduled": {
- "type": "fixed",
- "offset": 1,
- "date": "2023-02-21",
- "time": "09:00:00"
}, - "email": {
- "subject": "Email subject",
- "message": "Email message"
}
}
]
}
Fetch stats for a nudge
Returns the stats for a nudge, depending on its goalType
.
path Parameters
nudgeId required | number (NudgeId) Example: 1 Nudge id |
query Parameters
startDate | string (StartDate) Example: startDate=2023-05-16 The start date of the date range to filter by. Must be in ISO 8601 format. |
endDate | string (EndDate) Example: endDate=2023-05-16 The end date of the date range to filter by. Must be in ISO 8601 format. |
Responses
Response samples
- 200
{- "nudgedUsersCount": 1,
- "actionsSentCount": 1,
- "loggedInAfterNudgeCount": 1,
- "analyticsType": "logInFirstTime"
}
Fetch report for a nudge
Returns the report for a nudge with pagination or downloads the nudge's report as a csv file. All dates are shown within the nudge's timezone.
path Parameters
nudgeId required | number (NudgeId) Example: 1 Nudge id |
query Parameters
search | object Search term to filter the nudges report results by. Searches for matching user names and emails. |
progress | string (NudgeCompletionProgress) Enum: "achievedAll" "unachievedAll" "achievedLate" "unachievedLate" "achievedOnTime" "unachievedOnTime" Filter the result set based on the users' completion status of the nudge goal. Login nudges can only be filtered for |
startDate | string (StartDate) Example: startDate=2023-05-16 The start date of the date range to filter by. Must be in ISO 8601 format. |
endDate | string (EndDate) Example: endDate=2023-05-16 The end date of the date range to filter by. Must be in ISO 8601 format. |
format | string (CSVFormat) Value: "csv" If passed through, the requested data will be downloaded as a csv file. Also determines the format of the downloaded file. |
attachment | string (Attachment) Example: attachment=1 The name given to the file to be downloaded |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
limit | number (Limit) Example: limit=1 The number of items to return per page. |
Responses
Response samples
- 200
{- "items": [
- {
- "userId": 1,
- "email": "thebirds@movies.com",
- "name": "Alfred Hitchcock",
- "pictureUrl": null,
- "lastNudgedDate": "1980-04-28 08:52:55",
- "lastLoginDate": "1980-04-29 10:52:55",
- "achievementStatus": "Achieved"
}
], - "analyticsType": "logInAgain",
- "total": 100,
- "nextOffset": 1
}
Pin playlists
Pin playlists to the Browse page or pin playlists to a topic
Request Body schema: required
playlistIds required | Array of numbers (ContentIds) |
topicId | number (TopicId) Topic id |
Responses
Request samples
- Payload
{- "playlistIds": [
- 1
], - "topicId": 1
}
Response samples
- 200
{- "success": true
}
Unpin playlists
Unpin playlists from the Browse page or unpin playlists from a topic
Request Body schema: required
playlistIds required | Array of numbers (ContentIds) |
topicId | number (TopicId) Topic id |
Responses
Request samples
- Payload
{- "playlistIds": [
- 1
], - "topicId": 1
}
Response samples
- 200
{- "success": true
}
Update pin rank of a playlist
Update the pinned rank of a playlist on the Browse page or within a topic
Request Body schema: required
index required | number 0-based index to pin the playlist to |
playlistId required | number (ContentId) Content id |
topicId | number (TopicId) Topic id |
Responses
Request samples
- Payload
{- "index": 0,
- "playlistId": 1,
- "topicId": 1
}
Response samples
- 200
{- "success": true
}
Add users
Add users to a hub. If teams are specified, the users will be added to the userTeams. Utilised by the Zapier integration.
header Parameters
host | string |
Request Body schema: application/json
password | any |
send_email | any |
teamId | any |
users | any |
Responses
Request samples
- Payload
{- "password": "any",
- "send_email": "any",
- "teamId": "any",
- "users": "any"
}
Get hubs a user belongs too
Fetch hubs a user belongs too
path Parameters
userId required | string |
query Parameters
limit | number (Limit) Example: limit=1 The number of items to return per page. |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
Responses
Response samples
- 200
{- "items": [
- {
- "id": 1,
- "name": "Hub Name",
- "hostname": "hub.5app.com"
}
], - "total": 100,
- "nextOffset": 1
}
Updates an asset
Updates an asset, including changing the owner team if provided
path Parameters
assetId required | number (ContentId) Example: 1 Content id |
Request Body schema: required
name | string or null Asset name. Optional unless |
webUrl | string or null WebUrl. Optional unless name if not defined (the asset is a web link). Can only be updated if |
published | boolean or null Will need to be set to |
type | string (AssetContentType) Enum: "upload" "zip" "web" "scorm" All asset content types. See |
fileFormat | string (FileFormat) Default: null Format of a file |
customType | string (AssetCustomType) Default: null Custom type for an asset. See |
ownerTeamId | number (OwnerTeamId) Team id of the content owning team |
description | string or null |
locale | string (Locale) Enum: "da-DK" "de-DE" "de-DE-Sie" "en-GB" "en-US" "es-ES" "fi-FI" "fr-FR" "hu-HU" "it-IT" "ja-JP" "ko-KR" "nl-NL" "no-NO" "pl-PL" "pt-PT" "ro-RO" "sv-SE" "th-TH" "zh-CN" "zh-TW" Locale supported by the hub |
tags | Array of numbers (TagIds) |
subtitles | Array of numbers (FileId) Optional list of Subtitles IDs. If present, this list of subtitles IDs will replace all video subtitles |
fileId | number (FileId) File id |
thumbnailId | number (ContentCompletionTime) Default: null The completion time for a playlist or an asset in minutes. |
alternativeText | string or null |
download | string (AssetDownload) Enum: "disabled" "enabled" "required" Whether an asset must or can be downloaded. |
openInIframe | boolean or null |
scormAdvancedSettings | object or null If present, it will replace the scorm_settings of the asset |
markAsDoneMode | string (AssetMarkAsDoneMode) Enum: "automatic" "manual" Mark as done mode of the asset |
refid | string or null A reference used to identify this asset in the future |
externalRefId | string or null Custom data of an asset |
parent_id | number or null id of a folder/ topic a content belongs to |
optional | boolean (ContentOptional) Default: false Whether the content has been marked as 'optional' by the user within the specified playlist |
parentPlaylistId | number (ContentId) Content id |
Responses
Request samples
- Payload
{- "name": "Asset name",
- "published": true,
- "type": "upload",
- "fileFormat": null,
- "customType": "video",
- "ownerTeamId": 1,
- "description": "Asset description",
- "locale": "da-DK",
- "tags": [
- 1
], - "subtitles": [
- 1
], - "fileId": 1,
- "thumbnailId": 30,
- "alternativeText": "string",
- "download": "disabled",
- "openInIframe": true,
- "scormAdvancedSettings": { },
- "markAsDoneMode": "automatic",
- "refid": "string",
- "externalRefId": "string",
- "parent_id": 0,
- "optional": false,
- "parentPlaylistId": 1
}
Response samples
- 200
{- "alternativeText": "Asset alternative text",
- "author": {
- "id": 1,
- "displayName": "Lyonel Feininger",
- "isDeleted": false
}, - "brightcoveVideoId": 1,
- "brightcoveAccountId": 1,
- "createdTime": "2023-02-21T10:52:09.000Z",
- "completionTime": 30,
- "convertedFileType": "mp3",
- "converted": false,
- "convertedUrl": "/api/asset/1/file",
- "customType": "video",
- "collection_id": 1,
- "commentCount": 0,
- "commentCountUser": 0,
- "duration": "The actual duration of an asset in minutes if available. E.g. the length of the video or of the audio file.",
- "domain_id": 1,
- "downloadUrl": "/api/asset/1/file",
- "description": "Asset description",
- "download": "disabled",
- "excludeFromAi": false,
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "fileUploadedTime": "2023-02-21T10:52:09.000Z",
- "goal": {
- "type": "open",
- "dueDate": "2023-02-21"
}, - "id": 1,
- "is_read": true,
- "isDeleted": false,
- "isSaved": false,
- "insightsEnabled": true,
- "name": "Asset name",
- "openInIframe": true,
- "original_file_name": "original_file_name",
- "originatingId": 1,
- "ownerTeamId": 1,
- "pictureUrl": "`/api/content/1/thumb`",
- "parentId": 1,
- "parentPlaylists": [
- {
- "id": 1,
- "name": "Parent playlist name",
- "optional": false
}
], - "published": true,
- "locale": "da-DK",
- "lastUpdated": "2023-02-21T10:52:09.000Z",
- "markAsDoneMode": "automatic",
- "rank": "1.2.04",
- "rating_count": 1,
- "scormSettings": "Parsed JSON SCORM settings",
- "sharers": [
- {
- "sender_email": "user@5app.com",
- "sender_first_name": "Imogen",
- "sender_last_name": "Cunningham",
- "timestamp": "2023-02-21T10:52:09.000Z",
- "sender_picture_url": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt"
}
], - "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "type": "upload",
- "url": "www.5app.com",
- "uploadErrorCode": "404",
- "userContentStatus": "notstarted",
- "user_rated_like": "Whether the content has been 'liked' by the user.",
- "userScormAssetStatus": "completed"
}
Operations for badges via Store routes. Can only be used if the "Badges" feature flag is enabled.
Create a badge
Creates a badge for a playlist, assigning the badge to badgeRequirements. Can be accessed by Admins with "Playlist Write" permission and by team managers of the playlist owning team, if the "Team Playlists" feature flag is enabled.
Request Body schema: application/json
contentIds | any |
imageId | any |
Responses
Request samples
- Payload
{- "contentIds": "any",
- "imageId": "any"
}
Update a badge
Updates a badge for a playlist and undeletes it if previously deleted. Can be accessed by Admins with "Playlist Write" permission and by team managers of the playlist owning team, if the "Team Playlists" feature flag is enabled.
path Parameters
badgeId required | string |
Request Body schema: application/json
contentIds | any |
imageId | any |
Responses
Request samples
- Payload
{- "contentIds": "any",
- "imageId": "any"
}
Delete a badge
Soft deletes a badge for a playlist. Can be accessed by Admins with "Playlist Write" permission and by team managers of the playlist owning team, if the "Team Playlists" feature flag is enabled.
path Parameters
badgeId required | string |
Request Body schema: application/json
contentIds | any |
Responses
Request samples
- Payload
{- "contentIds": "any"
}
Operations for badge images via Store routes. Can only be used if the "Badges" feature flag is enabled.
Update a custom badge image
Updates a badge image with the type custom. Can be accessed by Admins with "Playlist Write" permission.
path Parameters
imageId required | string |
Request Body schema: application/json
alternativeText | any |
style | any |
Responses
Request samples
- Payload
{- "alternativeText": "any",
- "style": "any"
}
Delete a custom badge image
Soft deletes a badge image with the type custom. Can be accessed by Admins with "Playlist Write" permission.
path Parameters
imageId required | string |
Request Body schema: application/json
replacementImageId | any |
Responses
Request samples
- Payload
{- "replacementImageId": "any"
}
Get content list
Get content which is is used in the report filter, Asset/Playlist/Topic pickers etc.
query Parameters
audience | string (ContentListAudience) Enum: "all" "noadmin" Audience to filter content by for content list |
teamIds | Array of numbers (TeamIds) Example: teamIds=1 |
type | string (ContentType) Enum: "playlist" "folder" "section" "topic" "upload" "zip" "web" "scorm" "section" All content types |
search | string (Search) Example: search=playlistName Search terms to filter the result by. |
limit | number (Limit) Example: limit=1 The number of items to return per page. |
start | number (Offset) Example: start=1 The number used to identify the starting point to return rows from a result set. |
privilege | string (Privilege) Enum: "settings_read" "settings_write" "user_write" "user_read" "report_write" "report_read" "nudge_write" "nudge_read" "playlist_write" "playlist_read" "asset_write" "asset_read" Example: privilege=admin User privilege level |
playlistIdForCircularReferenceCheck | number (PlaylistIdForCircularReferenceCheck) Example: playlistIdForCircularReferenceCheck=1 Only applicable for playlists. Pass through a |
getFullData | boolean (ContentGetFullData) Example: getFullData=true Whether to return the full data of the content |
id | number (ContentId) Example: id=1 Content id |
owner | string (ContentListOwner) Default: "common" Enum: "local" "local_and_common" "common" Example: owner=common Owner of content. Does this include assets which are: common (default) (belong to a playlist which is available on hub), local * NOT IMPLEMENTED * (created just for this hub, might not be in a playlist) or local_and_common (both) |
Responses
Response samples
- 200
{- "items": [
- [
- {
- "id": 1,
- "audience": "all",
- "domain_id": 1,
- "name": "Content name",
- "teamIds": [
- 1
], - "thumbnailId": [
- 1
], - "type": "playlist",
- "pictureUrl": "`/api/content/1/thumb`",
- "wouldCauseCircularReference": false
}
]
], - "nextOffset": 1
}
Fetch all store assets available to a user
Fetch all of the user's assets available in the store with pagination. Can be filtered by asset completion status.
query Parameters
search | string (AssetSearch) Enum: "completed" "uncompleted" "saved" Search terms to filter the query by. |
limit | number (Limit) Example: limit=1 The number of items to return per page. |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
Responses
Response samples
- 200
[- {
- "alternativeText": "Asset alternative text",
- "author": {
- "id": 1,
- "displayName": "Lyonel Feininger",
- "isDeleted": false
}, - "brightcoveVideoId": 1,
- "brightcoveAccountId": 1,
- "createdTime": "2023-02-21T10:52:09.000Z",
- "completionTime": 30,
- "convertedFileType": "mp3",
- "converted": false,
- "convertedUrl": "/api/asset/1/file",
- "customType": "video",
- "collection_id": 1,
- "commentCount": 0,
- "commentCountUser": 0,
- "duration": "The actual duration of an asset in minutes if available. E.g. the length of the video or of the audio file.",
- "domain_id": 1,
- "downloadUrl": "/api/asset/1/file",
- "description": "Asset description",
- "download": "disabled",
- "excludeFromAi": false,
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "fileUploadedTime": "2023-02-21T10:52:09.000Z",
- "goal": {
- "type": "open",
- "dueDate": "2023-02-21"
}, - "id": 1,
- "is_read": true,
- "isDeleted": false,
- "isSaved": false,
- "insightsEnabled": true,
- "name": "Asset name",
- "openInIframe": true,
- "original_file_name": "original_file_name",
- "originatingId": 1,
- "ownerTeamId": 1,
- "pictureUrl": "`/api/content/1/thumb`",
- "parentId": 1,
- "parentPlaylists": [
- {
- "id": 1,
- "name": "Parent playlist name",
- "optional": false
}
], - "published": true,
- "locale": "da-DK",
- "lastUpdated": "2023-02-21T10:52:09.000Z",
- "markAsDoneMode": "automatic",
- "rank": "1.2.04",
- "rating_count": 1,
- "scormSettings": "Parsed JSON SCORM settings",
- "sharers": [
- {
- "sender_email": "user@5app.com",
- "sender_first_name": "Imogen",
- "sender_last_name": "Cunningham",
- "timestamp": "2023-02-21T10:52:09.000Z",
- "sender_picture_url": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt"
}
], - "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "type": "upload",
- "url": "www.5app.com",
- "uploadErrorCode": "404",
- "userContentStatus": "notstarted",
- "user_rated_like": "Whether the content has been 'liked' by the user.",
- "userScormAssetStatus": "completed"
}
]
Fetch store assets by id
Fetch an asset available in the store by id. If a playlistId
is provided in the path, the asset must be in that collection.
path Parameters
assetId required | string |
Responses
Response samples
- 200
{- "alternativeText": "Asset alternative text",
- "author": {
- "id": 1,
- "displayName": "Lyonel Feininger",
- "isDeleted": false
}, - "brightcoveVideoId": 1,
- "brightcoveAccountId": 1,
- "createdTime": "2023-02-21T10:52:09.000Z",
- "completionTime": 30,
- "convertedFileType": "mp3",
- "converted": false,
- "convertedUrl": "/api/asset/1/file",
- "customType": "video",
- "collection_id": 1,
- "commentCount": 0,
- "commentCountUser": 0,
- "duration": "The actual duration of an asset in minutes if available. E.g. the length of the video or of the audio file.",
- "domain_id": 1,
- "downloadUrl": "/api/asset/1/file",
- "description": "Asset description",
- "download": "disabled",
- "excludeFromAi": false,
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "fileUploadedTime": "2023-02-21T10:52:09.000Z",
- "goal": {
- "type": "open",
- "dueDate": "2023-02-21"
}, - "id": 1,
- "is_read": true,
- "isDeleted": false,
- "isSaved": false,
- "insightsEnabled": true,
- "name": "Asset name",
- "openInIframe": true,
- "original_file_name": "original_file_name",
- "originatingId": 1,
- "ownerTeamId": 1,
- "pictureUrl": "`/api/content/1/thumb`",
- "parentId": 1,
- "parentPlaylists": [
- {
- "id": 1,
- "name": "Parent playlist name",
- "optional": false
}
], - "published": true,
- "locale": "da-DK",
- "lastUpdated": "2023-02-21T10:52:09.000Z",
- "markAsDoneMode": "automatic",
- "rank": "1.2.04",
- "rating_count": 1,
- "scormSettings": "Parsed JSON SCORM settings",
- "sharers": [
- {
- "sender_email": "user@5app.com",
- "sender_first_name": "Imogen",
- "sender_last_name": "Cunningham",
- "timestamp": "2023-02-21T10:52:09.000Z",
- "sender_picture_url": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt"
}
], - "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "type": "upload",
- "url": "www.5app.com",
- "uploadErrorCode": "404",
- "userContentStatus": "notstarted",
- "user_rated_like": "Whether the content has been 'liked' by the user.",
- "userScormAssetStatus": "completed"
}
Fetch store assets by id
Fetch an asset available in the store by id. If a playlistId
is provided in the path, the asset must be in that collection.
path Parameters
assetId required | string |
playlistId required | string |
Responses
Response samples
- 200
{- "alternativeText": "Asset alternative text",
- "author": {
- "id": 1,
- "displayName": "Lyonel Feininger",
- "isDeleted": false
}, - "brightcoveVideoId": 1,
- "brightcoveAccountId": 1,
- "createdTime": "2023-02-21T10:52:09.000Z",
- "completionTime": 30,
- "convertedFileType": "mp3",
- "converted": false,
- "convertedUrl": "/api/asset/1/file",
- "customType": "video",
- "collection_id": 1,
- "commentCount": 0,
- "commentCountUser": 0,
- "duration": "The actual duration of an asset in minutes if available. E.g. the length of the video or of the audio file.",
- "domain_id": 1,
- "downloadUrl": "/api/asset/1/file",
- "description": "Asset description",
- "download": "disabled",
- "excludeFromAi": false,
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "fileUploadedTime": "2023-02-21T10:52:09.000Z",
- "goal": {
- "type": "open",
- "dueDate": "2023-02-21"
}, - "id": 1,
- "is_read": true,
- "isDeleted": false,
- "isSaved": false,
- "insightsEnabled": true,
- "name": "Asset name",
- "openInIframe": true,
- "original_file_name": "original_file_name",
- "originatingId": 1,
- "ownerTeamId": 1,
- "pictureUrl": "`/api/content/1/thumb`",
- "parentId": 1,
- "parentPlaylists": [
- {
- "id": 1,
- "name": "Parent playlist name",
- "optional": false
}
], - "published": true,
- "locale": "da-DK",
- "lastUpdated": "2023-02-21T10:52:09.000Z",
- "markAsDoneMode": "automatic",
- "rank": "1.2.04",
- "rating_count": 1,
- "scormSettings": "Parsed JSON SCORM settings",
- "sharers": [
- {
- "sender_email": "user@5app.com",
- "sender_first_name": "Imogen",
- "sender_last_name": "Cunningham",
- "timestamp": "2023-02-21T10:52:09.000Z",
- "sender_picture_url": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt"
}
], - "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "type": "upload",
- "url": "www.5app.com",
- "uploadErrorCode": "404",
- "userContentStatus": "notstarted",
- "user_rated_like": "Whether the content has been 'liked' by the user.",
- "userScormAssetStatus": "completed"
}
Rate an asset as liked and give feedback
Put the rating (like) and feedback for an asset
path Parameters
assetId required | string |
Request Body schema: application/json
message | any |
rating | any |
rated_like | any |
Responses
Request samples
- Payload
{- "message": "any",
- "rating": "any",
- "rated_like": "any"
}
Fetch featured content
Fetch contents which are being featured for a user
query Parameters
limit | number (Limit) Example: limit=1 The number of items to return per page. |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
Responses
Response samples
- 200
{- "items": [
- [
- {
- "id": 1,
- "allow_member_contributions": true,
- "createdTime": "2023-02-21T10:52:09.000Z",
- "contentCount": 10,
- "completionTime": "6",
- "audience": "all",
- "teamIds": [
- 1
], - "author": {
- "id": 1,
- "displayName": "Lyonel Feininger",
- "isDeleted": false
}, - "sharers": [
- {
- "sender_email": "user@5app.com",
- "sender_first_name": "Imogen",
- "sender_last_name": "Cunningham",
- "timestamp": "2023-02-21T10:52:09.000Z",
- "sender_picture_url": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "badge": {
- "isDeleted": false,
- "id": 1,
- "imageId": 1,
- "imageAlternativeText": "Badge alternative text",
- "style": "sticker",
- "pictureUrl": "`/api/badges/images/1/picture`"
}, - "commentCount": 0,
- "domain_id": 1,
- "description": "Playlist description",
- "hasPlaylistNumbering": true,
- "isDeleted": false,
- "lastUpdated": "2024-09-24T09:30:42.000Z",
- "locale": "da-DK",
- "name": "Playlist name",
- "originatingId": 1,
- "ownerTeamId": 1,
- "pictureUrl": "`/api/content/1/thumb`",
- "parentPlaylists": [
- {
- "id": 1,
- "name": "Parent playlist name",
- "optional": false
}
], - "rating_count": 1,
- "saved": false,
- "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "topics": [
- {
- "id": 1,
- "name": "Topic name",
- "playlistId": 1,
- "parent_id": 1
}
], - "type": "playlist",
- "commentCountUser": 0,
- "completionRate": 0,
- "hasUserBadge": true,
- "insightsEnabled": true,
- "isSaved": false,
- "user_rated_like": true,
- "userContentStatus": "notstarted",
- "recommendationType": "user",
- "goal": {
- "type": "open",
- "dueDate": "2023-02-21"
}
}
]
], - "total": 100,
- "nextOffset": 1
}
Fetch a user's saved assets and playlists
Fetch all saved assets and playlists available to a user in the store with pagination. Can be filtered by content completion status and whether it is an asset or a playlist.
query Parameters
status | string (MyContentStatus) Enum: "all" "opened" "completed" Content has been opened, completed or both |
type | string (MyContentType) Enum: "all" "assets" "playlists" Content is an asset, playlist or both |
limit | number (Limit) Example: limit=1 The number of items to return per page. |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
Responses
Response samples
- 200
{- "items": [
- {
- "alternativeText": "Asset alternative text",
- "author": {
- "id": 1,
- "displayName": "Lyonel Feininger",
- "isDeleted": false
}, - "brightcoveVideoId": 1,
- "brightcoveAccountId": 1,
- "createdTime": "2023-02-21T10:52:09.000Z",
- "completionTime": 30,
- "convertedFileType": "mp3",
- "converted": false,
- "convertedUrl": "/api/asset/1/file",
- "customType": "video",
- "collection_id": 1,
- "commentCount": 0,
- "commentCountUser": 0,
- "duration": "The actual duration of an asset in minutes if available. E.g. the length of the video or of the audio file.",
- "domain_id": 1,
- "downloadUrl": "/api/asset/1/file",
- "description": "Asset description",
- "download": "disabled",
- "excludeFromAi": false,
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "fileUploadedTime": "2023-02-21T10:52:09.000Z",
- "goal": {
- "type": "open",
- "dueDate": "2023-02-21"
}, - "id": 1,
- "is_read": true,
- "isDeleted": false,
- "isSaved": false,
- "insightsEnabled": true,
- "name": "Asset name",
- "openInIframe": true,
- "original_file_name": "original_file_name",
- "originatingId": 1,
- "ownerTeamId": 1,
- "pictureUrl": "`/api/content/1/thumb`",
- "parentId": 1,
- "parentPlaylists": [
- {
- "id": 1,
- "name": "Parent playlist name",
- "optional": false
}
], - "published": true,
- "locale": "da-DK",
- "lastUpdated": "2023-02-21T10:52:09.000Z",
- "markAsDoneMode": "automatic",
- "rank": "1.2.04",
- "rating_count": 1,
- "scormSettings": "Parsed JSON SCORM settings",
- "sharers": [
- {
- "sender_email": "user@5app.com",
- "sender_first_name": "Imogen",
- "sender_last_name": "Cunningham",
- "timestamp": "2023-02-21T10:52:09.000Z",
- "sender_picture_url": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt"
}
], - "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "type": "upload",
- "url": "www.5app.com",
- "uploadErrorCode": "404",
- "userContentStatus": "notstarted",
- "user_rated_like": "Whether the content has been 'liked' by the user.",
- "userScormAssetStatus": "completed",
- "latestInteraction": "2023-02-21T10:52:09.000Z"
}
], - "total": 100,
- "nextOffset": 1
}
Fetch user's todo assets and playlists with due date
Fetch all todo assets and playlists with due date set available to user in the store with pagination. Can be filtered by content type (asset or a playlist).
query Parameters
type | string (MyContentType) Enum: "all" "assets" "playlists" Content is an asset, playlist or both |
limit | number (Limit) Example: limit=1 The number of items to return per page. |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
Responses
Response samples
- 200
{- "items": [
- {
- "alternativeText": "Asset alternative text",
- "author": {
- "id": 1,
- "displayName": "Lyonel Feininger",
- "isDeleted": false
}, - "brightcoveVideoId": 1,
- "brightcoveAccountId": 1,
- "createdTime": "2023-02-21T10:52:09.000Z",
- "completionTime": 30,
- "convertedFileType": "mp3",
- "converted": false,
- "convertedUrl": "/api/asset/1/file",
- "customType": "video",
- "collection_id": 1,
- "commentCount": 0,
- "commentCountUser": 0,
- "duration": "The actual duration of an asset in minutes if available. E.g. the length of the video or of the audio file.",
- "domain_id": 1,
- "downloadUrl": "/api/asset/1/file",
- "description": "Asset description",
- "download": "disabled",
- "excludeFromAi": false,
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "fileUploadedTime": "2023-02-21T10:52:09.000Z",
- "goal": {
- "type": "open",
- "dueDate": "2023-02-21"
}, - "id": 1,
- "is_read": true,
- "isDeleted": false,
- "isSaved": false,
- "insightsEnabled": true,
- "name": "Asset name",
- "openInIframe": true,
- "original_file_name": "original_file_name",
- "originatingId": 1,
- "ownerTeamId": 1,
- "pictureUrl": "`/api/content/1/thumb`",
- "parentId": 1,
- "parentPlaylists": [
- {
- "id": 1,
- "name": "Parent playlist name",
- "optional": false
}
], - "published": true,
- "locale": "da-DK",
- "lastUpdated": "2023-02-21T10:52:09.000Z",
- "markAsDoneMode": "automatic",
- "rank": "1.2.04",
- "rating_count": 1,
- "scormSettings": "Parsed JSON SCORM settings",
- "sharers": [
- {
- "sender_email": "user@5app.com",
- "sender_first_name": "Imogen",
- "sender_last_name": "Cunningham",
- "timestamp": "2023-02-21T10:52:09.000Z",
- "sender_picture_url": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt"
}
], - "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "type": "upload",
- "url": "www.5app.com",
- "uploadErrorCode": "404",
- "userContentStatus": "notstarted",
- "user_rated_like": "Whether the content has been 'liked' by the user.",
- "userScormAssetStatus": "completed",
- "latestInteraction": "2023-02-21T10:52:09.000Z"
}
], - "total": 100,
- "nextOffset": 1
}
Fetch a user's content history
Fetch all assets and playlists that a user has interacted with in the store with pagination. Can be filtered by content completion status and whether it is an asset or a playlist.
query Parameters
status | string (MyContentStatus) Enum: "all" "opened" "completed" Content has been opened, completed or both |
type | string (MyContentType) Enum: "all" "assets" "playlists" Content is an asset, playlist or both |
limit | number (Limit) Example: limit=1 The number of items to return per page. |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
Responses
Response samples
- 200
{- "items": [
- {
- "alternativeText": "Asset alternative text",
- "author": {
- "id": 1,
- "displayName": "Lyonel Feininger",
- "isDeleted": false
}, - "brightcoveVideoId": 1,
- "brightcoveAccountId": 1,
- "createdTime": "2023-02-21T10:52:09.000Z",
- "completionTime": 30,
- "convertedFileType": "mp3",
- "converted": false,
- "convertedUrl": "/api/asset/1/file",
- "customType": "video",
- "collection_id": 1,
- "commentCount": 0,
- "commentCountUser": 0,
- "duration": "The actual duration of an asset in minutes if available. E.g. the length of the video or of the audio file.",
- "domain_id": 1,
- "downloadUrl": "/api/asset/1/file",
- "description": "Asset description",
- "download": "disabled",
- "excludeFromAi": false,
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "fileUploadedTime": "2023-02-21T10:52:09.000Z",
- "goal": {
- "type": "open",
- "dueDate": "2023-02-21"
}, - "id": 1,
- "is_read": true,
- "isDeleted": false,
- "isSaved": false,
- "insightsEnabled": true,
- "name": "Asset name",
- "openInIframe": true,
- "original_file_name": "original_file_name",
- "originatingId": 1,
- "ownerTeamId": 1,
- "pictureUrl": "`/api/content/1/thumb`",
- "parentId": 1,
- "parentPlaylists": [
- {
- "id": 1,
- "name": "Parent playlist name",
- "optional": false
}
], - "published": true,
- "locale": "da-DK",
- "lastUpdated": "2023-02-21T10:52:09.000Z",
- "markAsDoneMode": "automatic",
- "rank": "1.2.04",
- "rating_count": 1,
- "scormSettings": "Parsed JSON SCORM settings",
- "sharers": [
- {
- "sender_email": "user@5app.com",
- "sender_first_name": "Imogen",
- "sender_last_name": "Cunningham",
- "timestamp": "2023-02-21T10:52:09.000Z",
- "sender_picture_url": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt"
}
], - "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "type": "upload",
- "url": "www.5app.com",
- "uploadErrorCode": "404",
- "userContentStatus": "notstarted",
- "user_rated_like": "Whether the content has been 'liked' by the user.",
- "userScormAssetStatus": "completed",
- "latestInteraction": "2023-02-21T10:52:09.000Z"
}
], - "total": 100,
- "nextOffset": 1
}
Get content search
Search for assets, topics and playlists for the store
query Parameters
query | string (Search) Example: query=playlistName Search terms to filter the result by. |
limit | number (Limit) Example: limit=1 The number of items to return per page. |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
Responses
Response samples
- 200
{- "items": [
- {
- "id": 1,
- "allow_member_contributions": true,
- "createdTime": "2023-02-21T10:52:09.000Z",
- "contentCount": 10,
- "completionTime": "6",
- "audience": "all",
- "teamIds": [
- 1
], - "author": {
- "id": 1,
- "displayName": "Lyonel Feininger",
- "isDeleted": false
}, - "sharers": [
- {
- "sender_email": "user@5app.com",
- "sender_first_name": "Imogen",
- "sender_last_name": "Cunningham",
- "timestamp": "2023-02-21T10:52:09.000Z",
- "sender_picture_url": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "badge": {
- "isDeleted": false,
- "id": 1,
- "imageId": 1,
- "imageAlternativeText": "Badge alternative text",
- "style": "sticker",
- "pictureUrl": "`/api/badges/images/1/picture`"
}, - "commentCount": 0,
- "domain_id": 1,
- "description": "Playlist description",
- "hasPlaylistNumbering": true,
- "isDeleted": false,
- "lastUpdated": "2024-09-24T09:30:42.000Z",
- "locale": "da-DK",
- "name": "Playlist name",
- "originatingId": 1,
- "ownerTeamId": 1,
- "pictureUrl": "`/api/content/1/thumb`",
- "parentPlaylists": [
- {
- "id": 1,
- "name": "Parent playlist name",
- "optional": false
}
], - "rating_count": 1,
- "saved": false,
- "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "topics": [
- {
- "id": 1,
- "name": "Topic name",
- "playlistId": 1,
- "parent_id": 1
}
], - "type": "playlist",
- "commentCountUser": 0,
- "completionRate": 0,
- "hasUserBadge": true,
- "insightsEnabled": true,
- "isSaved": false,
- "user_rated_like": true,
- "userContentStatus": "notstarted",
- "recommendationType": "user",
- "goal": {
- "type": "open",
- "dueDate": "2023-02-21"
}
}
], - "nextOffset": 1
}
Get content search terms
Search for tags by name
query Parameters
query | string (Search) Example: query=playlistName Search terms to filter the result by. |
limit | number (Limit) Example: limit=1 The number of items to return per page. |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
Responses
Response samples
- 200
{- "items": [
- {
- "value": "tag:\"Tag 1\""
}
], - "nextOffset": 1
}
Get comments
Get comments and comment count for a playlist or asset
path Parameters
contentId required | number (ContentId) Example: 1 Content id |
Responses
Response samples
- 200
{- "items": [
- {
- "isDeleted": false,
- "canDelete": true,
- "canEdit": true,
- "id": 1,
- "contentId": 1,
- "parentId": 1,
- "type": "playlist",
- "message": "Comment message",
- "createdTime": "2023-02-21T10:52:09.000Z",
- "updatedTime": "2023-02-21T10:52:09.000Z",
- "author": {
- "id": 1,
- "displayName": "Ada Lovelace",
- "pictureUrl": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}, - "repliesCount": 2,
- "replies": [
- {
- "isDeleted": false,
- "canDelete": true,
- "canEdit": true,
- "id": 1,
- "contentId": 1,
- "parentId": 1,
- "type": "playlist",
- "message": "Comment message",
- "createdTime": "2023-02-21T10:52:09.000Z",
- "updatedTime": "2023-02-21T10:52:09.000Z",
- "author": {
- "id": 1,
- "displayName": "Ada Lovelace",
- "pictureUrl": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
}
]
}
], - "total": 100,
- "nextOffset": 1
}
Create a comment
Create a user comment for a playlist or asset
path Parameters
contentId required | number (ContentId) Example: 1 Content id |
Request Body schema: required
message required | string |
parentId | number (ContentId) Content id |
Responses
Request samples
- Payload
{- "message": "This is a comment",
- "parentId": 1
}
Response samples
- 200
{- "id": 1,
- "message": "This is a comment",
- "createdTime": "2023-02-21T10:52:09.000Z",
- "hasSubscribed": true
}
Update a comment
Update a user comment for a playlist or asset
path Parameters
contentId required | number (ContentId) Example: 1 Content id |
commentId required | number (CommentId) Example: 1 Comment id |
Request Body schema: required
message required | string |
Responses
Request samples
- Payload
{- "message": "This is an updated comment"
}
Response samples
- 200
{- "success": true
}
Fetch user stats for a managed playlist
Fetch user stats for a managed playlist. This also includes team specific playlist stats for team managers.
path Parameters
playlistId required | string |
query Parameters
search | string |
progress | string |
start | string |
limit | string |
order | string |
column | string |
teamIds | string |
Responses
Fetch a user's managed teams
Fetch the total count and the list of teams which the user manages. By providing the hasUsers
query parameter, the list of teams will be filtered to only include teams which have users. By providing the playlistId query parameter, the list of teams will be filtered to only include teams which have access to the playlist.
Responses
Response samples
- 200
{- "items": [
- {
- "id": 1,
- "name": "Team name",
- "userCount": 2,
- "playlistCount": 3,
- "teamTypes": [
- {
- "id": 1,
- "name": "Team type name",
- "colour": "#0b1aef"
}
]
}
], - "total": 100,
- "nextOffset": 1
}
Fetch a user's playlists
Fetch all playlists available to a user in the store with pagination. Can be filtered whether the playlist has a badge.
query Parameters
search | string (MyPlaylistSearch) Value: "badge" Search terms to filter the query by. |
limit | number (Limit) Example: limit=1 The number of items to return per page. |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
Responses
Response samples
- 200
{- "playlists": [
- {
- "id": 1,
- "allow_member_contributions": true,
- "createdTime": "2023-02-21T10:52:09.000Z",
- "contentCount": 10,
- "completionTime": "6",
- "audience": "all",
- "teamIds": [
- 1
], - "author": {
- "id": 1,
- "displayName": "Lyonel Feininger",
- "isDeleted": false
}, - "sharers": [
- {
- "sender_email": "user@5app.com",
- "sender_first_name": "Imogen",
- "sender_last_name": "Cunningham",
- "timestamp": "2023-02-21T10:52:09.000Z",
- "sender_picture_url": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "badge": {
- "isDeleted": false,
- "id": 1,
- "imageId": 1,
- "imageAlternativeText": "Badge alternative text",
- "style": "sticker",
- "pictureUrl": "`/api/badges/images/1/picture`"
}, - "commentCount": 0,
- "domain_id": 1,
- "description": "Playlist description",
- "hasPlaylistNumbering": true,
- "isDeleted": false,
- "lastUpdated": "2024-09-24T09:30:42.000Z",
- "locale": "da-DK",
- "name": "Playlist name",
- "originatingId": 1,
- "ownerTeamId": 1,
- "pictureUrl": "`/api/content/1/thumb`",
- "parentPlaylists": [
- {
- "id": 1,
- "name": "Parent playlist name",
- "optional": false
}
], - "rating_count": 1,
- "saved": false,
- "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "topics": [
- {
- "id": 1,
- "name": "Topic name",
- "playlistId": 1,
- "parent_id": 1
}
], - "type": "playlist",
- "commentCountUser": 0,
- "completionRate": 0,
- "hasUserBadge": true,
- "insightsEnabled": true,
- "isSaved": false,
- "user_rated_like": true,
- "userContentStatus": "notstarted",
- "recommendationType": "user",
- "goal": {
- "type": "open",
- "dueDate": "2023-02-21"
}
}
], - "nextOffset": 1,
- "total": 100
}
Set a playlist as liked or unlike a playlist
Set a playlist within the userCollections
as liked (rated_like: 1
) or unlike the playlist (rated_like: 0
)
path Parameters
playlistId required | string |
Request Body schema: application/json
isLiked | any |
Responses
Request samples
- Payload
{- "isLiked": "any"
}
Fetch all store playlists containing a specific asset
Fetch basic information for all playlists containing a specific asset available to the user in the store
path Parameters
assetId required | number (ContentId) Example: 1 Content id |
Responses
Response samples
- 200
[- {
- "id": 1,
- "name": "Playlist name",
- "thumbnailId": 1,
- "commentCount": 0,
- "commentCountUser": 0,
- "domain_id": 1,
- "locale": "da-DK",
- "ownerTeamId": 1
}
]
Fetch recommended playlists
Get a randomised selection of recommended playlists for a user based on their activity
query Parameters
limit | number (Limit) Example: limit=1 The number of items to return per page. |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
Responses
Response samples
- 200
[- [
- {
- "id": 1,
- "allow_member_contributions": true,
- "createdTime": "2023-02-21T10:52:09.000Z",
- "contentCount": 10,
- "completionTime": "6",
- "audience": "all",
- "teamIds": [
- 1
], - "author": {
- "id": 1,
- "displayName": "Lyonel Feininger",
- "isDeleted": false
}, - "sharers": [
- {
- "sender_email": "user@5app.com",
- "sender_first_name": "Imogen",
- "sender_last_name": "Cunningham",
- "timestamp": "2023-02-21T10:52:09.000Z",
- "sender_picture_url": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "badge": {
- "isDeleted": false,
- "id": 1,
- "imageId": 1,
- "imageAlternativeText": "Badge alternative text",
- "style": "sticker",
- "pictureUrl": "`/api/badges/images/1/picture`"
}, - "commentCount": 0,
- "domain_id": 1,
- "description": "Playlist description",
- "hasPlaylistNumbering": true,
- "isDeleted": false,
- "lastUpdated": "2024-09-24T09:30:42.000Z",
- "locale": "da-DK",
- "name": "Playlist name",
- "originatingId": 1,
- "ownerTeamId": 1,
- "pictureUrl": "`/api/content/1/thumb`",
- "parentPlaylists": [
- {
- "id": 1,
- "name": "Parent playlist name",
- "optional": false
}
], - "rating_count": 1,
- "saved": false,
- "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "topics": [
- {
- "id": 1,
- "name": "Topic name",
- "playlistId": 1,
- "parent_id": 1
}
], - "type": "playlist",
- "commentCountUser": 0,
- "completionRate": 0,
- "hasUserBadge": true,
- "insightsEnabled": true,
- "isSaved": false,
- "user_rated_like": true,
- "userContentStatus": "notstarted",
- "recommendationType": "user",
- "goal": {
- "type": "open",
- "dueDate": "2023-02-21"
}
}
]
]
Get playlists for browsing
Fetch playlists for a user to browse
query Parameters
limit | number (Limit) Example: limit=1 The number of items to return per page. |
offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
format | string (Format) Value: "list" Example: format=list Explcitly return items within the standard list format, e.g. {items: [...items], total: 0, nextOffset: 0} |
Responses
Response samples
- 200
{- "items": [
- {
- "id": 1,
- "allow_member_contributions": true,
- "createdTime": "2023-02-21T10:52:09.000Z",
- "contentCount": 10,
- "completionTime": "6",
- "audience": "all",
- "teamIds": [
- 1
], - "author": {
- "id": 1,
- "displayName": "Lyonel Feininger",
- "isDeleted": false
}, - "sharers": [
- {
- "sender_email": "user@5app.com",
- "sender_first_name": "Imogen",
- "sender_last_name": "Cunningham",
- "timestamp": "2023-02-21T10:52:09.000Z",
- "sender_picture_url": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "badge": {
- "isDeleted": false,
- "id": 1,
- "imageId": 1,
- "imageAlternativeText": "Badge alternative text",
- "style": "sticker",
- "pictureUrl": "`/api/badges/images/1/picture`"
}, - "commentCount": 0,
- "domain_id": 1,
- "description": "Playlist description",
- "hasPlaylistNumbering": true,
- "isDeleted": false,
- "lastUpdated": "2024-09-24T09:30:42.000Z",
- "locale": "da-DK",
- "name": "Playlist name",
- "originatingId": 1,
- "ownerTeamId": 1,
- "pictureUrl": "`/api/content/1/thumb`",
- "parentPlaylists": [
- {
- "id": 1,
- "name": "Parent playlist name",
- "optional": false
}
], - "rating_count": 1,
- "saved": false,
- "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "topics": [
- {
- "id": 1,
- "name": "Topic name",
- "playlistId": 1,
- "parent_id": 1
}
], - "type": "playlist",
- "commentCountUser": 0,
- "completionRate": 0,
- "hasUserBadge": true,
- "insightsEnabled": true,
- "isSaved": false,
- "user_rated_like": true,
- "userContentStatus": "notstarted",
- "recommendationType": "user",
- "goal": {
- "type": "open",
- "dueDate": "2023-02-21"
}
}
], - "total": 100,
- "nextOffset": 1
}
Update user settings
Update user settings incl. notification_channel
in userDomains
header Parameters
host | string |
Request Body schema: application/json
notification_channel | any |
settingsToPatch | any |
Responses
Request samples
- Payload
{- "notification_channel": "any",
- "settingsToPatch": "any"
}