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"
}, - "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",
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "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"
}
}
], - "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt",
- "assetId": 1
}
], - "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",
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "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"
}
}
], - "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt",
- "assetId": 1
}
], - "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",
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "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"
}
}
], - "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt",
- "assetId": 1
}
], - "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",
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "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"
}
}
], - "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt",
- "assetId": 1
}
], - "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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "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",
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "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"
}
}
], - "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt",
- "assetId": 1
}
], - "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",
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "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"
}
}
], - "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt",
- "assetId": 1
}
], - "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",
- "fileId": 1,
- "fileSize": 1560,
- "fileStatus": "draft",
- "fileFormat": null,
- "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"
}
}
], - "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "subtitles": [
- {
- "id": 1,
- "locale": "da-DK",
- "filename": "SubtitleFileName.vtt",
- "assetId": 1
}
], - "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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "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"
}
Update a user's user comment subscription
Update a user's user comment subscription for a piece of content
path Parameters
contentId required | number (ContentId) Example: 1 Content id |
Request Body schema: required
isSubscribed | boolean |
Responses
Request samples
- Payload
{- "isSubscribed": true
}
Response samples
- 200
{- "isSubscribed": true
}
Fetch a playlist for the current user
Fetch a playlist with user specific data
query Parameters
playlistId required | number (ContentId) Example: playlistId=1 Content id |
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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "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 for the current user
Fetch a playlist with user specific data
query Parameters
playlistId required | number (ContentId) Example: playlistId=1 Content id |
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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "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 content for the current user
Fetch a playlist's user-accessible contents with user specific data
query Parameters
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} |
Responses
Response samples
- 200
{- "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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "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 team playlists
Get all team playlists by teamId
query Parameters
teamId | number (TeamId) Example: teamId=1 Team id |
Responses
Response samples
- 200
{- "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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "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 playlist
Create a new playlist and, if supplied, assign the team as the owner
Request Body schema: required
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" "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 |
Responses
Request samples
- Payload
{- "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
}
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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "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
Get a single playlist by id
query Parameters
playlistId required | number (ContentId) Example: playlistId=1 Content id |
includeDeleted | boolean (IncludeDeletedPlaylist) Default: false Example: includeDeleted=false Whether data for a deleted playlist should be included in the response. |
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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "tags": [
- {
- "contentId": 1,
- "id": 1,
- "name": "Tag name"
}
], - "topics": [
- {
- "id": 1,
- "name": "Topic name",
- "playlistId": 1,
- "parent_id": 1
}
], - "type": "playlist"
}
Update a playlist
Update update one or multiple fields of a playlist by id
path Parameters
playlistId required | number (ContentId) Example: 1 Content id |
Request Body schema: required
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" "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 |
Responses
Request samples
- Payload
{- "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
}
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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "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 and its content
Fetch a playlist with its contents
query Parameters
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. |
Responses
Response samples
- 200
{- "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,
- "sourceDomain": {
- "id": 1,
- "name": "Source domain name",
- "subdomain": "fiveapp@example.com"
}, - "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
}
Add new content to a playlist
Add new content (assets or playlist links) to a playlist
path Parameters
playlistId required | number (ContentId) Example: 1 Content id |
Request Body schema: required
Array of objects | |||||||
Array
|
Responses
Request samples
- Payload
{- "content": [
- {
- "id": 1,
- "optional": false,
- "rank": "1.2.04"
}
]
}
Response samples
- 200
{- "success": true
}
Update playlist content
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.
path Parameters
playlistId required | number (ContentId) Example: 1 Content id |
Request Body schema: required
rank required | string (PlaylistContentRank) Ranking of a piece of content within a playlist. Up to 3 levels deep. |
object (PlaylistSectionNewDetails) |
Responses
Request samples
- Payload
[- {
- "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"
}
}
]
Response samples
- 200
{- "success": true
}
Fetch a report
Returns a report. Can be accessed by Admins with "Report Read" permission and by team managers, if the "Manager Reports" feature flag is enabled.
path Parameters
id required | string |
query Parameters
table | string |
fields | string |
filter | string |
notfound | string |
attachment | string |
format | string |
teamId | string |
sessionToken | string |
Responses
Get users or teams to recommend content to
Get a list of users or teams to recommend content to depending on their permissions.
query Parameters
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 |
Responses
Response samples
- 200
{- "teams": [
- {
- "id": 1,
- "name": "Potato connoisseurs"
}
], - "users": [
- {
- "id": 12,
- "name": "sam@5app.com",
- "first_name": "Sam",
- "last_name": "Gamgee"
}
]
}
Recommend content to users or teams
Share recommended content to users or teams via email, same as the share content nudge actions.
Request Body schema: application/json
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 |
Responses
Request samples
- Payload
{- "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 thumbnail for users and content
Get the thumbnail for an asset or playlist by the contentId. Or user avatar. The thumbnail can be requested in different sizes.
path Parameters
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 |
Responses
Get the file's upload policy.
Use the file to get it's S3 upload policy and token for processing the file after upload.
Request Body schema: application/json
filename | any |
contentType | any |
size | any |
type | any |
referenceId | any |
referenceIds | any |
language | any |
alternativeText | any |
style | any |
skipPostProcessing | any |
skipAssigningToReference | any |
notifyOnProcessingCompletion | any |
Responses
Request samples
- Payload
{- "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
Get file information by it's id, such as its status, duration and notification settings
path Parameters
fileId required | number (FileId) Example: 1 File id |
Responses
Response samples
- 200
{- "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 asset file by type
Get an asset's file by asset ID and type. When fetching subtitle files, also provide the subtitle id.
path Parameters
assetId required | string |
type required | string |
subId? required | string |
query Parameters
cdn | string |
redirect | string |
download | string |
wrap | string |
baseUrl | string |
header Parameters
user-agent | string |