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.
Returns the audit for all content (playlist, assets, folders) with pagination or downloads the content audit as a csv file.
| 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. |
{- "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
}Creates a nudge and accordingly its nudgeActions, nudgeContents and nudgeTeams.
| 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" "ru-RU" "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) | |
object (NudgeRepetition) | |
| teamIds | Array of numbers (TeamIds) |
| contentIds | Array of numbers (ContentIds) |
Array of objects (NudgeActionsPostPayload) |
{- "isEnabled": true,
- "name": "Nudge name",
- "locale": "da-DK",
- "timezone": "Europe/Berlin",
- "goalType": "completeContent",
- "target": {
- "type": "fixed",
- "offset": 1,
- "offsetUnit": "day",
- "date": "2023-02-21",
- "isDueDate": false
}, - "repetition": {
- "value": 1,
- "default": null,
- "unit": "day"
}, - "teamIds": [
- 1
], - "contentIds": [
- 1
], - "nudgeActions": [
- {
- "isEnabled": true,
- "isRepeating": true,
- "repeatFrequency": 2,
- "type": "share",
- "scheduled": {
- "type": "fixed",
- "offset": 1,
- "unit": "day",
- "date": "2023-02-21",
- "time": "09:00:00"
}, - "email": {
- "subject": "Email subject",
- "message": "Email message"
}, - "sendTo": "all",
- "includeOptionalContent": true
}
]
}{- "id": 1
}Update one or multiple nudges. For multi updates, the audience, nudgeTeams and enabled state of the nudges can be updated. For single nudges, all nudge details, nudgeActions, nudgeContents and nudgeTeams can be updated.
| 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" "ru-RU" "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) | |
object (NudgeRepetition) | |
| teamIdsToAdd | Array of numbers (TeamIds) |
| teamIdsToRemove | Array of numbers (TeamIds) |
| contentIds | Array of numbers (ContentIds) |
Array of objects (NudgeActionsPatchPayload) |
{- "ids": [
- 1
], - "isEnabled": true,
- "isDeleted": false,
- "name": "Nudge name",
- "locale": "da-DK",
- "timezone": "Europe/Berlin",
- "goalType": "completeContent",
- "target": {
- "type": "fixed",
- "offset": 1,
- "offsetUnit": "day",
- "date": "2023-02-21",
- "isDueDate": false
}, - "repetition": {
- "value": 1,
- "default": null,
- "unit": "day"
}, - "teamIdsToAdd": [
- 1
], - "teamIdsToRemove": [
- 1
], - "contentIds": [
- 1
], - "nudgeActions": [
- {
- "id": 1,
- "isEnabled": true,
- "isDeleted": true,
- "isRepeating": true,
- "repeatFrequency": 2,
- "type": "share",
- "scheduled": {
- "type": "fixed",
- "offset": 1,
- "unit": "day",
- "date": "2023-02-21",
- "time": "09:00:00"
}, - "email": {
- "subject": "Email subject",
- "message": "Email message"
}, - "sendTo": "all",
- "includeOptionalContent": true
}
]
}{- "success": true
}Returns all nudges with pagination.
| 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 | string (Search) Example: search=playlistName Search terms to filter the result by. |
{- "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
}
], - "nudgeActions": [
- {
- "id": 1,
- "isEnabled": true,
- "isRepeating": true,
- "repeatFrequency": 2,
- "type": "share",
- "scheduled": {
- "type": "fixed",
- "offset": 1,
- "unit": "day",
- "date": "2023-02-21",
- "time": "09:00:00"
}, - "email": {
- "subject": "Email subject",
- "message": "Email message"
}, - "sendTo": "all",
- "includeOptionalContent": true
}
]
}
], - "total": 100,
- "nextOffset": 1
}Returns the audit for all nudges with pagination or downloads the nudges audit as a csv file.
| 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. |
{- "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 with its nudgeActions, nudgeContents and nudgeTeams.
| nudgeId required | string |
{- "id": 1,
- "name": "Nudge name",
- "audience": "all",
- "locale": "en-GB",
- "timezone": "Europe/Berlin",
- "goalType": "completeContent",
- "isEnabled": true,
- "target": {
- "type": "fixed",
- "offset": 1,
- "offsetUnit": "day",
- "date": "2023-02-21",
- "isDueDate": false
}, - "repetition": {
- "value": 1,
- "default": null,
- "unit": "day"
}, - "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,
- "unit": "day",
- "date": "2023-02-21",
- "time": "09:00:00"
}, - "email": {
- "subject": "Email subject",
- "message": "Email message"
}, - "sendTo": "all",
- "includeOptionalContent": true
}
]
}Returns the stats for a nudge, depending on its goalType.
| nudgeId required | number (NudgeId) Example: 1 Nudge id |
| 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. |
{- "nudgedUsersCount": 1,
- "actionsSentCount": 1,
- "loggedInAfterNudgeCount": 1,
- "analyticsType": "logInFirstTime"
}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.
| nudgeId required | number (NudgeId) Example: 1 Nudge id |
| 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. |
{- "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 to the Browse page or pin playlists to a topic
| playlistIds required | Array of numbers (ContentIds) |
| topicId | number (TopicId) Topic id |
{- "playlistIds": [
- 1
], - "topicId": 1
}{- "success": true
}Unpin playlists from the Browse page or unpin playlists from a topic
| playlistIds required | Array of numbers (ContentIds) |
| topicId | number (TopicId) Topic id |
{- "playlistIds": [
- 1
], - "topicId": 1
}{- "success": true
}Update the pinned rank of a playlist on the Browse page or within a topic
| index required | number 0-based index to pin the playlist to |
| playlistId required | number (ContentId) Content id |
| topicId | number (TopicId) Topic id |
{- "index": 0,
- "playlistId": 1,
- "topicId": 1
}{- "success": true
}Get all contents linked to a skill for a specific user.
| skillId required | number (SkillId) Example: 1 Helix skill id |
| userId | number (UserId) Example: userId=1 User id |
| 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. |
| in | string |
| schema | string |
| nextOffset | string |
| total | string |
{- "items": [
- {
- "id": 1,
- "name": "Content name",
- "type": "playlist",
- "thumbnailId": 1,
- "userContentStatus": "notstarted",
- "userScormAssetStatus": "completed",
- "completionRate": 0,
- "customType": "video",
- "fileFormat": null
}
], - "nextOffset": 1,
- "total": 100
}Get a list of skills based on the search query
| 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. |
| offset | number (Offset) Example: offset=1 The number used to identify the starting point to return rows from a result set. |
| in | string |
| schema | string |
| name | string |
| parentId | string |
| total | string |
{- "items": [
- {
- "id": 1,
- "name": "Skill name",
- "parentId": 1
}
], - "nextOffset": 1,
- "total": 100
}Returns the audit for all skills and skill sets with pagination or downloads the skills audit as a csv file.
| 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 audit results by. |
{- "items": [
- {
- "id": 1,
- "action": "CREATE",
- "type": "helixSkill",
- "changeTime": "2023-02-21 10:52:55",
- "item": {
- "id": 1,
- "name": "Skill or Set name"
}, - "author": {
- "id": 1,
- "name": "User name",
- "email": "user@5app.com",
- "isDeleted": false
}, - "details": [
- [
- {
- "property": "PropertyName",
- "value": "New value"
}
]
]
}
], - "total": 100,
- "nextOffset": 1
}Get a skill by id
| skillId required | number (SkillId) Example: 1 Helix skill id |
{- "id": 1,
- "name": "Skill name",
- "updatedTime": "2023-02-21T10:52:09.000Z",
- "createdTime": "2023-02-21T10:52:09.000Z",
- "description": "Skill description",
- "sets": [
- {
- "id": 1,
- "name": "Set name"
}
], - "linkedContent": [
- {
- "id": 1,
- "name": "Content name",
- "type": "playlist",
- "thumbnailId": 1
}
], - "parentId": 1,
- "parentName": "Parent skill name",
- "parentLinkedContent": [
- {
- "id": 1,
- "name": "Content name",
- "type": "playlist",
- "thumbnailId": 1
}
]
}Get a skill set by id
| skillSetId required | number (SkillSetId) Example: 1 Helix skill set id |
{- "id": 1,
- "name": "Skill set name",
- "description": "Skill set description",
- "updatedTime": "2023-02-21T10:52:09.000Z",
- "createdTime": "2023-02-21T10:52:09.000Z",
- "audience": "all",
- "skills": [
- {
- "id": 1,
- "name": "Skill name"
}
], - "teams": [
- {
- "id": 1,
- "name": "Team name",
- "teamType": {
- "id": 1,
- "name": "Team type name",
- "colour": "#0b1aef",
- "rank": 1,
- "role": "manager-email"
}, - "role": "member",
- "isSmartTeam": false
}
]
}Fetch hubs a user belongs too
| userId required | string |
| 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. |
{- "items": [
- {
- "id": 1,
- "name": "Hub Name",
- "hostname": "hub.5app.com",
- "isCurrentHub": false
}
], - "total": 100,
- "nextOffset": 1
}Add users to a hub. If teams are specified, the users will be added to the userTeams. Utilised by the Zapier integration.
| host | string |
| password | any |
| send_email | any |
| teamId | any |
| users | any |
{- "password": "any",
- "send_email": "any",
- "teamId": "any",
- "users": "any"
}Updates an asset, including changing the owner team if provided
| assetId required | number (ContentId) Example: 1 Content id |
| 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" "ru-RU" "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 |
{- "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
}{- "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.
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.
| contentIds | any |
| imageId | any |
{- "contentIds": "any",
- "imageId": "any"
}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.
| badgeId required | string |
| contentIds | any |
| imageId | any |
{- "contentIds": "any",
- "imageId": "any"
}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.
| badgeId required | string |
| contentIds | any |
{- "contentIds": "any"
}Operations for badge images via Store routes. Can only be used if the "Badges" feature flag is enabled.
Updates a badge image with the type custom. Can be accessed by Admins with "Playlist Write" permission.
| imageId required | string |
| alternativeText | any |
| style | any |
{- "alternativeText": "any",
- "style": "any"
}Soft deletes a badge image with the type custom. Can be accessed by Admins with "Playlist Write" permission.
| imageId required | string |
| replacementImageId | any |
{- "replacementImageId": "any"
}Get content which is is used in the report filter, Asset/Playlist/Topic pickers etc.
| 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) |
{- "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
}Updates the status of assets or assets within select playlists for users and shares the assets where required.
| contentIds required | Array of numbers (ContentIds) |
| userIds | Array of numbers (UserIds) |
| teamIds | Array of numbers (TeamIds) |
| updateEveryone | boolean |
| newStatus required | string (UpdatedContentUserStatus) Enum: "notstarted" "completed" The updated user completion status of the content. |
| updateOptionalContent | boolean |
| completionDateTime | string <date-time> (ContentCompletionDateTime) The completion datetime of the content in UTC. Is required when updating the content |
| share | boolean |
| shareWithEveryone | boolean |
| shareSubject | string |
| shareMessage | string |
| session_token | string |
{- "contentIds": [
- 1
], - "userIds": [
- 1
], - "teamIds": [
- 1
], - "updateEveryone": false,
- "newStatus": "notstarted",
- "updateOptionalContent": false,
- "completionDateTime": "2025-01-16T13:31:12.838Z",
- "share": false,
- "shareWithEveryone": false,
- "shareSubject": "Share subject",
- "shareMessage": "Share message",
- "session_token": "1738583466047.14df6ca6-315b-4b54-860"
}{- "success": true
}Get the paginated list of users who match the users filters and who will be impacted by the status change
| contentIds required | Array of numbers (ContentIds) Example: contentIds=1 |
| userIds | Array of numbers (UserIds) Example: userIds=1 |
| teamIds | Array of numbers (TeamIds) Example: teamIds=1 |
| updateEveryone | boolean |
| updateOptionalContent | boolean |
| newStatus required | string (UpdatedContentUserStatus) Enum: "notstarted" "completed" The updated user completion status of the content. |
| shareWithEveryone | boolean |
| share | boolean |
| 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 | string (Search) Example: search=playlistName Search terms to filter the result by. |
{- "items": [
- {
- "id": 1,
- "name": "Alfred Hitchcock",
- "email": "thebirds@movies.com",
- "pictureUrl": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}
}
], - "totalUserShares": 100,
- "total": 100,
- "nextOffset": 1
}Fetch all of the user's assets available in the store with pagination. Can be filtered by asset completion status.
| 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. |
[- {
- "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 an asset available in the store by id. If a playlistId is provided in the path, the asset must be in that collection.
| assetId required | string |
{- "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 an asset available in the store by id. If a playlistId is provided in the path, the asset must be in that collection.
| assetId required | string |
| playlistId required | string |
{- "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"
}Put the rating (like) and feedback for an asset
| assetId required | string |
| message | any |
| rating | any |
| rated_like | any |
{- "message": "any",
- "rating": "any",
- "rated_like": "any"
}Fetch the calendar integration status and auto-join settings for a user
{- "provider": "google",
- "hasAccountLinked": true,
- "hasActiveSubscription": true,
- "isAutoJoinEnabled": true,
- "autoJoinSettings": {
- "meeting_type": "all",
- "only_meetings_I_organise": true
}
}Enable or disable auto-join and update the auto-join settings for a user's calendar integration
| isAutoJoinEnabled | boolean |
object (CalendarAutoJoinSettings) |
{- "isAutoJoinEnabled": true,
- "autoJoinSettings": {
- "meeting_type": "all",
- "only_meetings_I_organise": true
}
}{- "success": true
}Handle the OAuth callback from Google, exchange the authorization code for tokens, create a calendar watch channel, and store the relevant information in the database.
required | object (CalendarOAuthState) |
| code required | string |
| in | string |
| required | string |
| schema | string |
{- "type": "string",
- "example": "<html><body><p>Google Calendar linked successfully. You can now close this tab.</p></body></html>"
}Redirect the user to Google's OAuth 2.0 server to initiate the authentication and authorization process for accessing their Google calendar.
| authorisationAction required | string (CalendarOAuthAction) Default: "authorise" Value: 0 OAuth trigger action |
| in | string |
| required | string |
| schema | string |
Handle the OAuth callback from Microsoft, exchange the authorization code for tokens, create a calendar subscription, and store the relevant information in the database.
required | object (CalendarOAuthState) |
| code required | string |
| in | string |
| required | string |
| schema | string |
{- "type": "string",
- "example": "<html><body><p>Microsoft Calendar linked successfully. You can now close this tab.</p></body></html>"
}Redirect the user to Microsoft's OAuth 2.0 server to initiate the authentication and authorization process for accessing their Microsoft calendar.
| authorisationAction required | string (CalendarOAuthAction) Default: "authorise" Value: 0 OAuth trigger action |
| in | string |
| required | string |
| schema | string |
Fetch contents which are being featured for a user
| 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. |
{- "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 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.
| 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. |
{- "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 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).
| 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. |
{- "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 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.
| 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. |
{- "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
}Search for assets, topics and playlists for the store
| 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. |
{- "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
}Search for tags by name
| 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. |
{- "items": [
- {
- "value": "tag:\"Tag 1\""
}
], - "nextOffset": 1
}Get comments and comment count for a playlist or asset
| contentId required | number (ContentId) Example: 1 Content id |
{- "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 user comment for a playlist or asset
| contentId required | number (ContentId) Example: 1 Content id |
| message required | string |
| parentId | number (ContentId) Content id |
{- "message": "This is a comment",
- "parentId": 1
}{- "id": 1,
- "message": "This is a comment",
- "createdTime": "2023-02-21T10:52:09.000Z",
- "hasSubscribed": true
}Update a user comment for a playlist or asset
| contentId required | number (ContentId) Example: 1 Content id |
| commentId required | number (CommentId) Example: 1 Comment id |
| message required | string |
{- "message": "This is an updated comment"
}{- "success": true
}Create a user's feedback
| refId | number (FeedbackRefId) Reference id of the feedback. Can be e.g. a helixUserMeetingSkill.id |
| rating | boolean |
| comment | string |
| type | string (FeedbackType) Value: "helix_user_meeting_skill" Type of feedback |
{- "refId": 1,
- "rating": true,
- "comment": "This feedback is great!",
- "type": "helix_user_meeting_skill"
}{- "success": true,
- "id": 1
}Update a user's feedback by ID
| feedbackId required | number (FeedbackId) Example: feedbackId=1 Feedback id |
| id | number (FeedbackId) Feedback id |
| rating | boolean |
| comment | string |
{- "id": 1,
- "rating": true,
- "comment": "This feedback is great!"
}{- "success": true
}Fetch a user's feedback by ID
| feedbackId required | number (FeedbackId) Example: feedbackId=1 Feedback id |
{- "id": 1,
- "domainId": 1,
- "userId": 1,
- "refId": 1,
- "rating": true,
- "comment": "This feedback is great!",
- "type": "helix_user_meeting_skill",
- "createdTime": "2023-02-21T10:52:09.000Z",
- "updatedTime": "2023-02-21T10:52:09.000Z"
}Fetch user stats for a managed playlist. This also includes team specific playlist stats for team managers.
| playlistId required | string |
| search | string |
| progress | string |
| start | string |
| limit | string |
| order | string |
| column | string |
| teamIds | string |
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.
{- "items": [
- {
- "id": 1,
- "name": "Team name",
- "userCount": 2,
- "playlistCount": 3,
- "teamTypes": [
- {
- "id": 1,
- "name": "Team type name",
- "colour": "#0b1aef",
- "rank": 1,
- "role": "manager-email"
}
]
}
], - "total": 100,
- "nextOffset": 1
}Fetch details incl. team types and last activity data for all members of a team.
| id required | number (TeamId) Example: 1 Team id |
| userId required | number (UserId) Example: 1 User id |
{- "id": 1,
- "firstName": "John",
- "lastName": "Doe",
- "email": "john@5app.com",
- "pictureUrl": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}, - "teams": [
- {
- "id": 1,
- "name": "Team name",
- "teamType": {
- "id": 1,
- "name": "Team type name",
- "colour": "#0b1aef",
- "rank": 1,
- "role": "manager-email"
}, - "role": "member",
- "isSmartTeam": false
}
], - "lastAccess": "2023-02-21T10:52:09.000Z"
}Fetch details incl. team types and last activity data for all members of a team.
| userId required | number (UserId) Example: 1 User id |
| id required | number (TeamId) Example: 1 Team id |
{- "id": 1,
- "firstName": "John",
- "lastName": "Doe",
- "email": "john@5app.com",
- "pictureUrl": {
- "description": "URL to a user's avatar image in the format of `/api/user/${userId}/profile/picture`",
- "example": "/api/user/1/profile/picture"
}, - "teams": [
- {
- "id": 1,
- "name": "Team name",
- "teamType": {
- "id": 1,
- "name": "Team type name",
- "colour": "#0b1aef",
- "rank": 1,
- "role": "manager-email"
}, - "role": "member",
- "isSmartTeam": false
}
], - "lastAccess": "2023-02-21T10:52:09.000Z"
}Fetch all playlists available to a user in the store with pagination. Can be filtered whether the playlist has a badge.
| 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. |
{- "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 within the userCollections as liked (rated_like: 1) or unlike the playlist (rated_like: 0)
| playlistId required | string |
| isLiked | any |
{- "isLiked": "any"
}Fetch basic information for all playlists containing a specific asset available to the user in the store
| assetId required | number (ContentId) Example: 1 Content id |
[- {
- "id": 1,
- "name": "Playlist name",
- "thumbnailId": 1,
- "commentCount": 0,
- "commentCountUser": 0,
- "domain_id": 1,
- "locale": "da-DK",
- "ownerTeamId": 1
}
]Get a randomised selection of recommended playlists for a user based on their activity
| 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. |
[- [
- {
- "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"
}
}
]
]Fetch playlists for a user to browse
| 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} |
{- "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
}{- "id": 1,
- "email": "user@5app.com",
- "first_name": "Ada",
- "last_name": "Lovelace",
- "displayName": "Ada Lovelace",
- "pictureUrl": null,
- "settings": "Parsed JSON user settings",
- "learning_progress": {
- "totalCompletedAssets": 34,
- "totalLearningTime": 3
}, - "isAdmin": true,
- "userCustomFields": [
- {
- "label": "Custom field label",
- "id": 1,
- "value": "Custom field value",
- "hint": "Field hint",
- "is_required": false
}
], - "openCompleteProfile": true
}Update user settings incl. notification_channel in userDomains
| host | string |
| notification_channel | any |
| is_helix_hub | any |
| settings | any |
{- "notification_channel": "any",
- "is_helix_hub": "any",
- "settings": "any"
}Update a user's comment subscription for a piece of content
| contentId required | number (ContentId) Example: 1 Content id |
| isSubscribed | boolean |
{- "isSubscribed": true
}{- "isSubscribed": true
}Fetch a playlist with user specific data
| playlistId required | number (ContentId) Example: playlistId=1 Content id |
{- "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"
}
}Fetch a playlist with user specific data
| playlistId required | number (ContentId) Example: playlistId=1 Content id |
{- "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"
}
}Fetch a playlist's user-accessible contents with user specific data
| playlistId required | number (ContentId) Example: playlistId=1 Content id |
| 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} |
{- "items": {
- "contents": [
- {
- "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
}Get all team playlists by teamId
| teamId | number (TeamId) Example: teamId=1 Team id |
{- "list": [
- [
- {
- "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"
}
}
]
]
}Create a new playlist and, if supplied, assign the team as the owner
| name required | string |
| 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" "ru-RU" "sv-SE" "th-TH" "zh-CN" "zh-TW" Locale supported by the hub |
| tags | Array of numbers (TagIds) |
| topics | Array of numbers (TopicIds) |
| thumbnailId | number (ContentThumbnailId)
|
| ownerTeamId | number (OwnerTeamId) Team id of the content owning team |
| allow_member_contributions | boolean or null |
| playlist_numbering | boolean or null |
| 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 |
| selectedTopicId | number (TopicId) Topic id |
{- "name": "Playlist name",
- "description": "Playlist description",
- "locale": "da-DK",
- "tags": [
- 1
], - "topics": [
- 1
], - "thumbnailId": 1,
- "ownerTeamId": 1,
- "allow_member_contributions": true,
- "playlist_numbering": true,
- "optional": false,
- "parentPlaylistId": 1,
- "selectedTopicId": 1
}{- "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"
}, - "index": 1
}Get a single playlist by id
| playlistId required | number (ContentId) Example: 1 Content id |
| includeDeleted | boolean (IncludeDeletedPlaylist) Default: false Example: includeDeleted=false Whether data for a deleted playlist should be included in the response. |
{- "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"
}Update update one or multiple fields of a playlist by id
| playlistId required | number (ContentId) Example: 1 Content id |
| name | string or null |
| 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" "ru-RU" "sv-SE" "th-TH" "zh-CN" "zh-TW" Locale supported by the hub |
| tags | Array of numbers (TagIds) |
| topics | Array of numbers (TopicIds) |
| thumbnailId | number (ContentThumbnailId)
|
| ownerTeamId | number (OwnerTeamId) Team id of the content owning team |
| allow_member_contributions | boolean or null |
| playlist_numbering | boolean or null |
| externalRefId | string or null Custom data |
| 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 |
{- "name": "Playlist name",
- "description": "Playlist description",
- "locale": "da-DK",
- "tags": [
- 1
], - "topics": [
- 1
], - "thumbnailId": 1,
- "ownerTeamId": 1,
- "allow_member_contributions": true,
- "playlist_numbering": true,
- "externalRefId": "string",
- "optional": false,
- "parentPlaylistId": 1
}{- "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"
}
}Fetch a playlist with its contents
| playlistId required | number (ContentId) Example: playlistId=1 Content id |
| 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. |
| includeDeleted | boolean (IncludeDeletedPlaylist) Default: false Example: includeDeleted=false Whether data for a deleted playlist should be included in the response. |
{- "items": {
- "contents": [
- {
- "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 the content (assets, playlists, sections) and content order of a playlist and create new sections.
Note: all content of the playlist must be sent with contentId and rank (and any changes). Only new sections to be created are sent without a contentId.
If content is not sent, it will be removed from the playlist. Removed sections will additionally be deleted.
| playlistId required | number (ContentId) Example: 1 Content id |
| rank required | string (PlaylistContentRank) Ranking of a piece of content within a playlist. Up to 3 levels deep. |
object (PlaylistSectionNewDetails) |
[- {
- "rank": "1.2.04",
- "updatedDetails": {
- "name": "Section name",
- "description": "Name of the section",
- "lockingMode": "locked",
- "unlockDateTime": "2024-01-02T18:00:00.000Z",
- "unlockTimezone": "Europe/Berlin"
}
}
]{- "success": true
}Returns a report. Can be accessed by Admins with "Report Read" permission and by team managers, if the "Manager Reports" feature flag is enabled.
| id required | string |
| table | string |
| fields | string |
| filter | string |
| notfound | string |
| attachment | string |
| format | string |
| teamId | string |
| sessionToken | string |
Get skill analysis data to show progress over a 13 week period in the graph friendly format.
| weekCommencingDate | string (UserAnalysisWeekCommencementDate) Example: weekCommencingDate=2023-10-08 The week commencing date of a user`s skill analysis |
| teamId | number (TeamId) Example: teamId=1 Team id |
{- "skills": [
- {
- "skillId": 1,
- "name": "Skill Name",
- "score": 5,
- "progress": 10,
- "scoreEachWeek": [
- 1,
- 2,
- 4
]
}
], - "dates": [
- "2025-06-02",
- "2025-06-09",
- "2025-06-16"
]
}Get the skills analysis for a specific week broken down by user or team.
| weekCommencingDate | string (UserAnalysisWeekCommencementDate) Example: weekCommencingDate=2023-10-08 The week commencing date of a user`s skill analysis |
| teamId | number (TeamId) Example: teamId=1 Team id |
| teamTypeId | number (TeamTypeId) Example: teamTypeId=1 TeamType id |
object | |
| 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. |
{- "items": [
- {
- "name": "User Name",
- "id": 123,
- "skills": [
- {
- "skillName": "Skill Name",
- "score": 5
}
]
}
], - "nextOffset": 10
}Get the avaliable helix analysis weeks, helix reporting team type and helix reporting teams for skills analysis
{- "dates": [
- "2023-01-01",
- "2023-01-02",
- "2023-01-03"
], - "teams": [
- {
- "id": 1,
- "name": "Team A"
}
], - "helixReportingTeamType": {
- "id": 1,
- "name": "Helix Reporting Team Type"
}
}Get user skill analysis and meetings for a specific week using Helix. By default returns the newest analysis
| userId | number (UserId) Example: userId=1 User id |
| weekCommencingDate | string (UserAnalysisWeekCommencementDate) Example: weekCommencingDate=2023-10-08 The week commencing date of a user`s skill analysis |
{- "id": 1,
- "userId": 1,
- "summary": "string",
- "analysisWeekCommencementDate": "2023-10-08",
- "userMeetings": [
- {
- "id": 1,
- "meetingId": 1,
- "title": "Meeting title",
- "startTime": "2025-01-16T13:30:00.000Z",
- "score": 75
}
]
}Get descending list of commencement dates of weeks with analysis for a specific user using Helix.
| userId | number (UserId) Example: userId=1 User id |
| 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. |
{- "items": [
- "2023-10-08"
], - "total": 2,
- "offset": 0,
- "limit": 10000
}Get user skill analysis data to show progress over week period in the graph friendly format.
| userId | number (UserId) Example: userId=1 User id |
| skillId | number (UserAnalysisSkillId) Example: skillId=1 User analysis skill id |
| weekCommencingDate | string (UserAnalysisWeekCommencementDate) Example: weekCommencingDate=2023-10-08 The week commencing date of a user`s skill analysis |
{- "skills": [
- {
- "id": 1,
- "skillId": 1,
- "name": "Skill Name",
- "score": 0.5,
- "progress": 10,
- "scoreEachWeek": [
- 1,
- 2,
- 3,
- 4,
- 5
]
}
], - "dates": [
- "2023-01-01",
- "2023-01-02",
- "2023-01-03"
]
}Get user meeting analysis for a specific meeting using Helix
| meetingId required | number (MeetingId) Example: 1 Meeting id |
| userId | number (UserId) Example: userId=1 User id |
{- "id": 1,
- "meetingId": 1,
- "title": "Meeting Title",
- "startTime": "2025-01-16T13:30:00.000Z",
- "endTime": "2025-01-16T13:46:12.838Z",
- "organiserEmail": "admin@5app.com",
- "meetingPlatform": "Slack",
- "summary": "string",
- "userMeetingSkills": [
- {
- "id": 1,
- "skillId": 1,
- "name": "Leadership",
- "score": 90,
- "summary": "Summary of the skill",
- "suggestion": "Suggestion of the skill",
- "skillUsage": {
- "positive": [
- {
- "text": "Yeah, I think that's a good point.",
- "phrase": "I think that's a good point.",
- "reasoning": "You affirm and appreciate another person's input.",
- "startTime": 1802.6619,
- "contextScore": 0.6,
- "contextReason": "Recognizes and validates team contribution, but with minimal elaboration.",
- "sentimentScore": 0.85,
- "sentimentReason": "Affirming and open, reflecting willingness to incorporate feedback."
}
], - "negative": [
- {
- "text": "Yeah, I think that's a good point.",
- "phrase": "I think that's a good point.",
- "reasoning": "You affirm and appreciate another person's input.",
- "startTime": 1802.6619,
- "contextScore": 0.6,
- "contextReason": "Recognizes and validates team contribution, but with minimal elaboration.",
- "sentimentScore": 0.85,
- "sentimentReason": "Affirming and open, reflecting willingness to incorporate feedback."
}
]
}, - "feedback": {
- "id": 1,
- "rating": true,
- "comment": "This feedback is great!"
}
}
]
}Get user skill analysis for a specific skill using Helix
| skillId required | number (SkillId) Example: 1 Helix skill id |
| userId | number (UserId) Example: userId=1 User id |
| weekCommencingDate | string (UserAnalysisWeekCommencementDate) Example: weekCommencingDate=2023-10-08 The week commencing date of a user`s skill analysis |
{- "id": 1,
- "analysisWeekCommencementDate": "2025-06-16",
- "summary": "Analysis summary for the skill",
- "description": "Description of the skill",
- "suggestion": "Suggestion for improvement",
- "score": 11,
- "skillId": 1,
- "skillUsage": {
- "positive": [
- {
- "meetingId": 1,
- "meetingTitle": "Meeting title",
- "text": "Yeah, I think that's a good point.",
- "phrase": "I think that's a good point.",
- "reasoning": "You affirm and appreciate another person's input.",
- "startTime": 1802.6619,
- "contextScore": 0.6,
- "contextReason": "Recognizes and validates team contribution, but with minimal elaboration.",
- "sentimentScore": 0.85,
- "sentimentReason": "Affirming and open, reflecting willingness to incorporate feedback."
}
], - "negative": [
- {
- "meetingId": 1,
- "meetingTitle": "Meeting title",
- "text": "Yeah, I think that's a good point.",
- "phrase": "I think that's a good point.",
- "reasoning": "You affirm and appreciate another person's input.",
- "startTime": 1802.6619,
- "contextScore": 0.6,
- "contextReason": "Recognizes and validates team contribution, but with minimal elaboration.",
- "sentimentScore": 0.85,
- "sentimentReason": "Affirming and open, reflecting willingness to incorporate feedback."
}
]
}, - "userMeetings": [
- {
- "id": 1,
- "meetingId": 1,
- "title": "Meeting title",
- "startTime": "2025-01-16T13:30:00.000Z",
- "score": 75
}
]
}Get a list of users or teams to recommend content to depending on their permissions.
| assetIds | Array of numbers (ContentIds) Example: assetIds=1 |
| playlistIds | Array of numbers (ContentIds) Example: playlistIds=1 |
| query | string (Search) Example: query=playlistName Search terms to filter the result by. |
| collections | string |
| in | string |
| schema | string |
{- "teams": [
- {
- "id": 1,
- "name": "Potato connoisseurs"
}
], - "users": [
- {
- "id": 12,
- "name": "sam@5app.com",
- "first_name": "Sam",
- "last_name": "Gamgee"
}
]
}Share recommended content to users or teams via email, same as the share content nudge actions.
| share_ref_ids | any |
| share_context_ids | any |
| sendEmail | any |
| subject | any |
| message | any |
| testMode | any |
| label | any |
| searchQuery | any |
| limit | any |
| user_ids | any |
| team_ids | any |
| type | any |
{- "share_ref_ids": "any",
- "share_context_ids": "any",
- "sendEmail": "any",
- "subject": "any",
- "message": "any",
- "testMode": "any",
- "label": "any",
- "searchQuery": "any",
- "limit": "any",
- "user_ids": "any",
- "team_ids": "any",
- "type": "any"
}Get the thumbnail for an asset or playlist by the contentId. Or user avatar. The thumbnail can be requested in different sizes.
| pictureId required | number (FileId) Example: 1 File id |
| dimensions? required | string |
| dimensions required | string (ImageDimensions) Example: /w_75,h_50 The size of the picture in pixels |
Use the file to get it's S3 upload policy and token for processing the file after upload.
| filename | any |
| contentType | any |
| size | any |
| type | any |
| referenceId | any |
| referenceIds | any |
| language | any |
| alternativeText | any |
| style | any |
| skipPostProcessing | any |
| skipAssigningToReference | any |
| notifyOnProcessingCompletion | any |
{- "filename": "any",
- "contentType": "any",
- "size": "any",
- "type": "any",
- "referenceId": "any",
- "referenceIds": "any",
- "language": "any",
- "alternativeText": "any",
- "style": "any",
- "skipPostProcessing": "any",
- "skipAssigningToReference": "any",
- "notifyOnProcessingCompletion": "any"
}Get file information by it's id, such as its status, duration and notification settings
| fileId required | number (FileId) Example: 1 File id |
{- "fileStatus": "draft",
- "duration": "The actual duration of an asset in minutes if available. E.g. the length of the video or of the audio file.",
- "notifyOnProcessingCompletion": false
}Get an asset's file by asset ID and type. When fetching subtitle files, also provide the subtitle id.
| assetId required | string |
| type required | string |
| subId? required | string |
| cdn | string |
| redirect | string |
| download | string |
| wrap | string |
| baseUrl | string |
| user-agent | string |