Full API Reference Development (2.26.1)
Comprehensive reference for integrating the Streamdiver Media API
Welcome to the API reference for the Streamdiver Media API services!
Our web API enables developers to seamlessly integrate video streaming and media asset management capabilities into their applications. This API is designed according to RESTful principles with an OpenAPI specification aiming to facilitate easy integration and compatibilty.
With comprehensive endpoints covering everything from asset management to analytics and search, our API supports a wide range of functionalities to empower your applications. This documentation will guide you through the available endpoints, resources, authentication procedures, and provides examples to help you get started quickly and effectively.
Explore our Media API to discover how Streamdiver can enhance your software solutions. For a full overview of Streamdiver services head to streamdiver.com.
The Media
asset object represents the files that have been uploaded and are hosted on the Streamdiver cloud.
You can upload files using the create an upload request.
We support four asset types:
video
audio
image
document
Channels can be used to organize the Media
assets, each Media
asset must be a
part of at least one Channel
.
The Metadata of an uploaded file is automatically extracted, including derived content-based metadata like transcripts.
Additionally Metadata
is indexed for searchability.
List media assets
The endpoint returns a list of all Media
assets within the current authorization scope.
Authorizations:
query Parameters
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
sort | string Example: sort=name or name:desc The sort property name and order (add ":desc" for descending). Properties from response object can be used, which are simple (non-complex) properties. Only a single field is supported. |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
X-Total-Count | integer Total count of items |
X-Video-Count | integer Total count of |
X-Audio-Count | integer Total count of |
X-Image-Count | integer Total count of |
X-Document-Count | integer Total count of |
X-SoftDeleted-Count | integer Total count of deleted |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||||||||||
required | Array of objects (Media) | ||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z",
- "type": "video",
- "status": "ready",
- "error": {
- "type": "ingestError",
- "message": "string"
}, - "file": {
- "name": "my_video.mov",
- "size": 123456789,
- "mimeType": "video/quicktime",
- "hash": "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
- "duration": "10:20:05",
- "durationInMilliseconds": 1596,
- "aspectRatio": "16:9"
}, - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "usage": {
- "views": 100,
- "downloads": 3
}, - "feedback": {
- "average": 3,
- "user": 3
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
], - "visibility": "private",
- "shareLink": {
- "url": "https://cdn.streamdiver.com/vod-tenant/_definst_/amlst:2021/03/d2f3f6a0-a186-4156-b784-248de16e9e2a/playlist.m3u8\n url:"
}, - "ingestInformation": {
- "ingestJobStatus": "initial",
- "progress": 100,
- "errorMessage": "Invalid source file, unaccepted video codec .FLV"
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
]
}
]
}
Bulk delete media assets
Bulk operation to delete multiple Media
assets with one request. Per default, a soft-deletion is done, changing the status of the assets to softDeleted
. Optionally, a hard-deletion can be requested, which means the assets are physically deleted from the storage servers.
Authorizations:
query Parameters
permanent | boolean Default: false If |
Request Body schema: application/jsonrequired
List of MediaAssetIds
mediaAssetIds | Array of strings <uuid> [ items <uuid > ] |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Request samples
- Payload
{- "mediaAssetIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
]
}
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Bulk assign tags
The endpoint can be used to assign tags to multiple Media
assets with one request.
Authorizations:
Request Body schema: application/jsonrequired
List of Media Asset Ids and Tags
mediaAssetIds | Array of strings <uuid> (RessourceId) [ items <uuid > ] |
tags | Array of strings |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Request samples
- Payload
{- "mediaAssetIds": [
- "7c9e6679-7425-40de-944b-e07fc1f90ae7"
], - "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
]
}
Response samples
- 200
- 401
- 403
{- "status": "success"
}
Retrieve a media asset
Returns the current representation of a Media
asset, containing detailed information about the Media
asset, such as its name
, description
and for video/audio assets the playlist URL. Use optional parameter channelId
to retrieve a Media
asset in the context of a Channel
for embedding purposes. Iframe embeddings will then be based on the Channel
design options like playerDesign
.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
query Parameters
channelId | string <uuid> (RessourceId) Example: channelId=7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object (MediaDetailed) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z",
- "type": "video",
- "status": "ready",
- "error": {
- "type": "ingestError",
- "message": "string"
}, - "file": {
- "name": "my_video.mov",
- "size": 123456789,
- "mimeType": "video/quicktime",
- "hash": "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
- "duration": "10:20:05",
- "durationInMilliseconds": 1596,
- "aspectRatio": "16:9"
}, - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "usage": {
- "views": 100,
- "downloads": 3
}, - "feedback": {
- "average": 3,
- "user": 3
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "visibility": "private",
- "shareLink": {
- "url": "https://cdn.streamdiver.com/vod-tenant/_definst_/amlst:2021/03/d2f3f6a0-a186-4156-b784-248de16e9e2a/playlist.m3u8\n url:"
}, - "ingestInformation": {
- "ingestJobStatus": "initial",
- "progress": 100,
- "errorMessage": "Invalid source file, unaccepted video codec .FLV"
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
], - "hasMetadata": true,
- "renditions": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mimeType": "application/x-mpegURL",
- "height": 1080,
- "width": 1980,
- "status": "ready",
- "type": "videostream",
- "deprecated": true
}
], - "subtitles": [
- {
- "url": "{{ base_url }}/media/91194f15-6dd1-4a18-aa28-81f70d526045/subtitles/en",
- "languageCode": "en",
- "displayName": "English"
}
], - "isPartOfDownload": true,
- "player": "<sd-player-widget tenant-name=\"streamdiver\" asset-id=\"ee96622c-3454-4db3-92b3-8acf33d268e2\"></sd-player-widget><script type=\"module\" crossorigin src=\"/sdplayerwidget.min.js\"></script><link rel=\"stylesheet\" href=\"/sdplayerwidget.min.css\">"
}
}
Update a media asset
Updates Media
asset basic properties.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/json
Update Media
asset payload
name | string <= 255 characters |
description | string |
copyright | string |
tags | Array of strings |
dateTimeOriginalUtc | string or null <date-time> Date the |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object (MediaDetailed) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z"
}
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z",
- "type": "video",
- "status": "ready",
- "error": {
- "type": "ingestError",
- "message": "string"
}, - "file": {
- "name": "my_video.mov",
- "size": 123456789,
- "mimeType": "video/quicktime",
- "hash": "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
- "duration": "10:20:05",
- "durationInMilliseconds": 1596,
- "aspectRatio": "16:9"
}, - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "usage": {
- "views": 100,
- "downloads": 3
}, - "feedback": {
- "average": 3,
- "user": 3
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "visibility": "private",
- "shareLink": {
- "url": "https://cdn.streamdiver.com/vod-tenant/_definst_/amlst:2021/03/d2f3f6a0-a186-4156-b784-248de16e9e2a/playlist.m3u8\n url:"
}, - "ingestInformation": {
- "ingestJobStatus": "initial",
- "progress": 100,
- "errorMessage": "Invalid source file, unaccepted video codec .FLV"
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
], - "hasMetadata": true,
- "renditions": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mimeType": "application/x-mpegURL",
- "height": 1080,
- "width": 1980,
- "status": "ready",
- "type": "videostream",
- "deprecated": true
}
], - "subtitles": [
- {
- "url": "{{ base_url }}/media/91194f15-6dd1-4a18-aa28-81f70d526045/subtitles/en",
- "languageCode": "en",
- "displayName": "English"
}
], - "isPartOfDownload": true,
- "player": "<sd-player-widget tenant-name=\"streamdiver\" asset-id=\"ee96622c-3454-4db3-92b3-8acf33d268e2\"></sd-player-widget><script type=\"module\" crossorigin src=\"/sdplayerwidget.min.js\"></script><link rel=\"stylesheet\" href=\"/sdplayerwidget.min.css\">"
}
}
Remove a media asset
Change a Media
asset's status status to softDeleted
or optionally, request a hard-deletion, meaning the Media
asset will be physically deleted from our storage.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
query Parameters
permanent | boolean Default: false If |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
- 409
{- "status": "success"
}
Recover a deleted media asset
Restore a soft-deleted Media
asset with all previous Channel
assignments.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object (MediaDetailed) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Response samples
- 200
- 404
- 422
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z",
- "type": "video",
- "status": "ready",
- "error": {
- "type": "ingestError",
- "message": "string"
}, - "file": {
- "name": "my_video.mov",
- "size": 123456789,
- "mimeType": "video/quicktime",
- "hash": "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
- "duration": "10:20:05",
- "durationInMilliseconds": 1596,
- "aspectRatio": "16:9"
}, - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "usage": {
- "views": 100,
- "downloads": 3
}, - "feedback": {
- "average": 3,
- "user": 3
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "visibility": "private",
- "shareLink": {
- "url": "https://cdn.streamdiver.com/vod-tenant/_definst_/amlst:2021/03/d2f3f6a0-a186-4156-b784-248de16e9e2a/playlist.m3u8\n url:"
}, - "ingestInformation": {
- "ingestJobStatus": "initial",
- "progress": 100,
- "errorMessage": "Invalid source file, unaccepted video codec .FLV"
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
], - "hasMetadata": true,
- "renditions": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mimeType": "application/x-mpegURL",
- "height": 1080,
- "width": 1980,
- "status": "ready",
- "type": "videostream",
- "deprecated": true
}
], - "subtitles": [
- {
- "url": "{{ base_url }}/media/91194f15-6dd1-4a18-aa28-81f70d526045/subtitles/en",
- "languageCode": "en",
- "displayName": "English"
}
], - "isPartOfDownload": true,
- "player": "<sd-player-widget tenant-name=\"streamdiver\" asset-id=\"ee96622c-3454-4db3-92b3-8acf33d268e2\"></sd-player-widget><script type=\"module\" crossorigin src=\"/sdplayerwidget.min.js\"></script><link rel=\"stylesheet\" href=\"/sdplayerwidget.min.css\">"
}
}
Retrieve a thumbnail
Retrieve the thumbnail associated with a Media
asset. The thumbnail is a small image that represents the Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||
required | object | ||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "height": 640,
- "width": 480,
}
}
Update a thumbnail
Updates thumbnail for Media
asset.
Allowed image formats:
image/jpeg
image/png
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: multipart/form-datarequired
file | string <binary> |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||
required | object | ||||||
|
Response samples
- 200
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "height": 640,
- "width": 480,
}
}
Delete a thumbnail
Delete thumbnail from the Media
asset
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Manually ingest a media asset
If an ingest fails, you can force a new ingest with this endpoint. If you re-ingest a Media
asset that has an succesfull ingestJob
, the renditions will be replaced.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object (MediaDetailed) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Response samples
- 200
- 404
- 422
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z",
- "type": "video",
- "status": "ready",
- "error": {
- "type": "ingestError",
- "message": "string"
}, - "file": {
- "name": "my_video.mov",
- "size": 123456789,
- "mimeType": "video/quicktime",
- "hash": "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
- "duration": "10:20:05",
- "durationInMilliseconds": 1596,
- "aspectRatio": "16:9"
}, - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "usage": {
- "views": 100,
- "downloads": 3
}, - "feedback": {
- "average": 3,
- "user": 3
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "visibility": "private",
- "shareLink": {
- "url": "https://cdn.streamdiver.com/vod-tenant/_definst_/amlst:2021/03/d2f3f6a0-a186-4156-b784-248de16e9e2a/playlist.m3u8\n url:"
}, - "ingestInformation": {
- "ingestJobStatus": "initial",
- "progress": 100,
- "errorMessage": "Invalid source file, unaccepted video codec .FLV"
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
], - "hasMetadata": true,
- "renditions": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mimeType": "application/x-mpegURL",
- "height": 1080,
- "width": 1980,
- "status": "ready",
- "type": "videostream",
- "deprecated": true
}
], - "subtitles": [
- {
- "url": "{{ base_url }}/media/91194f15-6dd1-4a18-aa28-81f70d526045/subtitles/en",
- "languageCode": "en",
- "displayName": "English"
}
], - "isPartOfDownload": true,
- "player": "<sd-player-widget tenant-name=\"streamdiver\" asset-id=\"ee96622c-3454-4db3-92b3-8acf33d268e2\"></sd-player-widget><script type=\"module\" crossorigin src=\"/sdplayerwidget.min.js\"></script><link rel=\"stylesheet\" href=\"/sdplayerwidget.min.css\">"
}
}
List comments
Returns list of comments under specific Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
query Parameters
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||
required | Array of objects (Comment) | ||||||||||||
Array
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "fromModerator": false,
- "text": "Romanes eunt domus!",
- "nickname": "max4711",
- "fromHost": "192.168.0.1"
}
]
}
Create a comment
Create a new comment for a Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/jsonrequired
Comment to add
text | string <= 512 characters |
nickname | string <= 255 characters |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||
required | object (Comment) A comment for a media asset | ||||||||||||
|
Request samples
- Payload
{- "text": "Romanes eunt domus!",
- "nickname": "max4711"
}
Response samples
- 201
- 401
- 403
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "fromModerator": false,
- "text": "Romanes eunt domus!",
- "nickname": "max4711",
- "fromHost": "192.168.0.1"
}
}
Update a comment
Updates a comment of a Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
commentId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The comment resource identifier |
Request Body schema: application/jsonrequired
Comment to add
text | string <= 512 characters |
nickname | string <= 255 characters |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||
required | object (Comment) A comment for a media asset | ||||||||||||
|
Request samples
- Payload
{- "text": "Romanes eunt domus!",
- "nickname": "max4711"
}
Response samples
- 200
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "fromModerator": false,
- "text": "Romanes eunt domus!",
- "nickname": "max4711",
- "fromHost": "192.168.0.1"
}
}
Delete a comment
Remove a comment of a Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
commentId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The comment resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Retrieve permissions on media asset
Retrieves a list of permissions which the current user has on the given Media
asset. SuperAdmins
have all available permissions, the permissions of all other users are based on the respective ChannelMemberships
and ChannelRoles
.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
data required | Array of strings (Permission) Items Enum: "viewChannel" "viewMetadata" "downloadFromChannel" "createContent" "createMetadata" "manageSharingOptions" "manageMemberAssignements" "viewAnalytics" "manageTenant" "manageUsers" … 8 more |
Response samples
- 200
- 403
- 404
{- "status": "success",
- "data": [
- "viewChannel"
]
}
List media assets of a channel
Retrieve all Media
assets assigned to a Channel
.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
query Parameters
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
sort | string Example: sort=name or name:desc The sort property name and order (add ":desc" for descending). Properties from response object can be used, which are simple (non-complex) properties. Only a single field is supported. |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
X-Total-Count | integer Total count of items |
X-Video-Count | integer Total count of |
X-Audio-Count | integer Total count of |
X-Image-Count | integer Total count of |
X-Document-Count | integer Total count of |
X-SoftDeleted-Count | integer Total count of deleted |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||||||||||
required | Array of objects (Media) | ||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z",
- "type": "video",
- "status": "ready",
- "error": {
- "type": "ingestError",
- "message": "string"
}, - "file": {
- "name": "my_video.mov",
- "size": 123456789,
- "mimeType": "video/quicktime",
- "hash": "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
- "duration": "10:20:05",
- "durationInMilliseconds": 1596,
- "aspectRatio": "16:9"
}, - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "usage": {
- "views": 100,
- "downloads": 3
}, - "feedback": {
- "average": 3,
- "user": 3
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
], - "visibility": "private",
- "shareLink": {
- "url": "https://cdn.streamdiver.com/vod-tenant/_definst_/amlst:2021/03/d2f3f6a0-a186-4156-b784-248de16e9e2a/playlist.m3u8\n url:"
}, - "ingestInformation": {
- "ingestJobStatus": "initial",
- "progress": 100,
- "errorMessage": "Invalid source file, unaccepted video codec .FLV"
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
]
}
]
}
Get structured data for SEO
Provides the structured metadata in JSON/LD
format to use for SEO enhancement when embedding the Media
asset. The structured-data schema is consistent with the Google SEO standard for videos (Video structured data).
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Responses
Response Schema: application/json
@context | string | ||||||||
@type | string | ||||||||
name | string
| ||||||||
description | string
| ||||||||
thumbnailUrl | string | ||||||||
uploadDate | string | ||||||||
duration | string The | ||||||||
contentUrl | string URL of the | ||||||||
Array of objects (MediaSeoClip) | |||||||||
Array
|
Response samples
- 200
- 400
- 404
- default
{- "@context": "string",
- "@type": "string",
- "name": "string",
- "description": "string",
- "thumbnailUrl": "string",
- "uploadDate": "2016-03-31T08:00:00+08:00",
- "duration": "PT00H30M5S",
- "contentUrl": "string",
- "hasPart": [
- {
- "@type": "string",
- "name": "string",
- "startOffset": 0,
- "url": "string"
}
]
}
Sections
can be used to structure the content of a Media
asset and make it accessible.
They unify the creation of markers and chapters of Media
assets, through time
or timeranges
respectively.
The timerange
type is used to create the Chapters for the player timeline.
List sections
The sections endpoint returns a list of sections of the Media
asset.
By default only non-linked sections are returned.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
chapterId | string <uuid> (RessourceId) Example: chapterId=7c9e6679-7425-40de-944b-e07fc1f90ae7 Optional chapter reference |
includeLinked | boolean Example: includeLinked=true Linked |
includeAllChapterSections | boolean Deprecated Example: includeAllChapterSections=true Deprecated parameter which is replaced by above |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||
required | Array of objects (MediaSection) | ||||||||||||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}, - "status": "approved",
- "origin": "autogenerated"
}
]
}
Create a section
Create a new Section
for a Media
asset. The Section
can be a marker
or a timerange
of the Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/jsonrequired
Media Section
type required | string Enum: "time" "timerange" "part" |
start required | number <double> start of section in milliseconds |
end | number or null <double> end of section in milliseconds |
chapterId | string or null <uuid> optional id of a media chapter |
status | string Enum: "approved" "suggested" "rejected" |
origin | string Enum: "autogenerated" "manual" "scene" |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||
required | object (MediaSection) | ||||||||||||||||||||||||
|
Request samples
- Payload
{- "type": "time",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "status": "approved",
- "origin": "autogenerated"
}
Response samples
- 201
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}, - "status": "approved",
- "origin": "autogenerated"
}
}
Retrieve a section
Retrieves a particular Section
for a Media
asset based on their identifiers.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
sectionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||
required | object (MediaSection) | ||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}, - "status": "approved",
- "origin": "autogenerated"
}
}
Update a section
Update selected properties of a Section
, like its start
or end
time.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
sectionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/json
Update media section
title | string <= 255 characters |
status | string Enum: "approved" "suggested" "rejected" |
start | number <double> start of section in milliseconds |
end | number or null <double> end of section in milliseconds |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||
required | object (MediaSection) | ||||||||||||||||||||||||
|
Request samples
- Payload
{- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "status": "approved",
- "start": 5000.223,
- "end": 20000.012213
}
Response samples
- 201
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}, - "status": "approved",
- "origin": "autogenerated"
}
}
Delete a section
Deletes a Section
and removes its association with the Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
sectionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Retrieve a section thumbnail
Retrieves the thumbnail of a Media
asset Section
including the image URL and its dimensions.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
sectionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||
required | object | ||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "height": 640,
- "width": 480,
}
}
Update a section thumbnail
Updates Media
section's thumbnail.
Allowed image formats:
image/jpeg
image/png
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
sectionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: multipart/form-datarequired
file | string <binary> |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||
required | object | ||||||
|
Response samples
- 200
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "height": 640,
- "width": 480,
}
}
Delete a section thumbnail
Remove a given thumbnail from a Media
asset Section
.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
sectionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Media Chapters
hold certain structures of a Media
asset based on entries which can be linked to Media Sections
.
Every Media
asset of type video or audio has an AI generated Media
chapter of type autogenerated
- this autogenerated
Media
chapter is not editable.
In order to change an autogenerated
Media
chapter, you have to copy it.
The copy has type usergenerated
and is editable.
Create a media chapter
A Media Chapter
structures a Media
asset based on entries
which can be linked with Sections
.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/jsonrequired
MediaChapter to add
name | string <= 255 characters |
description | string |
channelIds | Array of strings <uuid> (DefaultId) [ items <uuid > ] |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (MediaChapter) | ||||||||||||||||||
|
Request samples
- Payload
{- "name": "MediaChapter 1",
- "description": "MediaChapter 1 structures this MediaAsset into parts which belong together",
- "channelIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
]
}
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Video Unterteilung 1",
- "description": "Dieses MediaChapter gliedert das asset in mehrere Teile (Entries)",
- "type": "manual",
- "status": "running",
- "entries": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "mediaChapterId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "documentId": "9c6ad2e4-a811-42e6-a864-2750655eb169",
- "parentId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "childs": [
- null
]
}
], - "sections": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}, - "status": "approved",
- "origin": "autogenerated"
}
], - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
]
}
}
List media chapters
List all Media Chapters
of the Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
query Parameters
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
sort | string Example: sort=name or name:desc The sort property name and order (add ":desc" for descending). Properties from response object can be used, which are simple (non-complex) properties. Only a single field is supported. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | Array of objects (MediaChapter) | ||||||||||||||||||
Array
|
Response samples
- 200
- 404
- default
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Video Unterteilung 1",
- "description": "Dieses MediaChapter gliedert das asset in mehrere Teile (Entries)",
- "type": "manual",
- "status": "running",
- "entries": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "mediaChapterId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "documentId": "9c6ad2e4-a811-42e6-a864-2750655eb169",
- "parentId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "childs": [
- null
]
}
], - "sections": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}, - "status": "approved",
- "origin": "autogenerated"
}
], - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
]
}
]
}
Retrieve a media chapter
Retrieving a Media Chapter
by id will load a certain structure of a Media
asset.
Authorizations:
path Parameters
chapterId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The media chapter resource identifier |
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (MediaChapter) | ||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Video Unterteilung 1",
- "description": "Dieses MediaChapter gliedert das asset in mehrere Teile (Entries)",
- "type": "manual",
- "status": "running",
- "entries": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "mediaChapterId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "documentId": "9c6ad2e4-a811-42e6-a864-2750655eb169",
- "parentId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "childs": [
- null
]
}
], - "sections": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}, - "status": "approved",
- "origin": "autogenerated"
}
], - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
]
}
}
Delete a media chapter
Deletes a Media Chapter
of a Media
asset by id. All referenced entries
and Sections
will be also deleted.
Authorizations:
path Parameters
chapterId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The media chapter resource identifier |
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Update a media chapter
Update a Media Chapter
name or description.
Authorizations:
path Parameters
chapterId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The media chapter resource identifier |
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/jsonrequired
MediaChapter to update
name | string <= 255 characters |
description | string |
channelIds | Array of strings <uuid> (DefaultId) [ items <uuid > ] |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (MediaChapter) | ||||||||||||||||||
|
Request samples
- Payload
{- "name": "Struktur 1",
- "description": "Struktur 1 gleidert das Asset in Teile",
- "channelIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
]
}
Response samples
- 200
- 401
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Video Unterteilung 1",
- "description": "Dieses MediaChapter gliedert das asset in mehrere Teile (Entries)",
- "type": "manual",
- "status": "running",
- "entries": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "mediaChapterId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "documentId": "9c6ad2e4-a811-42e6-a864-2750655eb169",
- "parentId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "childs": [
- null
]
}
], - "sections": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}, - "status": "approved",
- "origin": "autogenerated"
}
], - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
]
}
}
Copy a media chapter
Copy a Media Chapter
will duplicate and all referenced entries
and Sections
.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
chapterId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The media chapter resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (MediaChapter) | ||||||||||||||||||
|
Response samples
- 200
- 401
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Video Unterteilung 1",
- "description": "Dieses MediaChapter gliedert das asset in mehrere Teile (Entries)",
- "type": "manual",
- "status": "running",
- "entries": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "mediaChapterId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "documentId": "9c6ad2e4-a811-42e6-a864-2750655eb169",
- "parentId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "childs": [
- null
]
}
], - "sections": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}, - "status": "approved",
- "origin": "autogenerated"
}
], - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
]
}
}
Recalculate autogenerated media chapters
Existing structure of the autogenerated Media Chapter
will be recreated based on the the videoText
(OCR) and transcript
Metadata. Existing segment embeddings will be deleted and recalculated.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
chapterId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The media chapter resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (MediaChapter) | ||||||||||||||||||
|
Response samples
- 200
- 404
- 422
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Video Unterteilung 1",
- "description": "Dieses MediaChapter gliedert das asset in mehrere Teile (Entries)",
- "type": "manual",
- "status": "running",
- "entries": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "mediaChapterId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "documentId": "9c6ad2e4-a811-42e6-a864-2750655eb169",
- "parentId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "childs": [
- null
]
}
], - "sections": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}, - "status": "approved",
- "origin": "autogenerated"
}
], - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
]
}
}
Create an entry
Entries
are used to structure a Media
asset and belong to a dedicated Media Chapter
.
Authorizations:
path Parameters
chapterId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The media chapter resource identifier |
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/jsonrequired
Entry to add
title required | string <= 255 characters |
description | string |
sortNumber | integer used in order to enable sorting |
parentId | string or null <uuid> id of the parent |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||
required | object (Entry) | ||||||||||||||||||||
|
Request samples
- Payload
{- "title": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "parentId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "mediaChapterId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "documentId": "9c6ad2e4-a811-42e6-a864-2750655eb169",
- "parentId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "childs": [
- null
]
}
}
Update an entry
Update an entry of a Media Chapter
can be used to change the title of the entry
.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
chapterId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The media chapter resource identifier |
entryId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The entry resource identifier |
Request Body schema: application/jsonrequired
Entry to add
title required | string <= 255 characters |
description | string |
sortNumber | integer used in order to enable sorting |
parentId | string or null <uuid> id of the parent |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||
required | object (Entry) | ||||||||||||||||||||
|
Request samples
- Payload
{- "title": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "parentId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "mediaChapterId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "documentId": "9c6ad2e4-a811-42e6-a864-2750655eb169",
- "parentId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "childs": [
- null
]
}
}
Delete an entry
It will delete also all child entries
of the Media Chapter
.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
chapterId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The media chapter resource identifier |
entryId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The entry resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Link a section with an entry
This endpoint can be used to structure your Media
asset. The Section
to be linked should be created in the context of the Media Chapter
.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
chapterId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The media chapter resource identifier |
entryId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The entry resource identifier |
sectionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||
required | object (Entry) | ||||||||||||||||||||
|
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "mediaChapterId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "documentId": "9c6ad2e4-a811-42e6-a864-2750655eb169",
- "parentId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "childs": [
- null
]
}
}
Unlink a section from an entry
Removing a Section
from an entry will make that entry a navigational element of the Media Chapter
.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
chapterId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The media chapter resource identifier |
entryId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The entry resource identifier |
sectionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Each uploaded Media asset is analyzed automatically and its Metadata
is extracted.
This starts with basic Metadata
like file size, creation date etc. and goes far beyond.
It includes descriptive Metadata
like transcripts
; speakers
diarization and recognition; keywords
and entities
; and a
scene recognition, which is obtained applying various machine learning techniques.
Transcription in multiple languages is supported, you can retrieve a list of available languages
for your tenant and request multiple language transcripts
for an asset via extract metadata.
In particular, we also support the automatic cross-language transcription from any source language to English.
The speakers
in videos and audio assetss are automatically assigned representations, that can be labeled.
Then they are named automatically in the transcripts
and Subtitles if they are recognized
again in subsquently uploaded Media
assets.
The Metadata
is indexed and constitutes the basis for the deep-search functionality accross all
Media
types.
The Metadata
can be retrieved as structured-data for SEO enhancement of embedded Media
assets.
Retrieve metadata
This endpoint returns all derived Metadata
for a given Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
query Parameters
expand | string Enum: "keywords" "entities" "speakers" "scenes" "objects" "actions" "imageTexts" "videoTexts" "documentContent" Example: expand=entities,keywords Expand details in a response to get the related objects. A comma-separated list of objects to expand is required. All metadata can be expanded, except transcripts, please use own endpoint for that. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||
required | object (MetadataCollection) | ||||||||||||||||||||||||||
|
Response samples
- 200
- 404
- default
{- "status": "success",
- "data": {
- "language": "string",
- "status": "running",
- "actions": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39
}
]
}
]
}, - "entities": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39
}
], - "type": "person"
}
]
}, - "keywords": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "id": "foo:streamdiver.com/person/max_mustermann",
- "name": "string",
- "instances": [
- {
- "start": 0,
- "duration": 0
}
]
}
]
}, - "objects": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "id": "foo:streamdiver.com/person/max_mustermann",
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39,
- "box": {
- "x1": 0.1,
- "y1": 0.1,
- "x2": 0.1,
- "y2": 0.1
}
}
]
}
]
}, - "imageText": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "text": "Example",
- "confidence": 0.9,
- "box": {
- "x1": 0.1,
- "y1": 0.1,
- "x2": 0.1,
- "y2": 0.1
}
}
]
}, - "videoText": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "start": 2,
- "duration": 2,
- "frameIndex": 0,
- "lines": "word1word2",
- "title": "word1",
- "texts": [
- {
- "text": "Example",
- "confidence": 0.9,
- "box": {
- "x1": 0.1,
- "y1": 0.1,
- "x2": 0.1,
- "y2": 0.1
}
}
]
}
]
}, - "scenes": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "start": 10.56,
- "duration": 135.45
}
]
}, - "speakers": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39
}
]
}
]
}, - "transcripts": [
- {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "usedPreset": "d4dd87de-eb5c-40b3-b1fe-0b339a452512",
- "isActive": true
}
], - "documentContent": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "value": {
- "pages": [
- {
- "pageNumber": 0,
- "paragraphs": [
- "string"
], - "notes": [
- "string"
], - "annotations": [
- {
- "text": "string",
- "href": "string"
}
]
}
]
}
}, - "summary": "Summary of media asset"
}
}
Extract metadata
Extracts metadata (with optional presets) from the Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/jsonrequired
Configuration for extraction. Use the endpoint List metadata presets to fetch presets with their configuration and dependencies.
Array of objects (ExtractMetadataPreset) | |||||
Array
|
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||
required | object (MetadataCollection) | ||||||||||||||||||||||||||
|
Request samples
- Payload
{- "presets": [
- {
- "presetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "configuration": {
- "language": "de"
}
}
]
}
Response samples
- 200
- 404
- 422
- default
{- "status": "success",
- "data": {
- "language": "string",
- "status": "running",
- "actions": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39
}
]
}
]
}, - "entities": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39
}
], - "type": "person"
}
]
}, - "keywords": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "id": "foo:streamdiver.com/person/max_mustermann",
- "name": "string",
- "instances": [
- {
- "start": 0,
- "duration": 0
}
]
}
]
}, - "objects": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "id": "foo:streamdiver.com/person/max_mustermann",
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39,
- "box": {
- "x1": 0.1,
- "y1": 0.1,
- "x2": 0.1,
- "y2": 0.1
}
}
]
}
]
}, - "imageText": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "text": "Example",
- "confidence": 0.9,
- "box": {
- "x1": 0.1,
- "y1": 0.1,
- "x2": 0.1,
- "y2": 0.1
}
}
]
}, - "videoText": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "start": 2,
- "duration": 2,
- "frameIndex": 0,
- "lines": "word1word2",
- "title": "word1",
- "texts": [
- {
- "text": "Example",
- "confidence": 0.9,
- "box": {
- "x1": 0.1,
- "y1": 0.1,
- "x2": 0.1,
- "y2": 0.1
}
}
]
}
]
}, - "scenes": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "start": 10.56,
- "duration": 135.45
}
]
}, - "speakers": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "values": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39
}
]
}
]
}, - "transcripts": [
- {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "usedPreset": "d4dd87de-eb5c-40b3-b1fe-0b339a452512",
- "isActive": true
}
], - "documentContent": {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "value": {
- "pages": [
- {
- "pageNumber": 0,
- "paragraphs": [
- "string"
], - "notes": [
- "string"
], - "annotations": [
- {
- "text": "string",
- "href": "string"
}
]
}
]
}
}, - "summary": "Summary of media asset"
}
}
Delete metadata
Deletes a metadata for a given asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
List transcripts
The transcripts endpoint returns a list of transcripts associated with the given Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
query Parameters
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||
required | Array of objects (MetadataRecordNestedTranscripts) | ||||||||||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": [
- {
- "progress": 50,
- "status": "running",
- "errorCode": "none",
- "isErrorProbablyTransient": true,
- "updatedAt": "2020-09-16T23:20:50.52Z",
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "usedPreset": "d4dd87de-eb5c-40b3-b1fe-0b339a452512",
- "isActive": true
}
]
}
Retrieve a transcript
Retrieves a transcript of a Media
asset by its identifier. An ID is needed since there can be multiple Transcripts
for a single Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
transcriptId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The transcript resource identifier. |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||
required | object Metadata record for a | ||||||||||||||||
|
Response samples
- 200
- 404
- default
{- "status": "success",
- "data": {
- "paragraphs": [
- {
- "completed": true,
- "speaker": "A",
- "speakerId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "paragraphId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "text": "Freunde, Römer, Landsleute, leiht mir euer Ohr.",
- "words": [
- {
- "word": "freunde",
- "startTime": 1.6834,
- "duration": 0.1002,
- "confidence": 1
}
]
}
]
}
}
Update a transcript
Updates a particular Transcript
of a Media
asset. Partial updates are supported based on a subset of the Transcript
paragraphs.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
transcriptId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The transcript resource identifier. |
query Parameters
paragraphId required | string <uuid> Example: paragraphId=09a40e8f-f561-4274-9337-9f148ec8ef22 The ID of the paragraph which is to be updated. |
word | integer Default: 0 the index of the word inside the paragraph which will be edited |
merge | string Enum: "previous" "next" An optional parameter for |
Request Body schema: application/jsonrequired
Part of a Transcript
represented by a list of paragraphs.
Array of objects (MetadataTranscriptParagraph) | |||||||||||
Array
|
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||
required | object Metadata record for a | ||||||||||||||||
|
Request samples
- Payload
{- "paragraphs": [
- {
- "completed": true,
- "speaker": "A",
- "paragraphId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "text": "Freunde, Römer, Landsleute, leiht mir euer Ohr.",
- "words": [
- {
- "word": "freunde",
- "startTime": 1.6834,
- "duration": 0.1002,
- "confidence": 1
}
]
}
]
}
Response samples
- 201
- 404
- 422
- default
{- "status": "success",
- "data": {
- "paragraphs": [
- {
- "completed": true,
- "speaker": "A",
- "speakerId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "paragraphId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "text": "Freunde, Römer, Landsleute, leiht mir euer Ohr.",
- "words": [
- {
- "word": "freunde",
- "startTime": 1.6834,
- "duration": 0.1002,
- "confidence": 1
}
]
}
]
}
}
Delete a transcript
Deletes a Transcript
of a Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
transcriptId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The transcript resource identifier. |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 404
- default
{- "status": "success"
}
Update the transcript time alignment
Realign the word timestamps of a Transcript
and update the Transcript
with the word timestamps.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
transcriptId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The transcript resource identifier. |
Request Body schema: application/jsonrequired
Metadata Transcript Time Alignment part
Array of objects (MetadataUpdateTranscriptParagraph) | |||||||||
Array
|
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||
required | object Metadata record for a | ||||||||||||||||
|
Request samples
- Payload
{- "paragraphs": [
- {
- "speaker": "A",
- "paragraphId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "text": "Freunde, Römer, Landsleute, leiht mir euer Ohr.",
- "merge": "previous"
}
]
}
Response samples
- 201
- 404
- 422
- default
{- "status": "success",
- "data": {
- "paragraphs": [
- {
- "completed": true,
- "speaker": "A",
- "speakerId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "paragraphId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "text": "Freunde, Römer, Landsleute, leiht mir euer Ohr.",
- "words": [
- {
- "word": "freunde",
- "startTime": 1.6834,
- "duration": 0.1002,
- "confidence": 1
}
]
}
]
}
}
Activate a transcript
Adds the isActive
attribute to the specified Transcript
and removes it from all other Transcripts
of the given Media
asset.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
transcriptId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The transcript resource identifier. |
Responses
Response samples
- 404
- 422
- default
{- "status": "error",
- "message": "Related error message"
}
Update a speaker in a transcript
Update a speaker in a Transcript
by assigning a different speaker to the paragraph
. This informs the system that the recognition is incorrect and that the representation of the speaker should be updated.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
transcriptId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The transcript resource identifier. |
Request Body schema: application/jsonrequired
information to update a speaker in a transcript
oldSpeakerId | string <uuid> (DefaultIdUpdate) The object identifier. |
newSpeakerId | string <uuid> (DefaultIdUpdate) The object identifier. |
newSpeakerName | string or null New speaker name, if an update is needed. New transcripts will automatically use the new name for the speaker. Null if existing name should be used. |
paragraphId | string or null <uuid> ID of paragraph where speaker should be updated. Null if it whole transcript should be affected. Setting name for a speaker is made for the whole transcript, so this parameter will be ignored. |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||
required | object Metadata record for a | ||||||||||||||||
|
Request samples
- Payload
{- "oldSpeakerId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "newSpeakerId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "newSpeakerName": "string",
- "paragraphId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
Response samples
- 200
- 404
- 422
- default
{- "status": "success",
- "data": {
- "paragraphs": [
- {
- "completed": true,
- "speaker": "A",
- "speakerId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "paragraphId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "text": "Freunde, Römer, Landsleute, leiht mir euer Ohr.",
- "words": [
- {
- "word": "freunde",
- "startTime": 1.6834,
- "duration": 0.1002,
- "confidence": 1
}
]
}
]
}
}
Assign a transcript as subtitle
Derives subtitles from the Transcript
and assignes them. The ISO-639 languageModel
code of the Transcript
will be automatically mapped to the language name.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
transcriptId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The transcript resource identifier. |
Request Body schema: application/json
Assign transcript as subtitles
includeSpeakerLabel | boolean If true the speaker label will be added to subtitles each time speaker changes. Default false. |
Responses
Request samples
- Payload
{- "includeSpeakerLabel": true
}
Response samples
- 404
- 422
- default
{- "status": "error",
- "message": "Related error message"
}
Download a transcript
Download a transcript in the specified format. Available formats are JSON
, TXT
, SRT
, WebVTT
and DOCX
(Microsoft Word). A template can be created and applied to the DOCX
format export.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
transcriptId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The transcript resource identifier. |
query Parameters
transcriptDownloadType required | string (TranscriptDownloadType) Enum: "json" "txt" "srt" "vtt" "docx" File format in which |
omitSpeakerLabels | boolean Default: false Specifies if speaker labels should be omitted from the exports (default is that speaker labels are included). |
templateDesignSettingsId | string or null <uuid> (NullableResourceId) Example: templateDesignSettingsId=7c9e6679-7425-40de-944b-e07fc1f90ae7 The template design settings identifier for the |
Responses
Response samples
- 404
- default
{- "status": "error",
- "message": "Related error message"
}
The Subtitles
can either be directly created from the automatic transcription or by
uploading a subtitle file independently. We support SRT or WebVTT for subtitle uploads.
You can download the Subtitles
or Transcript
in different formats using: Download a transcript
Get subtitles
Get subtitles for a Media
asset in a specific language. The subtitles are returned in WebVTT format. The available languages can be retrieved from the Media
asset itself.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
languageCode required |
query Parameters
start | integer <int32> >= 0 Default: 0 Example: start=0 Start for subtitle text in milliseconds. |
duration | integer <int32> >= 0 Example: duration=5600 Duration for subtitle in milliseconds. Defaults to the entire subtitle length. |
Responses
Response Schema: text/vtt
Response samples
- 404
- default
{- "status": "error",
- "message": "Related error message"
}
Create subtitles
Add or replace subtitles for given language
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
languageCode required |
Request Body schema: multipart/form-datarequired
Subtitle text file with SRT or WebVTT format.
file | string <binary> |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||
required | object | ||||||
|
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||
required | object | ||||||
|
Response samples
- 200
- 201
- 404
- 422
- default
{- "status": "success",
- "data": {
- "url": "{{ base_url }}/media/91194f15-6dd1-4a18-aa28-81f70d526045/subtitles/en",
- "languageCode": "en",
- "displayName": "English"
}
}
Delete a subtitle
Delete the subtitle for the given language.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
languageCode required |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 404
- default
{- "status": "success"
}
Channels
are used to organize Media assets and to manage their accessibility.
Also Media
search results can be filtered according to particular Channels
.
Further, you can customize the Channel's
appearance via Designs.
You can make Media
assets public
by adjusting the visibility
of the Channel
the assets are assigned to.
The Media
assets will then be available in the Streamdiver Public Portal if your subscription includes it.
Further, if you are using iframes
embeddings based on the Streamdiver Public Portal, the Channel
Designs
can be applied and customized for your public
and shared
content.
The shared
visibility
indicates that the Media
asset can be publicly accessed based on its URL, but will be hidden from the Streamdiver Public Portal.
When using the Streamdiver API in combination with the Streamdiver Center it is important to note
that two Channel
types are distinguished: user
and group
Channels
.
The user
Channel
has reduced configuration options and is meant only for content exclusively
managed by the particular user.
A Channel
has a collection of members, which can be used to grant access and permissions. The members
are assigned together with roles representing the desired access/usage permissions.
List channels
Retrieve a list of all Channels
within the current authorization scope.
Authorizations:
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
expand | string Example: expand=media Expand details in a response to get the related objects. A comma-separated list of objects to expand is required. Currently supported: media. |
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
sort | string Example: sort=name or name:desc The sort property name and order (add ":desc" for descending). Properties from response object can be used, which are simple (non-complex) properties. Only a single field is supported. |
compressed | boolean Default: false Example: compressed=true Compress channel to simplified model. Skips pagination. |
Responses
X-Total-Count | integer Total count of items |
X-Group-Count | integer Total count of Channels of type Group |
X-User-Count | integer Total count of Channels of type User |
X-Interactive-Count | integer Total count of Channels of type Interactive |
X-Public-Count | integer Total count of Channels of visibility Public |
X-Private-Count | integer Total number of private group |
X-Shared-Count | integer Total number of shared group |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | Array of objects (Channel) | ||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
]
}
Create a channel
Create a new Channel
of type group
. The creator of the Channel
is automatically a Channel
member with role Channel Owner
.
Authorizations:
Request Body schema: application/jsonrequired
Create channel
name required | string <= 255 characters |
description | string |
manualSort | integer >= -1 |
downloadEnabled | boolean When false any |
publicPortalSharingEnabled | boolean If disabled, you can not share the |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | object (Channel) | ||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true
}
Response samples
- 201
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
}
Retrieve a channel
Retrieve a Channel
by the channelId
.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | object (Channel) | ||||||||||||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
}
Update a channel
Updates certain properties of a Channel
. For adjusting the Channel
visibility to refer to the Update channel visibility endpoint.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Request Body schema: application/json
Update channel
name | string <= 255 characters |
description | string |
manualSort | integer >= -1 |
downloadEnabled | boolean When false any |
publicPortalSharingEnabled | boolean If disabled, you can not share the |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | object (Channel) | ||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true
}
Response samples
- 200
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
}
Delete a channel
Deletes a Channel
and its associations to previously assigned Media
assets.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Update channel visibility
Update a Channel
's visibility by the channelId
. With the role Publisher
or higher, it is possible to set a Channel
's visibility to public
. In combination with the Streamdiver Public Portal, a public
Channel
will then be listed in the portal, and becomes publicly accessible. Channels
with visibility shared
will be hidden from the portal, but can be accessed by anyone with the Channel
's share link.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Request Body schema: application/json
New channel's visibility
visibility required | string (ChannelVisibility) Enum: "private" "public" "shared" |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | object (Channel) | ||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "visibility": "private"
}
Response samples
- 200
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
}
Feature channel
Featured Channel
will be on top of sorting. The endpoint toggles feature state, optionally desired state can be forced with query parameter.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
query Parameters
force | boolean or null Example: force=true Force new state of toggled entity. |
Responses
Response samples
- 404
- 422
{- "status": "error",
- "message": "Related error message"
}
Create channel members
Assign a new member of type user
or usergroup
to the Channel
.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Request Body schema: application/jsonrequired
Channel members to add
id required | string <uuid> User or user group id |
type required | string (MemberType) Enum: "user" "usergroup" |
role | string (ChannelMemberRole) Enum: "consumer" "content-creator" "channel-owner" |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||
required | Array of objects (ChannelMember) | ||||||||||||||
Array
|
Request samples
- Payload
[- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "type": "usergroup",
- "role": "consumer"
}
]
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "displayName": "Group 4711",
- "type": "usergroup",
- "role": "consumer",
- "permissions": [
- "viewChannel"
], - "userCount": 0
}
]
}
List channel members
List all members and their roles for a Channel
.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
query Parameters
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||
required | Array of objects (ChannelMember) | ||||||||||||||
Array
|
Response samples
- 200
- 404
- default
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "displayName": "Group 4711",
- "type": "usergroup",
- "role": "consumer",
- "permissions": [
- "viewChannel"
], - "userCount": 0
}
]
}
Retrieve a channel member
Retrieves a Channel
member by its identifier.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
memberId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The member resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||
required | object (ChannelMember) | ||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "displayName": "Group 4711",
- "type": "usergroup",
- "role": "consumer",
- "permissions": [
- "viewChannel"
], - "userCount": 0
}
}
Update a channel member
Update the properties of a Channel
member.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
memberId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The member resource identifier |
Request Body schema: application/jsonrequired
Channel member to update
role | string (ChannelMemberRole) Enum: "consumer" "content-creator" "channel-owner" |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||
required | object (ChannelMember) | ||||||||||||||
|
Request samples
- Payload
{- "role": "consumer"
}
Response samples
- 201
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "displayName": "Group 4711",
- "type": "usergroup",
- "role": "consumer",
- "permissions": [
- "viewChannel"
], - "userCount": 0
}
}
Delete a channel member
Remove the assignmend of a member from the Channel
.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
memberId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The member resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Assign media assets to a channel
Bulk operation to assign multiple Media
assets to a Channel
with one request.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Request Body schema: application/jsonrequired
List of MediaAssetIds
mediaAssetIds | Array of strings <uuid> [ items <uuid > ] |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | object (Channel) | ||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "mediaAssetIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
]
}
Response samples
- 200
- 404
- 422
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
}
Remove media assets from a channel
Bulk operation to remove multiple Media
assets from a Channel
with one request. Note that if the asset is in no other Channel
, it is assigned back to the user
Channel
of its creator.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Request Body schema: application/jsonrequired
List of MediaAssetIds
mediaAssetIds | Array of strings <uuid> [ items <uuid > ] |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | object (Channel) | ||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "mediaAssetIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
]
}
Response samples
- 200
- 404
- 422
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
}
Feature a media asset in channel
Featured Media
asset will be on top of sorting inside the Channel
. The endpoint toggles feature state, optionally desired state can be forced with query parameter.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
query Parameters
force | boolean or null Example: force=true Force new state of toggled entity. |
Responses
Response samples
- 404
{- "status": "error",
- "message": "Related error message"
}
Retrieve the RSS feed import configuration
This endpoint returns the RSS feed import setup for the Channel
.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Responses
Response Schema: application/json
uri | string RSS Feed URI to import |
isMonitoringEnabled | boolean Default: true Indicates if after initial import feed uri should be monitored for changes and new assets should be automatically imported. |
startDate | string or null <date-time> Indicates start date-time from when assets should be imported from the feed, if provided. |
endDate | string or null <date-time> Indicates end date-time from when assets should be imported from the feed, if provided. |
metadataLanguage | string or null Language used to generate the |
Response samples
- 200
- 404
- 422
- default
{- "isMonitoringEnabled": true,
- "startDate": "2020-04-12T23:20:50.52Z",
- "endDate": "2020-04-12T23:20:50.52Z",
- "metadataLanguage": "en"
}
Create an RSS feed import to the channel
Configure an RSS feed import for automatically importing Media
assets from the external feed to the specified Channel
. You can specify a time range for the import and optionally enable monitoring for importing new assets in the future.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Request Body schema: application/jsonrequired
Feed to import
uri | string RSS Feed URI to import |
isMonitoringEnabled | boolean Default: true Indicates if after initial import feed uri should be monitored for changes and new assets should be automatically imported. |
startDate | string or null <date-time> Indicates start date-time from when assets should be imported from the feed, if provided. |
endDate | string or null <date-time> Indicates end date-time from when assets should be imported from the feed, if provided. |
metadataLanguage | string or null Language used to generate the |
Responses
Response Schema: application/json
uri | string RSS Feed URI to import |
isMonitoringEnabled | boolean Default: true Indicates if after initial import feed uri should be monitored for changes and new assets should be automatically imported. |
startDate | string or null <date-time> Indicates start date-time from when assets should be imported from the feed, if provided. |
endDate | string or null <date-time> Indicates end date-time from when assets should be imported from the feed, if provided. |
metadataLanguage | string or null Language used to generate the |
Request samples
- Payload
{- "isMonitoringEnabled": true,
- "startDate": "2020-04-12T23:20:50.52Z",
- "endDate": "2020-04-12T23:20:50.52Z",
- "metadataLanguage": "en"
}
Response samples
- 200
- 404
- 422
- default
{- "isMonitoringEnabled": true,
- "startDate": "2020-04-12T23:20:50.52Z",
- "endDate": "2020-04-12T23:20:50.52Z",
- "metadataLanguage": "en"
}
Update an RSS feed import
Updates the RSS feed import for the Channel
, you can change the time range and monitoring settings.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Request Body schema: application/jsonrequired
Updates on feed import
isMonitoringEnabled | boolean Default: true Indicates if after initial import feed uri should be monitored for changes and new assets should be automatically imported. |
startDate | string or null <date-time> Indicates start date-time from when assets should be imported from the feed, if provided |
endDate | string or null <date-time> Indicates end date-time from when assets should be imported from the feed, if provided |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Request samples
- Payload
{- "isMonitoringEnabled": true,
- "startDate": "2020-04-12T23:20:50.52Z",
- "endDate": "2020-04-12T23:20:50.52Z"
}
Response samples
- 200
- 404
- 422
- default
{- "status": "success"
}
Delete an RSS feed setup
Deletes a feed without deleting the Media assets which are already imported in the channel.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Retrieve a thumbnail
Retrieve the thumbnail of the Channel
.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||
required | object | ||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "height": 640,
- "width": 480,
}
}
Update thumbnail
Updates the thumbnail for the selected Channel
.
Allowed image formats:
image/jpeg
image/png
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Request Body schema: multipart/form-datarequired
file | string <binary> |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||
required | object | ||||||
|
Response samples
- 200
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "height": 640,
- "width": 480,
}
}
Delete thumbnail
Delete the thumbnail from the Channel
. The default thumbnail will then be used, which can be configured in the tenant settings.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Assign design settings to channel
Use this endpoint to assign a previously created design template to a Channel
. The design template will be applied to the Channel
and will be used to render the Channel
appearance including the player. For more details refer to the create a channel design template endpoint.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
designSettingsId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 404
- 422
- default
{- "status": "success"
}
Move livestreams into channel
Bulk operation to assign many Livestreams
to the Channel
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Request Body schema: application/jsonrequired
List of Livestream ids
livestreamIds | Array of strings <uuid> (DefaultId) [ items <uuid > ] |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | object (Channel) | ||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "livestreamIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
]
}
Response samples
- 200
- 404
- 422
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
}
Remove livestreams from channel
Bulk operation to remove many Livestreams
assets from the Channel
.
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Request Body schema: application/jsonrequired
List of Livestream ids
livestreamIds | Array of strings <uuid> (DefaultId) [ items <uuid > ] |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | object (Channel) | ||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "livestreamIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
]
}
Response samples
- 200
- 404
- 422
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
}
Retrieve private user channel
Retrieves the private user channel of the current user
Authorizations:
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | object (Channel) | ||||||||||||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
}
List public channels
This endpoint returns a list of all public
Channels
of the tenant.
Authorizations:
path Parameters
tenantShortcode required | string Unique shortcode of a tenant - equals to realm name in Keycloak |
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
sort | string Example: sort=name or name:desc The sort property name and order (add ":desc" for descending). Properties from response object can be used, which are simple (non-complex) properties. Only a single field is supported. |
expand | string Example: expand=media Expand details in a response to get the related objects. A comma-separated list of objects to expand is required. Currently supported: media. |
compressed | boolean Default: false Example: compressed=true Compress channel to simplified model. Skips pagination. |
Responses
X-Total-Count | integer Total count of items |
X-Group-Count | integer Total count of Channels of type Group |
X-User-Count | integer Total count of Channels of type User |
X-Interactive-Count | integer Total count of Channels of type Interactive |
X-Public-Count | integer Total count of Channels of visibility Public |
X-Private-Count | integer Total number of private group |
X-Shared-Count | integer Total number of shared group |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | Array of objects (Channel) | ||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 404
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
]
}
Tags
serve as labels that categorize Media
assets based on themes, subjects, events or any other relevant topics.
The usage of Tags
enhances discoverability of your asset library. They enable users to filter and locate specific content quickly.
In essence, Tags
help to maintain an organized and efficient asset management process, ensuring that assets are both accessible and easy to categorize.
While Channels are designed to manage permission (e.g. search scopes) in addition to organizing assets,
Tags
are meant for categorization only and complement the Channels
for more granularity in categorization.
List tags
This endpoint returns a paginated list of all Tags
.
Authorizations:
query Parameters
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||
required | Array of objects (Tag) | ||||||||
Array
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "ceruleanblue",
- "popularity": 123
}
]
}
Create a tag
Add a new tag that can then be used to label Media
assets.
Authorizations:
Request Body schema: application/jsonrequired
The Tag
name must not contain special characters or whitespaces.
name | string <= 255 characters Tag name |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||
required | object (Tag)
| ||||||||
|
Request samples
- Payload
{- "name": "ceruleanblue"
}
Response samples
- 201
- 401
- 403
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "ceruleanblue",
- "popularity": 123
}
}
Retrieve a tag
Retrieves a Tag
by its identifier.
Authorizations:
path Parameters
tagId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||
required | object (Tag)
| ||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "ceruleanblue",
- "popularity": 123
}
}
Delete a tag
Deletes a given Tag
and all its associations with Media
assets.
Authorizations:
path Parameters
tagId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Update a tag
Change the name of a Tag
.
Authorizations:
path Parameters
tagId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/jsonrequired
The Tag
name must not contain special characters or whitespaces.
name | string <= 255 characters Tag name |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||
required | object (Tag)
| ||||||||
|
Request samples
- Payload
{- "name": "ceruleanblue"
}
Response samples
- 200
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "ceruleanblue",
- "popularity": 123
}
}
The Streamdiver API is designed to facilite the efficient upload of large media files.
Our asset storage is S3-compatible, so Uploads
can be performed directly with S3 client libraries or supported tools, ensuring reliable and performant file transfers.
As a simpler alternative, you can upload files directly using an HTTP PUT
request. However, for more reliable uploads—especially when dealing with large files (multiple gigabytes) or in environments with slow or unstable networks—we strongly recommend using an S3 client. The S3 client supports multipart uploads, automatic retries, and resumable uploads, making it a more robust solution for handling potential network interruptions or large file transfers.
The Upload
process is split into three steps, first create an upload, perform the upload using the selected procedure (multipart using an S3 client, or single PUT
request), then complete the upload, which triggers further processing for optimized playout and metadata extraction (e.g. automatic transcription).
List uploads
The Uploads
endpoint returns a list of all uploads within the current authorization scope.
Authorizations:
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||
required | Array of objects (Upload) | ||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "fileName": "string",
- "fileSize": "string",
- "status": "waiting",
- "timeout": 7200,
- "duplicateInformation": {
- "isDuplicate": true,
- "duplicateInformationMessage": "A file with this name was uploaded on 20.12.2024 by user max.mustermann",
- "duplicateAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z",
- "type": "video",
- "status": "ready",
- "error": {
- "type": "ingestError",
- "message": "string"
}, - "file": {
- "name": "my_video.mov",
- "size": 123456789,
- "mimeType": "video/quicktime",
- "hash": "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
- "duration": "10:20:05",
- "durationInMilliseconds": 1596,
- "aspectRatio": "16:9"
}, - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "usage": {
- "views": 100,
- "downloads": 3
}, - "feedback": {
- "average": 3,
- "user": 3
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
], - "visibility": "private",
- "shareLink": {
- "url": "https://cdn.streamdiver.com/vod-tenant/_definst_/amlst:2021/03/d2f3f6a0-a186-4156-b784-248de16e9e2a/playlist.m3u8\n url:"
}, - "ingestInformation": {
- "ingestJobStatus": "initial",
- "progress": 100,
- "errorMessage": "Invalid source file, unaccepted video codec .FLV"
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
]
}
}, - "assetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "transcriptLanguageCode": "de-v2",
- "input": {
- "bucket": "mybucket",
- "objectKey": "videos/2022/12/65e6adcf-175a-400d-8a0c-f20a099157ce.mp4",
- "credentials": {
- "accessKey": "6N2BALX7ELO827DXS3GK",
- "secretKey": "23JKqAD+um8ObHqzfIh+bfqwG9V8qs9tFY6MqeFR+xxx",
- "sessionToken": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI2TjJCQUxYN0VMTzgyN0RYUzNHSyIsImFjciI6IjAiLCJhdWQiOiJhY2NvdW50IiwiYXV0aF90aW1l...ZHgwdRnsp0gFdwChb7VlbPs-Gr_RNUz9EV7TggCD59qjCFAKjNrVHfOSVkKvYEMe0PvwfRKjnJl3A_mBA"
}, - "type": "s3-multipart"
}, - "credentials": {
- "accessKey": "6N2BALX7ELO827DXS3GK",
- "secretKey": "23JKqAD+um8ObHqzfIh+bfqwG9V8qs9tFY6MqeFR+xxx",
- "sessionToken": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI2TjJCQUxYN0VMTzgyN0RYUzNHSyIsImFjciI6IjAiLCJhdWQiOiJhY2NvdW50IiwiYXV0aF90aW1l...ZHgwdRnsp0gFdwChb7VlbPs-Gr_RNUz9EV7TggCD59qjCFAKjNrVHfOSVkKvYEMe0PvwfRKjnJl3A_mBA"
}, - "bucket": "mybucket",
- "objectKey": "videos/2022/12/65e6adcf-175a-400d-8a0c-f20a099157ce.mp4"
}
]
}
Create an upload
Creates an Upload
of a new Media asset. The endpoint returns all information to perform the upload of your source file via chosen input type
.
The parameter transcriptLanguageCode
determines which speech-to-text language model will be applied for the transcription after a successful upload. You can retrieve a list of transcription languages available for your tenant separately.
Authorizations:
Request Body schema: application/jsonrequired
Upload
fileName required | string <= 255 characters The name of the file (including its file extension) to be uploaded. |
fileSize | string or null The size of the file to be uploaded in bytes. Must be a non-floating point number. |
transcriptLanguageCode | string <= 255 characters The speech-to-text language model to be applied for the transcription. |
type | string Default: "s3-multipart" Enum: "s3-multipart" "put" The input type for this upload. |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||
required | object (Upload) The default object structure | ||||||||||||||||||||||||||
|
Request samples
- Payload
{- "fileName": "string",
- "fileSize": "string",
- "transcriptLanguageCode": "de-v2",
- "type": "s3-multipart"
}
Response samples
- 201
- 401
- 403
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "fileName": "string",
- "fileSize": "string",
- "status": "waiting",
- "timeout": 7200,
- "duplicateInformation": {
- "isDuplicate": true,
- "duplicateInformationMessage": "A file with this name was uploaded on 20.12.2024 by user max.mustermann",
- "duplicateAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z",
- "type": "video",
- "status": "ready",
- "error": {
- "type": "ingestError",
- "message": "string"
}, - "file": {
- "name": "my_video.mov",
- "size": 123456789,
- "mimeType": "video/quicktime",
- "hash": "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
- "duration": "10:20:05",
- "durationInMilliseconds": 1596,
- "aspectRatio": "16:9"
}, - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "usage": {
- "views": 100,
- "downloads": 3
}, - "feedback": {
- "average": 3,
- "user": 3
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
], - "visibility": "private",
- "shareLink": {
- "url": "https://cdn.streamdiver.com/vod-tenant/_definst_/amlst:2021/03/d2f3f6a0-a186-4156-b784-248de16e9e2a/playlist.m3u8\n url:"
}, - "ingestInformation": {
- "ingestJobStatus": "initial",
- "progress": 100,
- "errorMessage": "Invalid source file, unaccepted video codec .FLV"
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
]
}
}, - "assetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "transcriptLanguageCode": "de-v2",
- "input": {
- "bucket": "mybucket",
- "objectKey": "videos/2022/12/65e6adcf-175a-400d-8a0c-f20a099157ce.mp4",
- "credentials": {
- "accessKey": "6N2BALX7ELO827DXS3GK",
- "secretKey": "23JKqAD+um8ObHqzfIh+bfqwG9V8qs9tFY6MqeFR+xxx",
- "sessionToken": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI2TjJCQUxYN0VMTzgyN0RYUzNHSyIsImFjciI6IjAiLCJhdWQiOiJhY2NvdW50IiwiYXV0aF90aW1l...ZHgwdRnsp0gFdwChb7VlbPs-Gr_RNUz9EV7TggCD59qjCFAKjNrVHfOSVkKvYEMe0PvwfRKjnJl3A_mBA"
}, - "type": "s3-multipart"
}, - "credentials": {
- "accessKey": "6N2BALX7ELO827DXS3GK",
- "secretKey": "23JKqAD+um8ObHqzfIh+bfqwG9V8qs9tFY6MqeFR+xxx",
- "sessionToken": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI2TjJCQUxYN0VMTzgyN0RYUzNHSyIsImFjciI6IjAiLCJhdWQiOiJhY2NvdW50IiwiYXV0aF90aW1l...ZHgwdRnsp0gFdwChb7VlbPs-Gr_RNUz9EV7TggCD59qjCFAKjNrVHfOSVkKvYEMe0PvwfRKjnJl3A_mBA"
}, - "bucket": "mybucket",
- "objectKey": "videos/2022/12/65e6adcf-175a-400d-8a0c-f20a099157ce.mp4"
}
}
Retrieve an upload
Retrieve a specific Upload
by its identifier.
Authorizations:
path Parameters
uploadId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The upload resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||
required | object (Upload) The default object structure | ||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "fileName": "string",
- "fileSize": "string",
- "status": "waiting",
- "timeout": 7200,
- "duplicateInformation": {
- "isDuplicate": true,
- "duplicateInformationMessage": "A file with this name was uploaded on 20.12.2024 by user max.mustermann",
- "duplicateAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z",
- "type": "video",
- "status": "ready",
- "error": {
- "type": "ingestError",
- "message": "string"
}, - "file": {
- "name": "my_video.mov",
- "size": 123456789,
- "mimeType": "video/quicktime",
- "hash": "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
- "duration": "10:20:05",
- "durationInMilliseconds": 1596,
- "aspectRatio": "16:9"
}, - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "usage": {
- "views": 100,
- "downloads": 3
}, - "feedback": {
- "average": 3,
- "user": 3
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
], - "visibility": "private",
- "shareLink": {
- "url": "https://cdn.streamdiver.com/vod-tenant/_definst_/amlst:2021/03/d2f3f6a0-a186-4156-b784-248de16e9e2a/playlist.m3u8\n url:"
}, - "ingestInformation": {
- "ingestJobStatus": "initial",
- "progress": 100,
- "errorMessage": "Invalid source file, unaccepted video codec .FLV"
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
]
}
}, - "assetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "transcriptLanguageCode": "de-v2",
- "input": {
- "bucket": "mybucket",
- "objectKey": "videos/2022/12/65e6adcf-175a-400d-8a0c-f20a099157ce.mp4",
- "credentials": {
- "accessKey": "6N2BALX7ELO827DXS3GK",
- "secretKey": "23JKqAD+um8ObHqzfIh+bfqwG9V8qs9tFY6MqeFR+xxx",
- "sessionToken": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI2TjJCQUxYN0VMTzgyN0RYUzNHSyIsImFjciI6IjAiLCJhdWQiOiJhY2NvdW50IiwiYXV0aF90aW1l...ZHgwdRnsp0gFdwChb7VlbPs-Gr_RNUz9EV7TggCD59qjCFAKjNrVHfOSVkKvYEMe0PvwfRKjnJl3A_mBA"
}, - "type": "s3-multipart"
}, - "credentials": {
- "accessKey": "6N2BALX7ELO827DXS3GK",
- "secretKey": "23JKqAD+um8ObHqzfIh+bfqwG9V8qs9tFY6MqeFR+xxx",
- "sessionToken": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI2TjJCQUxYN0VMTzgyN0RYUzNHSyIsImFjciI6IjAiLCJhdWQiOiJhY2NvdW50IiwiYXV0aF90aW1l...ZHgwdRnsp0gFdwChb7VlbPs-Gr_RNUz9EV7TggCD59qjCFAKjNrVHfOSVkKvYEMe0PvwfRKjnJl3A_mBA"
}, - "bucket": "mybucket",
- "objectKey": "videos/2022/12/65e6adcf-175a-400d-8a0c-f20a099157ce.mp4"
}
}
Delete an upload
Delete a specific Upload
by its identifier. An Upload
can be deleted once it is completed, the related files will then be deleted from the storage.
Authorizations:
path Parameters
uploadId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The upload resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Cancel an upload
Marks an upload as cancelled, the related files will be deleted from the storage. The renditions and metadata extraction are not scheduled.
Authorizations:
path Parameters
uploadId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The upload resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||
required | object (Upload) The default object structure | ||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "fileName": "string",
- "fileSize": "string",
- "status": "waiting",
- "timeout": 7200,
- "duplicateInformation": {
- "isDuplicate": true,
- "duplicateInformationMessage": "A file with this name was uploaded on 20.12.2024 by user max.mustermann",
- "duplicateAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z",
- "type": "video",
- "status": "ready",
- "error": {
- "type": "ingestError",
- "message": "string"
}, - "file": {
- "name": "my_video.mov",
- "size": 123456789,
- "mimeType": "video/quicktime",
- "hash": "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
- "duration": "10:20:05",
- "durationInMilliseconds": 1596,
- "aspectRatio": "16:9"
}, - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "usage": {
- "views": 100,
- "downloads": 3
}, - "feedback": {
- "average": 3,
- "user": 3
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
], - "visibility": "private",
- "shareLink": {
- "url": "https://cdn.streamdiver.com/vod-tenant/_definst_/amlst:2021/03/d2f3f6a0-a186-4156-b784-248de16e9e2a/playlist.m3u8\n url:"
}, - "ingestInformation": {
- "ingestJobStatus": "initial",
- "progress": 100,
- "errorMessage": "Invalid source file, unaccepted video codec .FLV"
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
]
}
}, - "assetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "transcriptLanguageCode": "de-v2",
- "input": {
- "bucket": "mybucket",
- "objectKey": "videos/2022/12/65e6adcf-175a-400d-8a0c-f20a099157ce.mp4",
- "credentials": {
- "accessKey": "6N2BALX7ELO827DXS3GK",
- "secretKey": "23JKqAD+um8ObHqzfIh+bfqwG9V8qs9tFY6MqeFR+xxx",
- "sessionToken": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI2TjJCQUxYN0VMTzgyN0RYUzNHSyIsImFjciI6IjAiLCJhdWQiOiJhY2NvdW50IiwiYXV0aF90aW1l...ZHgwdRnsp0gFdwChb7VlbPs-Gr_RNUz9EV7TggCD59qjCFAKjNrVHfOSVkKvYEMe0PvwfRKjnJl3A_mBA"
}, - "type": "s3-multipart"
}, - "credentials": {
- "accessKey": "6N2BALX7ELO827DXS3GK",
- "secretKey": "23JKqAD+um8ObHqzfIh+bfqwG9V8qs9tFY6MqeFR+xxx",
- "sessionToken": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI2TjJCQUxYN0VMTzgyN0RYUzNHSyIsImFjciI6IjAiLCJhdWQiOiJhY2NvdW50IiwiYXV0aF90aW1l...ZHgwdRnsp0gFdwChb7VlbPs-Gr_RNUz9EV7TggCD59qjCFAKjNrVHfOSVkKvYEMe0PvwfRKjnJl3A_mBA"
}, - "bucket": "mybucket",
- "objectKey": "videos/2022/12/65e6adcf-175a-400d-8a0c-f20a099157ce.mp4"
}
}
Complete an upload
Marks an upload as completed. A new Media
asset will be created and the transcoding and metadata extraction are scheduled. If no channelId
is provided, the Media
asset is assigned to the default Channel
. If duplicate check is enabled and a duplicate file (based on the file-hash) was uploaded, it will return 409 Conflict
Authorizations:
path Parameters
uploadId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The upload resource identifier |
query Parameters
channelId | string <uuid> (RessourceId) Example: channelId=7c9e6679-7425-40de-944b-e07fc1f90ae7 The id of a Channel of type group where the upload should be moved |
ignoreDuplicates | boolean Default: false If true, the upload will completed also if there is a duplicate Asset in the tenant |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||
required | object (Upload) The default object structure | ||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
- 409
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "fileName": "string",
- "fileSize": "string",
- "status": "waiting",
- "timeout": 7200,
- "duplicateInformation": {
- "isDuplicate": true,
- "duplicateInformationMessage": "A file with this name was uploaded on 20.12.2024 by user max.mustermann",
- "duplicateAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z",
- "type": "video",
- "status": "ready",
- "error": {
- "type": "ingestError",
- "message": "string"
}, - "file": {
- "name": "my_video.mov",
- "size": 123456789,
- "mimeType": "video/quicktime",
- "hash": "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
- "duration": "10:20:05",
- "durationInMilliseconds": 1596,
- "aspectRatio": "16:9"
}, - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "usage": {
- "views": 100,
- "downloads": 3
}, - "feedback": {
- "average": 3,
- "user": 3
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
], - "visibility": "private",
- "shareLink": {
- "url": "https://cdn.streamdiver.com/vod-tenant/_definst_/amlst:2021/03/d2f3f6a0-a186-4156-b784-248de16e9e2a/playlist.m3u8\n url:"
}, - "ingestInformation": {
- "ingestJobStatus": "initial",
- "progress": 100,
- "errorMessage": "Invalid source file, unaccepted video codec .FLV"
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
]
}
}, - "assetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "transcriptLanguageCode": "de-v2",
- "input": {
- "bucket": "mybucket",
- "objectKey": "videos/2022/12/65e6adcf-175a-400d-8a0c-f20a099157ce.mp4",
- "credentials": {
- "accessKey": "6N2BALX7ELO827DXS3GK",
- "secretKey": "23JKqAD+um8ObHqzfIh+bfqwG9V8qs9tFY6MqeFR+xxx",
- "sessionToken": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI2TjJCQUxYN0VMTzgyN0RYUzNHSyIsImFjciI6IjAiLCJhdWQiOiJhY2NvdW50IiwiYXV0aF90aW1l...ZHgwdRnsp0gFdwChb7VlbPs-Gr_RNUz9EV7TggCD59qjCFAKjNrVHfOSVkKvYEMe0PvwfRKjnJl3A_mBA"
}, - "type": "s3-multipart"
}, - "credentials": {
- "accessKey": "6N2BALX7ELO827DXS3GK",
- "secretKey": "23JKqAD+um8ObHqzfIh+bfqwG9V8qs9tFY6MqeFR+xxx",
- "sessionToken": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI2TjJCQUxYN0VMTzgyN0RYUzNHSyIsImFjciI6IjAiLCJhdWQiOiJhY2NvdW50IiwiYXV0aF90aW1l...ZHgwdRnsp0gFdwChb7VlbPs-Gr_RNUz9EV7TggCD59qjCFAKjNrVHfOSVkKvYEMe0PvwfRKjnJl3A_mBA"
}, - "bucket": "mybucket",
- "objectKey": "videos/2022/12/65e6adcf-175a-400d-8a0c-f20a099157ce.mp4"
}
}
List file imports
List all Media
asset import tasks within the current authorization scope.
Authorizations:
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||
Array of objects (FilesImport) | |||||||||||
Array
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "files": [
- {
- "name": "string",
- "filename": "string",
- "transcriptLanguageCode": "de-v2",
- "status": "None",
- "uploadId": "ef523ba8-509e-47af-8e2c-5fa751596497",
- "errorMessages": [
- "string"
]
}
], - "channel": "39baf1f8-38b9-40e9-9ce8-edfb76f3c0b7",
- "status": "queued"
}
]
}
Create a file import
Authorizations:
Request Body schema: application/json
Create file import from external source
Array of objects (FileImportRequest) | |||||||||
Array
| |||||||||
channel | string or null <uuid> Channel identifier to which |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||
object (FilesImport) | |||||||||||
|
Request samples
- Payload
{- "files": [
- {
- "name": "string",
- "filename": "string",
- "transcriptLanguageCode": "de-v2"
}
], - "channel": "39baf1f8-38b9-40e9-9ce8-edfb76f3c0b7"
}
Response samples
- 201
- 401
- 403
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "files": [
- {
- "name": "string",
- "filename": "string",
- "transcriptLanguageCode": "de-v2",
- "status": "None",
- "uploadId": "ef523ba8-509e-47af-8e2c-5fa751596497",
- "errorMessages": [
- "string"
]
}
], - "channel": "39baf1f8-38b9-40e9-9ce8-edfb76f3c0b7",
- "status": "queued"
}
}
Retrieve a file import
Retrieve a specific import task by its identifier.
Authorizations:
path Parameters
filesImportId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The files import identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||
object (FilesImport) | |||||||||||
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "files": [
- {
- "name": "string",
- "filename": "string",
- "transcriptLanguageCode": "de-v2",
- "status": "None",
- "uploadId": "ef523ba8-509e-47af-8e2c-5fa751596497",
- "errorMessages": [
- "string"
]
}
], - "channel": "39baf1f8-38b9-40e9-9ce8-edfb76f3c0b7",
- "status": "queued"
}
}
Cancel files import
Cancel a specific import task by its identifier.
Authorizations:
path Parameters
filesImportId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The files import identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||
object (FilesImport) | |||||||||||
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "files": [
- {
- "name": "string",
- "filename": "string",
- "transcriptLanguageCode": "de-v2",
- "status": "None",
- "uploadId": "ef523ba8-509e-47af-8e2c-5fa751596497",
- "errorMessages": [
- "string"
]
}
], - "channel": "39baf1f8-38b9-40e9-9ce8-edfb76f3c0b7",
- "status": "queued"
}
}
The Streamdiver API facilites also the efficient retrieval of previously uploaded Media
assets. One or multiple assets can be provided as file download, also their renditions
, the automatically generated size variants. Among other options, Downloads can be configured to be available until a chosen expire
date.
List downloads
Returns a list of Downloads
the user has created or is allowed to see.
Authorizations:
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
sort | string Example: sort=name or name:desc The sort property name and order (add ":desc" for descending). Properties from response object can be used, which are simple (non-complex) properties. Only a single field is supported. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||
required | Array of objects (Download) | ||||||||||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Favourites",
- "description": "All-time best videos",
- "selectedMediaIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
], - "selectedRenditionIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
], - "selectedTranscripts": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "format": "txt"
}
], - "files": [
- {
- "size": 123456789,
- "mimeType": "application/zip"
}
], - "compressed": true,
- "expires": "2019-08-24T14:15:22Z",
- "status": "preparing"
}
]
}
Create a download
Create a download which can contain Media
assets, selection of renditions and optionally the Transcript
of the Media
asset.
Authorizations:
Request Body schema: application/jsonrequired
Download
title | string Title of the download. | ||
description | string Download description. | ||
selectedMediaIds | Array of strings <uuid> (DefaultId) [ items <uuid > ] | ||
selectedRenditionIds | Array of strings <uuid> (DefaultId) [ items <uuid > ] | ||
Array of objects | |||
Array
| |||
compressed | boolean | ||
expires | string or null <date-time> Expiration of the download. In case of null, tenant-specific default value will be used. |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||
required | object (Download) | ||||||||||||||||||||||
|
Request samples
- Payload
{- "title": "Favourites",
- "description": "All-time best videos",
- "selectedMediaIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
], - "selectedRenditionIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
], - "selectedTranscripts": [
- {
- "format": "txt"
}
], - "compressed": true,
- "expires": "2019-08-24T14:15:22Z"
}
Response samples
- 201
- 401
- 403
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Favourites",
- "description": "All-time best videos",
- "selectedMediaIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
], - "selectedRenditionIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
], - "selectedTranscripts": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "format": "txt"
}
], - "files": [
- {
- "size": 123456789,
- "mimeType": "application/zip"
}
], - "compressed": true,
- "expires": "2019-08-24T14:15:22Z",
- "status": "preparing"
}
}
Retrieve a download
Retrieves a download by its identifier.
Authorizations:
path Parameters
downloadId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The download resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||
required | object (Download) | ||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Favourites",
- "description": "All-time best videos",
- "selectedMediaIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
], - "selectedRenditionIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
], - "selectedTranscripts": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "format": "txt"
}
], - "files": [
- {
- "size": 123456789,
- "mimeType": "application/zip"
}
], - "compressed": true,
- "expires": "2019-08-24T14:15:22Z",
- "status": "preparing"
}
}
Delete a download
Deletes a download by its identifier.
Authorizations:
path Parameters
downloadId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The download resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Audio-visual deep search across all data layers. The Metadata is extracted and indexed automatically for all Media
assets uploaded. This includes transcripts
, speakers
, videoTexts
and many more types of Metadata
.
In the most basic variant the search can be done using only the text
parameter or a filter
,
but for achieving the best results there is a wide range of parameters to better narrow down the search results.
This includes applying range filters like for example an upper limit to the asset duration: durationto
.
curl --request GET \
--url 'https://api.streamdiver.com/v2/search?type=all&text={search-phrase}' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}'
Retrieve a search result
The endpoint returns a ranked list of all Media
assets within the current authorization scope, that match the search query. The request allows for specifying a search request in terms of text query
, search fields
, search filters
, and has pagination support.
Authorizations:
query Parameters
type required | string (SearchType) Enum: "all" "mediaasset" "channel" Entity types to search for. |
fields | Array of strings (SearchFields) Items Enum: "name" "description" "tag" "transcript" "speakers" "entities" "keywords" "actions" "objects" "image_text" … 3 more Fields to search for. If none provided, all fields will be searched. |
text | string Example: text=Jane%Doe Search query text. |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
assettypes | Array of strings (SearchFilterAssetTypes) Items Enum: "video" "audio" "image" "document"
|
speakers | Array of strings Example: speakers=Sprecher 1&speakers=Sprecher 2 Speakers to filter for. |
entities | Array of strings Example: entities=Max Mustermann&entities=Klagenfurt Entities to filter for. |
actions | Array of strings Example: actions=Kommunikation Actions to filter for. |
objects | Array of strings Example: objects=Person&objects=Esstisch Objects to filter for. |
keywords | Array of strings Example: keywords=vertreter&keywords=lehrer Keywords to filter for. |
filesizefrom | integer or null <int64> Example: filesizefrom=100000000 Minimum value for the filesize (in bytes) to filter for. |
filesizeto | integer or null <int64> Example: filesizeto=1000000000 Maximum value for the filesize (in bytes) to filter for. |
bitratefrom | integer or null Example: bitratefrom=1048576 Minimum value for bitrate (in Kbps) to filter for. For videos it is the bitrate for the video stream (even if it also has audio), for audios it is the bitrate for the audio stream. |
bitrateto | integer or null Example: bitrateto=8388608 Maximum value for bitrate (in Kbps) to filter for. For videos it is the bitrate for the video stream (even if it also has audio), for audios it is the bitrate for the audio stream. |
durationfrom | number or null <double> Example: durationfrom=300 Minimum value for duration (in seconds) to filter for. |
durationto | number or null <double> Example: durationto=3600 Maximum value for duration (in seconds) to filter for. |
widthfrom | integer or null Example: widthfrom=1024 Minimum value for the video width (in pixels) to filter for. |
widthto | integer or null Example: widthto=1280 Maximum value for the video width (in pixels) to filter for. |
heightfrom | integer or null Example: heightfrom=768 Minimum value for the video height (in pixels) to filter for. |
heightto | integer or null Example: heightto=1024 Maximum value for the video height (in pixels) to filter for. |
tags | Array of strings Example: tags=highlights&tags=favourites Tags to filter for. |
channelId | string <uuid> (RessourceId) Example: channelId=ec016ce5-f4c0-48e0-8588-1a62af00503f Restrict the |
mediaAssetId | string <uuid> (RessourceId) Example: mediaAssetId=0fb1b6bb-039d-4e00-8a1c-ec93b38390d8 Search within a dedicated MediaAsset, following global Search fields are allowed - Description, Transcript, Speakers, Entities, Keywords, Objects, Actions |
speakerId | string <uuid> (RessourceId) Example: speakerId=ec016ce5-f4c0-48e0-8588-1a62af00503f Filter search result by the id of a speaker |
createdByUserId | string <uuid> (RessourceId) Example: createdByUserId=0fb1b6bb-039d-4e00-8a1c-ec93b38390d8 Search for content which was created by a dedicated user |
createdBy | string Example: createdBy=mustermann Search for content which was created by some name, surname or username of a user in our system |
includeSoftDeleted | boolean or null Default: false Example: includeSoftDeleted=true Includes soft-deleted |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||
object | |||||
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": {
- "mediaAssets": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "nameHighlights": [
- "<em>highlighted</em>,"
], - "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "descriptionHighlights": [
- "<em>highlighted</em>,"
], - "type": "video",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "tagsHighlights": [
- "<em>highlighted</em>,"
], - "filesize": 123456789,
- "bitrate": 8388608,
- "duration": 300,
- "height": 640,
- "width": 480,
- "exifMetadata": {
- "createDateUtc": "2019-08-24",
- "cameraModelManufacturer": "string",
- "cameraModelName": "string",
- "cameraLensModel": "string",
- "title": "string",
- "credit": "string",
- "copyright": "string"
}, - "metadata": {
- "transcript": [
- {
- "paragraphId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "words": [
- {
- "word": "<em>highlighted</em>,",
- "startTime": 1.6834
}
]
}
], - "speakers": [
- {
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39
}
]
}
], - "entities": [
- {
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39
}
], - "type": "person"
}
], - "actions": [
- {
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39
}
]
}
], - "objects": [
- {
- "id": "foo:streamdiver.com/person/max_mustermann",
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39,
- "box": {
- "x1": null,
- "y1": null,
- "x2": null,
- "y2": null
}
}
]
}
], - "imageText": [
- {
- "text": "Example",
- "confidence": 0.9,
- "box": {
- "x1": 0.1,
- "y1": 0.1,
- "x2": 0.1,
- "y2": 0.1
}
}
], - "keywords": [
- {
- "id": "foo:streamdiver.com/person/max_mustermann",
- "name": "string",
- "instances": [
- {
- "start": 0,
- "duration": 0
}
]
}
], - "videoText": [
- {
- "start": 2,
- "duration": 2,
- "frameIndex": 0,
- "lines": "Example"
}
], - "documentContent": [
- {
- "pageNumber": 0,
- "paragraphs": [
- "string"
], - "notes": [
- "string"
], - "annotations": [
- {
- "text": "string",
- "href": "string"
}
]
}
]
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
], - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
]
}
], - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "nameHighlights": [
- "<em>highlighted</em>,"
], - "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "descriptionHighlights": [
- "<em>highlighted</em>,"
], - "permissions": [
- "viewChannel"
], - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mediaCount": 0
}
]
}
}
Semantic search
The endpoint returns a ranked list of all Media
assets within the current authorization scope, that match the search query. The rank is based on the semantic similarity of the search query to the Metadata
of the Media
assets.
Authorizations:
query Parameters
text | string Example: text=Jane%Doe Search query text. |
modality | string (Modality) Default: "Visual" Enum: "Visual" "Audio" |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
assettypes | Array of strings (SearchFilterAssetTypes) Items Enum: "video" "audio" "image" "document"
|
channelId | string <uuid> (RessourceId) Example: channelId=ec016ce5-f4c0-48e0-8588-1a62af00503f Restrict the |
includeSoftDeleted | boolean or null Default: false Example: includeSoftDeleted=true Includes soft-deleted |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||||||||||||||
object | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": {
- "mediaAssets": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "nameHighlights": [
- "<em>highlighted</em>,"
], - "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "descriptionHighlights": [
- "<em>highlighted</em>,"
], - "type": "video",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "tagsHighlights": [
- "<em>highlighted</em>,"
], - "filesize": 123456789,
- "bitrate": 8388608,
- "duration": 300,
- "height": 640,
- "width": 480,
- "exifMetadata": {
- "createDateUtc": "2019-08-24",
- "cameraModelManufacturer": "string",
- "cameraModelName": "string",
- "cameraLensModel": "string",
- "title": "string",
- "credit": "string",
- "copyright": "string"
}, - "metadata": {
- "transcript": [
- {
- "paragraphId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "words": [
- {
- "word": "<em>highlighted</em>,",
- "startTime": 1.6834
}
]
}
], - "speakers": [
- {
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39
}
]
}
], - "entities": [
- {
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39
}
], - "type": "person"
}
], - "actions": [
- {
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39
}
]
}
], - "objects": [
- {
- "id": "foo:streamdiver.com/person/max_mustermann",
- "name": "Max Mustermann",
- "instances": [
- {
- "confidence": 1,
- "start": 13.51,
- "duration": 80.39,
- "box": {
- "x1": null,
- "y1": null,
- "x2": null,
- "y2": null
}
}
]
}
], - "imageText": [
- {
- "text": "Example",
- "confidence": 0.9,
- "box": {
- "x1": 0.1,
- "y1": 0.1,
- "x2": 0.1,
- "y2": 0.1
}
}
], - "keywords": [
- {
- "id": "foo:streamdiver.com/person/max_mustermann",
- "name": "string",
- "instances": [
- {
- "start": 0,
- "duration": 0
}
]
}
], - "videoText": [
- {
- "start": 2,
- "duration": 2,
- "frameIndex": 0,
- "lines": "Example"
}
], - "documentContent": [
- {
- "pageNumber": 0,
- "paragraphs": [
- "string"
], - "notes": [
- "string"
], - "annotations": [
- {
- "text": "string",
- "href": "string"
}
]
}
]
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
], - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
], - "timestamps": [
- [
- 1,
- 2,
- 3
]
]
}
]
}
}
Search ranges
Returns possible search ranges like durationTo
and fileSizeTo
.
Authorizations:
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||
object | |||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": {
- "fileSizeFrom": 0,
- "fileSizeTo": 0,
- "bitrateFrom": 0,
- "bitrateTo": 0,
- "durationFrom": 0.1,
- "durationTo": 0.1,
- "widthFrom": 0,
- "widthTo": 0,
- "heightFrom": 0,
- "heightTo": 0
}
}
Powered by our custom Large Language Model (LLM), Chats
enables natural language interaction with your Media
asset library.
Once an asset is uploaded and its Metadata
processed, you can ask questions about its content and retrieve answers directly.
Your data remains secure within the Streamdiver cloud; no third-party services are involved. From Metadata
indexing to LLM-powered responses, your data privacy is fully preserved.
Retrieve answers to questions about a media asset
This endpoint allows for question-based interactions with a specified Media
asset, such as an audio, video, or document file.
- For audio and video assets, responses are derived from the asset's metadata, including available transcripts.
- For document assets, responses are based on both the asset's metadata and its content.
Use this endpoint to query topics or specific details within the contents of the media asset, enabling direct, contextual responses based on its metadata and content.
Authorizations:
path Parameters
mediaId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/jsonrequired
A question related to a media asset
prompt required | string The question directed at the referenced media asset. | ||||
Array of objects or null (ChatStatement) A list of previous conversation exchanges related to the referenced media asset. Including previous exchanges enables the model to provide contextually relevant answers based on prior questions and responses. The entries should be ordered from oldest to most recent, with the latest response last. It’s recommended to limit the chat history to 16 entries (equivalent to 8 question-and-answer pairs) to stay within the LLM's 2000-token limit. Entries beyond this limit may be ignored by the backend. | |||||
Array
|
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||
object (ChatAnswer) | |||||
|
Request samples
- Payload
{- "prompt": "List the 10 most important keywords with short explanations.",
- "chatHistory": [
- {
- "role": "user",
- "content": [
- {
- "role": "user",
- "content": "What is the essence of this video?"
}, - {
- "role": "assistant",
- "content": "This video talks about the benefits of owning cats or dogs."
}, - {
- "role": "user",
- "content": "Should I get a dog or a cat?"
}, - {
- "role": "assistant",
- "content": "I can't help you with life decisions."
}
]
}
]
}
Response samples
- 200
- 401
- 404
- 422
- default
{- "status": "success",
- "data": {
- "answer": "The video is about a debate on environmental sustainability.",
- "context": [
- {
- "text": "string",
- "metadata": {
- "startTime": 1.25
}
}
]
}
}
We provide Recommendations
that can be used to automatically retrieve similar and related content.
Similarly, to the Search the recommendations make use of the Metadata that is extracted and indexed automatically for all Media
assets uploaded.
Each uploaded video
and audio
Media
asset is automatically structured into content-based chapters.
These can, optionally, be used to provide recommendations that are more specific and designed for efficient information retrieval.
Retrieve a recommendation
Endpoint for recommendation of Media
sections
in Channel
s. One or multiple Media
asssets or Media
sections
can be provided as input to retrieve similar sections
in specific Channel
s.
Authorizations:
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
mediaIds | Array of strings <uuid> (RessourceId) [ items <uuid > ] Example: mediaIds=7c9e6679-7425-40de-944b-e07fc1f90ae7 A set of |
sectionIds | Array of strings <uuid> (RessourceId) [ items <uuid > ] Example: sectionIds=7c9e6679-7425-40de-944b-e07fc1f90ae7 A set of |
channelIds | Array of strings <uuid> (RessourceId) [ items <uuid > ] Example: channelIds=7c9e6679-7425-40de-944b-e07fc1f90ae7 A set of |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
object | |||||||||||||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": {
- "mediaAssets": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "type": "video",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "filesize": 123456789,
- "bitrate": 8388608,
- "duration": 300,
- "usage": {
- "views": 100,
- "downloads": 3
}, - "videoHeight": 640,
- "videoWidth": 480,
- "sections": [
- {
- "sectionId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "start": 50.123,
- "duration": 100.957,
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "transcript": [
- {
- "words": [
- {
- "word": null,
- "startTime": null
}
]
}
]
}
], - "permissions": [
- "viewChannel"
]
}
]
}
}
Retrieve recommendations for the current user
Endpoint for personalized recommendation based on user history.
Authorizations:
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
object | |||||||||||||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": {
- "mediaAssets": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "type": "video",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "filesize": 123456789,
- "bitrate": 8388608,
- "duration": 300,
- "usage": {
- "views": 100,
- "downloads": 3
}, - "videoHeight": 640,
- "videoWidth": 480,
- "sections": [
- {
- "sectionId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "start": 50.123,
- "duration": 100.957,
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "transcript": [
- {
- "words": [
- {
- "word": null,
- "startTime": null
}
]
}
]
}
], - "permissions": [
- "viewChannel"
]
}
]
}
}
List feedback for recommendations of the tenant.
Endpoint to list recommendation feedback.
Authorizations:
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
from | string or null <date-time> Example: from=2020-04-12T23:20:50.52Z From date |
to | string or null <date-time> Example: to=2020-04-12T23:20:50.52Z To date |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
Array of objects (RecommendationFeedback) | |||||||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
- 422
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "mediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "mediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "timecode": 50.123,
- "value": "like"
}
]
}
Give explicit feedback for recommendation.
Endpoint to add recommendation feedback.
Authorizations:
Request Body schema: application/jsonrequired
Recommendation feedback to add
mediaAssetId required | string <uuid> (RessourceId) The resource identifier. |
mediaSectionId | string <uuid> (RessourceId) The resource identifier. |
referrerMediaAssetId | string <uuid> (RessourceId) The resource identifier. |
referrerMediaSectionId | string <uuid> (RessourceId) The resource identifier. |
referrerPage | string Previously viewed page |
timecode | number <double> Player timecode when feedback is given in seconds |
value required | string Enum: "like" "dislike" Feedback value (rating) |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
object (RecommendationFeedback) | |||||||||||||||||||
|
Request samples
- Payload
{- "mediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "mediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "timecode": 50.123,
- "value": "like"
}
Response samples
- 201
- 401
- 403
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "mediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "mediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "timecode": 50.123,
- "value": "like"
}
}
Retrieve an explicit feedback for recommendation.
Endpoint to retrieve a specified recommendation feedback.
Authorizations:
path Parameters
feedbackId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The recommendation feedback resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
object (RecommendationFeedback) | |||||||||||||||||||
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "mediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "mediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "timecode": 50.123,
- "value": "like"
}
}
Delete a recommendation feedback
Deletes a given recommendation feedback
Authorizations:
path Parameters
feedbackId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The recommendation feedback resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Update explicit feedback for recommendation.
Endpoint to update recommendation feedback.
Authorizations:
path Parameters
feedbackId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The recommendation feedback resource identifier |
Request Body schema: application/jsonrequired
Recommendation feedback to add
mediaAssetId required | string <uuid> (RessourceId) The resource identifier. |
mediaSectionId | string <uuid> (RessourceId) The resource identifier. |
referrerMediaAssetId | string <uuid> (RessourceId) The resource identifier. |
referrerMediaSectionId | string <uuid> (RessourceId) The resource identifier. |
referrerPage | string Previously viewed page |
timecode | number <double> Player timecode when feedback is given in seconds |
value required | string Enum: "like" "dislike" Feedback value (rating) |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
object (RecommendationFeedback) | |||||||||||||||||||
|
Request samples
- Payload
{- "mediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "mediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "timecode": 50.123,
- "value": "like"
}
Response samples
- 201
- 401
- 403
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "mediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "mediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "timecode": 50.123,
- "value": "like"
}
}
Retrieve recommendation feedback of the current user.
Endpoint to retrieve recommendation feedback of the current user.
Authorizations:
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
from | string or null <date-time> Example: from=2020-04-12T23:20:50.52Z From date |
to | string or null <date-time> Example: to=2020-04-12T23:20:50.52Z To date |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
Array of objects (RecommendationFeedback) | |||||||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "mediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "mediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "timecode": 50.123,
- "value": "like"
}
]
}
Retrieve recommendation feedback of a user.
Endpoint to retrieve recommendation feedback of a user.
Authorizations:
path Parameters
userId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The user resource identifier |
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
from | string or null <date-time> Example: from=2020-04-12T23:20:50.52Z From date |
to | string or null <date-time> Example: to=2020-04-12T23:20:50.52Z To date |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
Array of objects (RecommendationFeedback) | |||||||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "mediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "mediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaAssetId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "referrerMediaSectionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "timecode": 50.123,
- "value": "like"
}
]
}
Interactions of authenticated users with Media
assets and interactions with assets publicly shared via the Streamdiver Public Portal,
are tracked and we provide detailed analytics.
The tracking is entirely GDPR compliant as it is done via a tracking server hosted and managed by Streamdiver.
Retrieve tenant view history
Retrieve the view history of the tenant.
Authorizations:
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
from | string or null <date-time> Example: from=2020-04-12T23:20:50.52Z From date |
to | string or null <date-time> Example: to=2020-04-12T23:20:50.52Z To date |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||
object | |||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": {
- "history": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "userId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "sessionId": 4711,
- "mediaAssetId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "watchedAtUtc": "2020-09-16T23:20:50.52Z",
- "watchDuration": 50,
- "totalDuration": 912
}
]
}
}
Retrieve current user view history
Retrieve the view history of the current user.
Authorizations:
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
from | string or null <date-time> Example: from=2020-04-12T23:20:50.52Z From date |
to | string or null <date-time> Example: to=2020-04-12T23:20:50.52Z To date |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||
object | |||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": {
- "history": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "userId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "sessionId": 4711,
- "mediaAssetId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "watchedAtUtc": "2020-09-16T23:20:50.52Z",
- "watchDuration": 50,
- "totalDuration": 912
}
]
}
}
Retrieve user view history
Retrieve the view history of a user.
Authorizations:
path Parameters
userId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The user resource identifier |
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
from | string or null <date-time> Example: from=2020-04-12T23:20:50.52Z From date |
to | string or null <date-time> Example: to=2020-04-12T23:20:50.52Z To date |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||
object | |||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": {
- "history": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "userId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "sessionId": 4711,
- "mediaAssetId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "watchedAtUtc": "2020-09-16T23:20:50.52Z",
- "watchDuration": 50,
- "totalDuration": 912
}
]
}
}
Retrieve session view history
Retrieve the view history of a session.
Authorizations:
path Parameters
sessionId required | number (SessionId) Example: 4711 The view history session resource identifier. |
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
from | string or null <date-time> Example: from=2020-04-12T23:20:50.52Z From date |
to | string or null <date-time> Example: to=2020-04-12T23:20:50.52Z To date |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||
object | |||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": {
- "history": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "userId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "sessionId": 4711,
- "mediaAssetId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "watchedAtUtc": "2020-09-16T23:20:50.52Z",
- "watchDuration": 50,
- "totalDuration": 912
}
]
}
}
Livestreams
allow content creators and broadcasters to engage directly with viewers, offering immediate interaction and feedback. Live streaming is vital for events, announcements, educational sessions, and entertainment, providing a platform for instantaneous communication and content delivery.
With robust tools to manage, monitor, and analyze Livestreams
, our system ensures that live content is both high-quality and highly accessible, meeting the demands of diverse audiences and use cases.
Running a live stream requires a sequence of API requests, including create, start, publish, and finish. Please consult our developer documentation for a detailed tutorial on live streaming.
List livestreams in a channel
Retrieve all livestreams of channel
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
query Parameters
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
sort | string Example: sort=name or name:desc The sort property name and order (add ":desc" for descending). Properties from response object can be used, which are simple (non-complex) properties. Only a single field is supported. |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||
required | Array of objects (Livestream) | ||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Live - Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "withBackup": false,
- "withDvr": false,
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "status": "created",
- "source": "rtmp",
- "inputs": [
- {
- "source": "rtmp",
- "url": "rtmp://cdn.streamdiver.com/live-tenantname/96cntmao-spgc7dql",
- "primary": true
}
], - "playouts": [
- {
- "mimeType": "application/x-mpegURL",
- "type": "videostream",
- "primary": true
}
], - "history": {
- "startedAt": "2019-08-24T14:15:22Z",
- "stoppedAt": "2019-08-24T14:15:22Z",
- "publishedAt": "2019-08-24T14:15:22Z"
}, - "vodAssetMainId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "vodAssetBackupId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
]
}
List livestreams
This endpoint returns all Livestreams
.
Filter by status to list p.e. all finished
Livestreams
.
Authorizations:
query Parameters
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||
required | Array of objects (Livestream) | ||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Live - Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "withBackup": false,
- "withDvr": false,
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "status": "created",
- "source": "rtmp",
- "inputs": [
- {
- "source": "rtmp",
- "url": "rtmp://cdn.streamdiver.com/live-tenantname/96cntmao-spgc7dql",
- "primary": true
}
], - "playouts": [
- {
- "mimeType": "application/x-mpegURL",
- "type": "videostream",
- "primary": true
}
], - "history": {
- "startedAt": "2019-08-24T14:15:22Z",
- "stoppedAt": "2019-08-24T14:15:22Z",
- "publishedAt": "2019-08-24T14:15:22Z"
}, - "vodAssetMainId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "vodAssetBackupId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
]
}
Create a livestream
Registers and configures a new Livestream
.
This is the first step in the live-streaming workflow and can be called in advance of a live event.
Next, call start to activate the live ingest and receive the ingest URL.
Authorizations:
Request Body schema: application/jsonrequired
Livestream
name required | string <= 255 characters Name of the live stream. |
description | string Optional description of the live stream. |
source required | string Default: "rtmp" Value: "rtmp" The type of live video input source. Currently only |
withBackup | boolean Default: false Configures whether an additional live stream input should be created as a backup, along with a separate HLS playlist URL for playback. |
withDvr | boolean Default: false Configures whether the live stream should be recorded and allow time-shifting. If the live stream is recorded, it will be converted to a VOD asset after publishing. |
channelIds required | Array of strings <uuid> (DefaultId) [ items <uuid > ] A list of |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||
required | object (Livestream) | ||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "name": "Live - Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "source": "rtmp",
- "withBackup": false,
- "withDvr": false,
- "channelIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
]
}
Response samples
- 201
- 401
- 403
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Live - Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "withBackup": false,
- "withDvr": false,
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "status": "created",
- "source": "rtmp",
- "inputs": [
- {
- "source": "rtmp",
- "url": "rtmp://cdn.streamdiver.com/live-tenantname/96cntmao-spgc7dql",
- "primary": true
}
], - "playouts": [
- {
- "mimeType": "application/x-mpegURL",
- "type": "videostream",
- "primary": true
}
], - "history": {
- "startedAt": "2019-08-24T14:15:22Z",
- "stoppedAt": "2019-08-24T14:15:22Z",
- "publishedAt": "2019-08-24T14:15:22Z"
}, - "vodAssetMainId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "vodAssetBackupId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
}
Start a livestream
Starts a Livestream
and activates the live ingest.
Once started, an RTMP encoder can connect to the provided inputs
(with the stream key being the last part of the URL path)
Choose your preferred encoder like Open Broadcaster Software (OBS), FFmpeg or other.
The playouts
returned contain HLS playlist URLs for each input. This URL can be used in a (client-side) video player capable of HLS streaming video playback.
Authorizations:
path Parameters
livestreamId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||
required | object (Livestream) | ||||||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Live - Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "withBackup": false,
- "withDvr": false,
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "status": "created",
- "source": "rtmp",
- "inputs": [
- {
- "source": "rtmp",
- "url": "rtmp://cdn.streamdiver.com/live-tenantname/96cntmao-spgc7dql",
- "primary": true
}
], - "playouts": [
- {
- "mimeType": "application/x-mpegURL",
- "type": "videostream",
- "primary": true
}
], - "history": {
- "startedAt": "2019-08-24T14:15:22Z",
- "stoppedAt": "2019-08-24T14:15:22Z",
- "publishedAt": "2019-08-24T14:15:22Z"
}, - "vodAssetMainId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "vodAssetBackupId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
}
Publish a livestream
Publishing a Livestream
is only possible if an active ingest is delivered. It will change the status of the Livestream
to live
and will update the start timestamp of the video source to the publishing time.
Authorizations:
path Parameters
livestreamId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||
required | object (Livestream) | ||||||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Live - Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "withBackup": false,
- "withDvr": false,
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "status": "created",
- "source": "rtmp",
- "inputs": [
- {
- "source": "rtmp",
- "url": "rtmp://cdn.streamdiver.com/live-tenantname/96cntmao-spgc7dql",
- "primary": true
}
], - "playouts": [
- {
- "mimeType": "application/x-mpegURL",
- "type": "videostream",
- "primary": true
}
], - "history": {
- "startedAt": "2019-08-24T14:15:22Z",
- "stoppedAt": "2019-08-24T14:15:22Z",
- "publishedAt": "2019-08-24T14:15:22Z"
}, - "vodAssetMainId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "vodAssetBackupId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
}
Stop a livestream
Finishing a published Livestream
will update the playlist url and trigger the live-to-vod conversion. When the live-to-vod conversion is finished, a Media
asset will be created.
Authorizations:
path Parameters
livestreamId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||
required | object (Livestream) | ||||||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Live - Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "withBackup": false,
- "withDvr": false,
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "status": "created",
- "source": "rtmp",
- "inputs": [
- {
- "source": "rtmp",
- "url": "rtmp://cdn.streamdiver.com/live-tenantname/96cntmao-spgc7dql",
- "primary": true
}
], - "playouts": [
- {
- "mimeType": "application/x-mpegURL",
- "type": "videostream",
- "primary": true
}
], - "history": {
- "startedAt": "2019-08-24T14:15:22Z",
- "stoppedAt": "2019-08-24T14:15:22Z",
- "publishedAt": "2019-08-24T14:15:22Z"
}, - "vodAssetMainId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "vodAssetBackupId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
}
Retrieve a livestream
Loads all details of a Livestream
including inputs
and playouts
.
Authorizations:
path Parameters
livestreamId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||
required | object (Livestream) | ||||||||||||||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Live - Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "withBackup": false,
- "withDvr": false,
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "status": "created",
- "source": "rtmp",
- "inputs": [
- {
- "source": "rtmp",
- "url": "rtmp://cdn.streamdiver.com/live-tenantname/96cntmao-spgc7dql",
- "primary": true
}
], - "playouts": [
- {
- "mimeType": "application/x-mpegURL",
- "type": "videostream",
- "primary": true
}
], - "history": {
- "startedAt": "2019-08-24T14:15:22Z",
- "stoppedAt": "2019-08-24T14:15:22Z",
- "publishedAt": "2019-08-24T14:15:22Z"
}, - "vodAssetMainId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "vodAssetBackupId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
}
Update a livestream
Update editable properties of a Livestream
.
Authorizations:
path Parameters
livestreamId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/json
Update Livestream
payload
name required | string <= 255 characters Name of the live stream. |
description | string Optional description of the live stream. |
withBackup | boolean Default: false Configures whether an additional live stream input should be created as a backup, along with a separate HLS playlist URL for playback. |
withDvr | boolean Default: false Configures whether the live stream should be recorded and allow time-shifting. If the live stream is recorded, it will be converted to a VOD asset after publishing. |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||
required | object (Livestream) | ||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "name": "Live - Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "withBackup": false,
- "withDvr": false
}
Response samples
- 201
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Live - Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "withBackup": false,
- "withDvr": false,
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "status": "created",
- "source": "rtmp",
- "inputs": [
- {
- "source": "rtmp",
- "url": "rtmp://cdn.streamdiver.com/live-tenantname/96cntmao-spgc7dql",
- "primary": true
}
], - "playouts": [
- {
- "mimeType": "application/x-mpegURL",
- "type": "videostream",
- "primary": true
}
], - "history": {
- "startedAt": "2019-08-24T14:15:22Z",
- "stoppedAt": "2019-08-24T14:15:22Z",
- "publishedAt": "2019-08-24T14:15:22Z"
}, - "vodAssetMainId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "vodAssetBackupId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
}
Delete a livestream
Deletes the Livestream
and all recorded artifacts . A Livestream
which is currently converted from live to a VOD can not be deleted.
Authorizations:
path Parameters
livestreamId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Retrieve livestream statistics overview
Retrieves the current number of RTMP and HLS connections of a Livestream
. Section primary
contains statistics for the main Livestream
, section secondary
for the backup Livestream
. Section "sum" contains the aggregation of both live streams. Call this endpoint repeatedly to build statistics over time. A typical use case of this endpoint is displaying the current number of watching users from sum.hlsConnections
.
Authorizations:
path Parameters
livestreamId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||
required | object Last statistics record for a given livestream. For the primary streaming instance and the secondary (the optional backup). | ||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "sum": {
- "createdAtUtc": "2023-09-16T23:20:50.52Z",
- "hlsConnections": 3,
- "rtmpConnections": 1
}, - "primary": {
- "createdAtUtc": "2023-09-16T23:20:50.52Z",
- "hlsConnections": 3,
- "rtmpConnections": 1
}, - "secondary": {
- "createdAtUtc": "2023-09-16T23:20:50.52Z",
- "hlsConnections": 3,
- "rtmpConnections": 1
}
}
}
Retrieve livestream statistics
Retrieve detailed Livestream
statistics of a specific live streaming instance. Use instance primary
to get statistics for the main Livestream
or instance secondary
to get statistics of the optional backup Livestream
. This endpoint provides the complete history of statistical samples for the lifetime of the Livestream
. The samples are sorted in descending order by createdAtUtc, ensuring that the first page always contains the most recent samples. Repeatedly requesting this page allows for the continuous collection of live statistics over time.
Authorizations:
path Parameters
livestreamId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
instance required | string Enum: "primary" "secondary" type of the |
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||
required | Array of objects (LivestreamStatistics) | ||||||||||||||
Array
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": [
- {
- "createdAtUtc": "2023-09-16T23:20:50.52Z",
- "hlsConnections": 3,
- "rtmpConnections": 1,
- "networkBytesIn": 166444613,
- "networkBytesOut": 55263494,
- "networkBytesInRate": 508573,
- "networkBytesOutRate": 1222290
}
]
}
Retrieve livestream thumbnail
Retrieves the thumbnail of a Livestream
.
Authorizations:
path Parameters
livestreamId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||
required | object | ||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "height": 640,
- "width": 480,
}
}
Set livestream thumbnail
Sets the thumbnail of a Livestream
.
Allowed image formats:
image/jpeg
image/png
Authorizations:
path Parameters
livestreamId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: multipart/form-datarequired
file | string <binary> |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||
required | object | ||||||
|
Response samples
- 200
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "height": 640,
- "width": 480,
}
}
Delete livestream thumbnail
Deletes the thumbnail of a Livestream
.
Authorizations:
path Parameters
livestreamId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Using Designs
you can customize the appearance of the Streamdiver Public Portal and embedded content.
The two major elements that allow customization are Channels
and the video player.
Designs
for the player can be applied per Channel
or customized on the Tenant
level.
As a more specialized application, you can also customize the Design
of transcripts
exported as text documents in DOCX
format.
List designs
Lists all Design
settings, including the Design
settings templates. They can be filtered by type
, i.e. for example by Player
.
Authorizations:
query Parameters
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
Response Schema: application/json
id | string <uuid> (RessourceId) The resource identifier. |
name | string <= 255 characters |
isTemplate | boolean |
isMain | boolean True for tenant level design settings. |
type | string (DesignSettingsType) Enum: "Channel" "Player" "DocxExport" Type of |
object or null (ChannelDesign) | |
object or null (PlayerDesign) | |
object (DocxExportDesignData) |
Response samples
- 200
- 404
- default
[- {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "type": "Channel",
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}, - "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}, - "docxExportDesign": {
- "speakerLabelStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "textStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "speakerLabelSeparator": ": ",
- "includeTimestamp": false,
- "speakerLabelLineBreak": false,
- "paragraphLineBreak": true,
- "speakerLabelCustomization": "None",
- "customSpeakerLabel": "string"
}
}
]
Create a design from template
Creates Design
settings from existing Design
settings templates.
Authorizations:
Request Body schema: application/jsonrequired
Comment to add
templateId | string <uuid> (RessourceId) The resource identifier. |
Responses
Response Schema: application/json
id | string <uuid> (RessourceId) The resource identifier. |
name | string <= 255 characters |
isTemplate | boolean |
isMain | boolean True for tenant level design settings. |
type | string (DesignSettingsType) Enum: "Channel" "Player" "DocxExport" Type of |
object or null (ChannelDesign) | |
object or null (PlayerDesign) | |
object (DocxExportDesignData) |
Request samples
- Payload
{- "templateId": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}
Response samples
- 201
- 404
- default
[- {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "type": "Channel",
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}, - "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}, - "docxExportDesign": {
- "speakerLabelStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "textStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "speakerLabelSeparator": ": ",
- "includeTimestamp": false,
- "speakerLabelLineBreak": false,
- "paragraphLineBreak": true,
- "speakerLabelCustomization": "None",
- "customSpeakerLabel": "string"
}
}
]
Retrieve a design
Authorizations:
path Parameters
designSettingsId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
id | string <uuid> (RessourceId) The resource identifier. |
name | string <= 255 characters |
isTemplate | boolean |
isMain | boolean True for tenant level design settings. |
type | string (DesignSettingsType) Enum: "Channel" "Player" "DocxExport" Type of |
object or null (ChannelDesign) | |
object or null (PlayerDesign) | |
object (DocxExportDesignData) |
Response samples
- 200
- 404
- default
[- {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "type": "Channel",
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}, - "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}, - "docxExportDesign": {
- "speakerLabelStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "textStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "speakerLabelSeparator": ": ",
- "includeTimestamp": false,
- "speakerLabelLineBreak": false,
- "paragraphLineBreak": true,
- "speakerLabelCustomization": "None",
- "customSpeakerLabel": "string"
}
}
]
Delete design settings
Authorizations:
path Parameters
designSettingsId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 404
- default
{- "status": "success"
}
Create channel design template
Authorizations:
Request Body schema: application/jsonrequired
Comment to add
name | string | ||||||||||||||||||
object or null (ChannelDesign) | |||||||||||||||||||
|
Responses
Response Schema: application/json
id | string <uuid> (RessourceId) The resource identifier. |
name | string <= 255 characters |
isTemplate | boolean |
isMain | boolean True for tenant level design settings. |
type | string (DesignSettingsType) Enum: "Channel" "Player" "DocxExport" Type of |
object or null (ChannelDesign) | |
object or null (PlayerDesign) | |
object (DocxExportDesignData) |
Request samples
- Payload
{- "name": "string",
- "data": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}
Response samples
- 201
- 401
- 403
- 422
[- {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "type": "Channel",
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}, - "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}, - "docxExportDesign": {
- "speakerLabelStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "textStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "speakerLabelSeparator": ": ",
- "includeTimestamp": false,
- "speakerLabelLineBreak": false,
- "paragraphLineBreak": true,
- "speakerLabelCustomization": "None",
- "customSpeakerLabel": "string"
}
}
]
Update channel design template
Authorizations:
path Parameters
designSettingsId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/jsonrequired
Comment to add
name | string | ||||||||||||||||||
object or null (ChannelDesign) | |||||||||||||||||||
|
Responses
Response Schema: application/json
id | string <uuid> (RessourceId) The resource identifier. |
name | string <= 255 characters |
isTemplate | boolean |
isMain | boolean True for tenant level design settings. |
type | string (DesignSettingsType) Enum: "Channel" "Player" "DocxExport" Type of |
object or null (ChannelDesign) | |
object or null (PlayerDesign) | |
object (DocxExportDesignData) |
Request samples
- Payload
{- "name": "string",
- "data": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}
Response samples
- 200
- 401
- 403
- 422
[- {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "type": "Channel",
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}, - "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}, - "docxExportDesign": {
- "speakerLabelStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "textStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "speakerLabelSeparator": ": ",
- "includeTimestamp": false,
- "speakerLabelLineBreak": false,
- "paragraphLineBreak": true,
- "speakerLabelCustomization": "None",
- "customSpeakerLabel": "string"
}
}
]
Create player design template
Authorizations:
Request Body schema: application/jsonrequired
Comment to add
name | string | ||||||||||||||||||||||||||||
object or null (PlayerDesign) | |||||||||||||||||||||||||||||
|
Responses
Response Schema: application/json
id | string <uuid> (RessourceId) The resource identifier. |
name | string <= 255 characters |
isTemplate | boolean |
isMain | boolean True for tenant level design settings. |
type | string (DesignSettingsType) Enum: "Channel" "Player" "DocxExport" Type of |
object or null (ChannelDesign) | |
object or null (PlayerDesign) | |
object (DocxExportDesignData) |
Request samples
- Payload
{- "name": "string",
- "data": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
Response samples
- 201
- 401
- 403
- 422
[- {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "type": "Channel",
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}, - "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}, - "docxExportDesign": {
- "speakerLabelStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "textStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "speakerLabelSeparator": ": ",
- "includeTimestamp": false,
- "speakerLabelLineBreak": false,
- "paragraphLineBreak": true,
- "speakerLabelCustomization": "None",
- "customSpeakerLabel": "string"
}
}
]
Update player design template
Authorizations:
path Parameters
designSettingsId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/jsonrequired
Comment to add
name | string | ||||||||||||||||||||||||||||
object or null (PlayerDesign) | |||||||||||||||||||||||||||||
|
Responses
Response Schema: application/json
id | string <uuid> (RessourceId) The resource identifier. |
name | string <= 255 characters |
isTemplate | boolean |
isMain | boolean True for tenant level design settings. |
type | string (DesignSettingsType) Enum: "Channel" "Player" "DocxExport" Type of |
object or null (ChannelDesign) | |
object or null (PlayerDesign) | |
object (DocxExportDesignData) |
Request samples
- Payload
{- "name": "string",
- "data": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
Response samples
- 200
- 401
- 403
- 422
[- {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "type": "Channel",
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}, - "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}, - "docxExportDesign": {
- "speakerLabelStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "textStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "speakerLabelSeparator": ": ",
- "includeTimestamp": false,
- "speakerLabelLineBreak": false,
- "paragraphLineBreak": true,
- "speakerLabelCustomization": "None",
- "customSpeakerLabel": "string"
}
}
]
Create docx export design settings
Create new Design
settings for customizing the formatting of transcripts
exported to DOCX
.
Authorizations:
Request Body schema: application/jsonrequired
Comment to add
name | string | ||||||||||||||||
object (DocxExportDesignData) | |||||||||||||||||
|
Responses
Response Schema: application/json
id | string <uuid> (RessourceId) The resource identifier. |
name | string <= 255 characters |
isTemplate | boolean |
isMain | boolean True for tenant level design settings. |
type | string (DesignSettingsType) Enum: "Channel" "Player" "DocxExport" Type of |
object or null (ChannelDesign) | |
object or null (PlayerDesign) | |
object (DocxExportDesignData) |
Request samples
- Payload
{- "name": "string",
- "data": {
- "speakerLabelStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "textStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "speakerLabelSeparator": ": ",
- "includeTimestamp": false,
- "speakerLabelLineBreak": false,
- "paragraphLineBreak": true,
- "speakerLabelCustomization": "None",
- "customSpeakerLabel": "string"
}
}
Response samples
- 201
- 401
- 403
- 422
[- {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "type": "Channel",
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}, - "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}, - "docxExportDesign": {
- "speakerLabelStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "textStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "speakerLabelSeparator": ": ",
- "includeTimestamp": false,
- "speakerLabelLineBreak": false,
- "paragraphLineBreak": true,
- "speakerLabelCustomization": "None",
- "customSpeakerLabel": "string"
}
}
]
Update docx export design settings
Update Design
settings for customizing the formatting of transcripts
exported to DOCX
.
Authorizations:
path Parameters
designSettingsId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Request Body schema: application/jsonrequired
Comment to add
name | string | ||||||||||||||||
object (DocxExportDesignData) | |||||||||||||||||
|
Responses
Response Schema: application/json
id | string <uuid> (RessourceId) The resource identifier. |
name | string <= 255 characters |
isTemplate | boolean |
isMain | boolean True for tenant level design settings. |
type | string (DesignSettingsType) Enum: "Channel" "Player" "DocxExport" Type of |
object or null (ChannelDesign) | |
object or null (PlayerDesign) | |
object (DocxExportDesignData) |
Request samples
- Payload
{- "name": "string",
- "data": {
- "speakerLabelStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "textStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "speakerLabelSeparator": ": ",
- "includeTimestamp": false,
- "speakerLabelLineBreak": false,
- "paragraphLineBreak": true,
- "speakerLabelCustomization": "None",
- "customSpeakerLabel": "string"
}
}
Response samples
- 201
- 401
- 403
- 422
[- {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "type": "Channel",
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}, - "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}, - "docxExportDesign": {
- "speakerLabelStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "textStyling": {
- "fontFamily": "Arial",
- "fontSize": 12,
- "color": "#000000",
- "bold": false
}, - "speakerLabelSeparator": ": ",
- "includeTimestamp": false,
- "speakerLabelLineBreak": false,
- "paragraphLineBreak": true,
- "speakerLabelCustomization": "None",
- "customSpeakerLabel": "string"
}
}
]
Retrieve a design resource
Using this endpoint, you can download design setting resources, like the playButtonImage
or channelLogo
.
Authorizations:
path Parameters
designSettingsId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
resourceType required | string Enum: "centerMainImage" "centerLogo" "centerFont" "centerFavicon" "channelMainImage" "channelLogo" "channelHeaderfont" "channelBodyfont" "channelFavicon" "facebookShareImage" … 4 more Specify the resource type. The supported MIME types per resource type are:
|
Responses
Response Schema: application/octet-stream
Response samples
- 401
- 403
- 404
{- "status": "error",
- "message": "Related error message"
}
Update a design resource
Authorizations:
path Parameters
designSettingsId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
resourceType required | string Enum: "centerMainImage" "centerLogo" "centerFont" "centerFavicon" "channelMainImage" "channelLogo" "channelHeaderfont" "channelBodyfont" "channelFavicon" "facebookShareImage" … 4 more Specify the resource type. The supported MIME types per resource type are:
|
Request Body schema: multipart/form-datarequired
Design setting ressource file. For accepted MIME Types refer to type, otherwise content is not validated.
file | string <binary> |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 404
- default
{- "status": "success"
}
Delete a design resource
Using this endpoint, you can delete Design
setting resources.
Authorizations:
path Parameters
designSettingsId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
resourceType required | string Enum: "centerMainImage" "centerLogo" "centerFont" "centerFavicon" "channelMainImage" "channelLogo" "channelHeaderfont" "channelBodyfont" "channelFavicon" "facebookShareImage" … 4 more Specify the resource type. The supported MIME types per resource type are:
|
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
If you subscribe to the Streamdiver Media API, a Tenant
is created with the subscription.
Tenants
operate independently, ensuring isolation and customization based on specific needs or requirements.
Retrieve the current tenant
Retrieve the details of the current Tenant
, i.e. its name
, shortcode
and identifier.
Authorizations:
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||
required | object (Tenant) The default object structure | ||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "shortcode": "string",
- "name": "string"
}
}
Retrieve selectable cultures
Retrieve localized selectable cultures of a tenant. Every authenticated user can get available cultures.
Authorizations:
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||
required | Array of objects (SelectableCulture) | ||||
Array
|
Response samples
- 200
- 404
{- "status": "success",
- "data": [
- {
- "selectableCultureCode": "de",
- "displayName": "Deutsch"
}
]
}
Retrieve settings of the current tenant
Authorizations:
Responses
Response Schema: application/json
defaultCulture | string Enum: "de" "en" Default culture (localization). | ||||||||||||||||||||||||||||||
selectableCultures | Array of strings Items Enum: "de" "en" Available cultures (localization). | ||||||||||||||||||||||||||||||
portalTitle | string The default title for the Streamdiver Public Portal. | ||||||||||||||||||||||||||||||
matomoSiteId | integer <int32> Related site identifier for tracking via Matomo. Automatically generated by the | ||||||||||||||||||||||||||||||
matomoUserTrackingEnabled | boolean Indicates if user tracking is enabled using Matomo. | ||||||||||||||||||||||||||||||
playlistProtectionEnabled | boolean Indicates if playlists are secured by a token. | ||||||||||||||||||||||||||||||
speakerIdentificationEnabled | boolean Indicates if speaker identification should be done in transcription step of | ||||||||||||||||||||||||||||||
enableAdBanner | boolean Enables the ad banner on the Streamdiver Public Portal page. | ||||||||||||||||||||||||||||||
adBannerUrl | string The URL for the banner link (in case | ||||||||||||||||||||||||||||||
transcriptionLanguage | string Language for transcription which is used if a media asset is uploaded. For possible values check transcription metadata preset configuration. | ||||||||||||||||||||||||||||||
downloadDefaultExpirationSeconds | integer or null <int64> Default: 172800 Default expiration for download links, in seconds. | ||||||||||||||||||||||||||||||
customTrackingCode | string If set, the custom tracking code will be injected into the JavaScript player widget. | ||||||||||||||||||||||||||||||
autoSubtitles | boolean If enabled, uploaded | ||||||||||||||||||||||||||||||
channelDownloadEnabled | boolean If disabled, new | ||||||||||||||||||||||||||||||
uploadDuplicateCheckEnabled | boolean If active, there are duplicate checks on | ||||||||||||||||||||||||||||||
publicPortalSharingEnabled | boolean If disabled, you can not share the | ||||||||||||||||||||||||||||||
object (SystemSettings) | |||||||||||||||||||||||||||||||
|
Response samples
- 200
- 404
{- "defaultCulture": "en",
- "selectableCultures": [
- "en"
], - "portalTitle": "string",
- "matomoSiteId": 5,
- "matomoUserTrackingEnabled": false,
- "playlistProtectionEnabled": false,
- "speakerIdentificationEnabled": false,
- "enableAdBanner": false,
- "transcriptionLanguage": "de",
- "downloadDefaultExpirationSeconds": 172800,
- "customTrackingCode": "<link rel=\"preload\" href=\"https://data-9fcd0b641d.streamdiver.com/iomm/latest/manager/base/es6/bundle.js\" as=\"script\" id=\"IOMmBundle\" /><link rel=\"preload\" href=\"https://data-9fcd0b641d.streamdiver.com/iomm/latest/bootstrap/loader.js\" as=\"script\" /><script type=\"text/javascript\" src=\"//data-9fcd0b641d.streamdiver.com/iomm/latest/bootstrap/loader.js\"></script><script type=\"text/javascript\">some script;</script>",
- "autoSubtitles": true,
- "channelDownloadEnabled": true,
- "uploadDuplicateCheckEnabled": true,
- "publicPortalSharingEnabled": true,
- "systemSettings": {
- "enablePublishing": false,
- "enableSso": false,
- "maxUploadCount": 1000,
- "uploadStorageLimit": 2056,
- "singleUploadLimit": 1024,
- "downloadSizeLimit": 2056,
- "enableLiveStreaming": false,
- "maxLiveApplications": 5,
- "streamingInstanceId": 1,
- "srtPortRangeStartBackup": 1,
- "srtPortRangeStart": 1,
- "enableReducedLiveLatency": false,
- "enableInteractiveStory": false,
- "enableChats": false,
- "webhookPerUserLimit": 20
}
}
Update settings for the current tenant
Authorizations:
Request Body schema: application/jsonrequired
Settings
portalTitle | string The default title for the Streamdiver Public Portal. |
playlistProtectionEnabled | boolean Indicates if playlists are secured by a token. |
speakerIdentificationEnabled | boolean Indicates if speaker identification should be done in transcription step of |
enableAdBanner | boolean Enables the ad banner on the Streamdiver Public Portal page. |
adBannerUrl | string The URL for the banner link (in case |
transcriptionLanguage | string Language for transcription which is used if a media asset is uploaded. For possible values check transcription metadata preset configuration. |
customTrackingCode | string If set, the custom tracking code will be injected into the JavaScript player widget. |
autoSubtitles | boolean If enabled, uploaded |
channelDownloadEnabled | boolean If disabled, new |
uploadDuplicateCheckEnabled | boolean If active, there are duplicate checks on |
publicPortalSharingEnabled | boolean If disabled, you can not share the |
Responses
Request samples
- Payload
{- "portalTitle": "string",
- "playlistProtectionEnabled": false,
- "speakerIdentificationEnabled": false,
- "enableAdBanner": false,
- "transcriptionLanguage": "de",
- "customTrackingCode": "<link rel=\"preload\" href=\"https://data-9fcd0b641d.streamdiver.com/iomm/latest/manager/base/es6/bundle.js\" as=\"script\" id=\"IOMmBundle\" /><link rel=\"preload\" href=\"https://data-9fcd0b641d.streamdiver.com/iomm/latest/bootstrap/loader.js\" as=\"script\" /><script type=\"text/javascript\" src=\"//data-9fcd0b641d.streamdiver.com/iomm/latest/bootstrap/loader.js\"></script><script type=\"text/javascript\">some script;</script>",
- "autoSubtitles": true,
- "channelDownloadEnabled": true,
- "uploadDuplicateCheckEnabled": true,
- "publicPortalSharingEnabled": true
}
Response samples
- 404
{- "status": "error",
- "message": "Related error message"
}
Retrieve desings of the current tenant
Authorizations:
Responses
Response Schema: application/json
object or null (ChannelDesign) | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
object or null (PlayerDesign) | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
object (CenterDesign) | |||||||||||||||||||||||||||||||||||
|
Response samples
- 200
- 404
{- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}, - "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}, - "centerDesign": {
- "primaryColor": "#1f57a6",
- "secondaryColor": "#1f57a6",
- "backgroundColorOne": "#1f57a6",
- "backgroundColorTwo": "#1f57a6",
- "fontUrl": "string",
- "logoUrl": "string",
- "mainImageUrl": "string",
- "faviconUrl": "string",
- "headerFontColor": "#000",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}",
- "loginFormTitle": "Welcome!",
- "ssoButtonTitle": "Single sign on",
- "publicPortalButtonTitle": "Check our public content"
}
}
Update desings for the current tenant
Authorizations:
Request Body schema: application/jsonrequired
Designs
object or null (ChannelDesign) | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
object or null (PlayerDesign) | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
object (CenterDesign) | |||||||||||||||||||||||||||||
|
Responses
Request samples
- Payload
{- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}, - "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}, - "centerDesign": {
- "primaryColor": "#1f57a6",
- "secondaryColor": "#1f57a6",
- "backgroundColorOne": "#1f57a6",
- "backgroundColorTwo": "#1f57a6",
- "headerFontColor": "#000",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}",
- "loginFormTitle": "Welcome!",
- "ssoButtonTitle": "Single sign on",
- "publicPortalButtonTitle": "Check our public content"
}
}
Response samples
- 404
{- "status": "error",
- "message": "Related error message"
}
Retrieve tenant statistics
Retrieves various metrics of the authenticated user's tenant, including media assets, users, channels, processing, and consumption.
Authorizations:
query Parameters
metrics | Array of strings Items Enum: "totalUploadCount" "totalStorageUsage" "totalMediaDuration" "totalMediaAssetCount" "totalAdminsCount" "totalUsersCount" "privateChannelsCount" "publicChannelsCount" "tagsCount" "totalMediaTimeWatched" … 1 more A list of metrics to return (all metrics are included by default) |
assetType | string (MediaType) Enum: "video" "audio" "image" "document" An asset type to limit asset-related metrics to (all asset types are considered by default) |
includeRenditions | boolean A flag which determines whether to include all media asset renditions in |
currentMonth | boolean A flag which determines whether the metrics should be limited to the current month (no limitation by default; overrides |
from | string or null <date-time> Example: from=2020-04-12T23:20:50.52Z From date |
to | string or null <date-time> Example: to=2020-04-12T23:20:50.52Z To date |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||
required | object | ||||||||||||||||||||||
|
Response samples
- 200
- 401
- 404
{- "status": "success",
- "data": {
- "totalUploadCount": 1204,
- "totalStorageUsage": 25.6,
- "totalMediaDuration": 225,
- "totalMediaAssetCount": 1204,
- "totalAdminUsersCount": 5,
- "totalUsersCount": 10,
- "privateChannelsCount": 25,
- "publicChannelsCount": 25,
- "tagsCount": 20,
- "totalMediaTimeWatched": 1231,
- "totalMediaDurationProcessed": 225
}
}
Retrieve tenant resource
Authorizations:
path Parameters
resourceType required | string Enum: "centerMainImage" "centerLogo" "centerFont" "centerFavicon" "channelMainImage" "channelLogo" "channelHeaderfont" "channelBodyfont" "channelFavicon" "facebookShareImage" … 4 more Specify the resource type. The supported MIME types per resource type are:
|
Responses
Response Schema: application/octet-stream
Response samples
- 401
- 403
- 404
{- "status": "error",
- "message": "Related error message"
}
Upload tenant resource
Using this endpoint you can upload Tenant
resources like channelMainImage
or playButtonImage
. Note that the Channel
resources can be considered as Tenant
defaults for the Channel
resources, but designs
can be configured per Channel
as well.
Authorizations:
path Parameters
resourceType required | string Enum: "centerMainImage" "centerLogo" "centerFont" "centerFavicon" "channelMainImage" "channelLogo" "channelHeaderfont" "channelBodyfont" "channelFavicon" "facebookShareImage" … 4 more Specify the resource type. The supported MIME types per resource type are:
|
Request Body schema: multipart/form-datarequired
Tenant ressource file. For accepted MIME Types refer to type, otherwise content is not validated.
file | string <binary> |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Delete tenant resource
Using this endpoint you can delete tenant resources
Authorizations:
path Parameters
resourceType required | string Enum: "centerMainImage" "centerLogo" "centerFont" "centerFavicon" "channelMainImage" "channelLogo" "channelHeaderfont" "channelBodyfont" "channelFavicon" "facebookShareImage" … 4 more Specify the resource type. The supported MIME types per resource type are:
|
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Update a text resource of a tenant
Tenant Administrators can change text resources of type imprint
and privacy
. Text resources of type terms
are only editable for System Administrators.
Authorizations:
path Parameters
tenantTextResourceType required | string Enum: "imprint" "privacy" "terms" type of the text resource |
languageCode required |
Request Body schema: application/jsonrequired
Text
text required | string |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||
required | object (TenantTextResource) The default object structure | ||||||||
|
Request samples
- Payload
{- "text": "Some text string"
}
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "text": "Some text string",
- "languageCode": "de",
- "type": "imprint"
}
}
List metadata presets
Authorizations:
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||
Array of objects (MetadataPreset) | |||||||||||||
Array
|
Response samples
- 200
- 404
- default
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Language Model DE",
- "description": "Create metadata record with a transcript using presets for language DE.",
- "dependentOnPresetIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
], - "configurationSchema": "{\n \"type\": \"object\",\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"required\": [\n \"language\"\n ],\n \"properties\": {\n \"language\": {\n \"type\": \"string\",\n \"oneOf\": [\n {\n \"enum\": [\n \"de\",\n \"en\",\n \"dektn\"\n ]\n }\n ]\n }\n }\n}\n"
}
]
}
List language models for transcription
Retrieve the language models used for transcription, that are preconfigured for the current tenant.
Authorizations:
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||
required | Array of objects (TranscriptLanguageModel) | ||||
Array
|
Response samples
- 200
- 404
- default
{- "status": "success",
- "data": [
- {
- "transcriptLanguageModel": "de",
- "displayName": "Deutsch"
}
]
}
Update language models for transcription
Enables update of available languages for transcription.
Authorizations:
Request Body schema: application/jsonrequired
languageModels | Array of strings |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||
required | Array of objects (TranscriptLanguageModel) | ||||
Array
|
Request samples
- Payload
{- "languageModels": [
- [
- "en-v2",
- "de-v2"
]
]
}
Response samples
- 200
- 404
- default
{- "status": "success",
- "data": [
- {
- "transcriptLanguageModel": "de",
- "displayName": "Deutsch"
}
]
}
Get available subtitle languages
Retrieve the subtitle languages based on the available transcription languages of the tenant. It may depend on your subscription plan which languages are available.
Authorizations:
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||
required | Array of objects (SubtitleLanguage) | ||||
Array
|
Response samples
- 200
- 404
- default
{- "status": "success",
- "data": [
- {
- "languageCode": "de",
- "displayName": "Deutsch"
}
]
}
The Streamdiver API facilites the efficient retrieval of events associated with API resources like e.g. Media
assets via webhooks.
Webhooks are automated callback messages sent from one application to another in response to specific events, e.g. when a Media
asset is updated or deleted.
Webhook events overview:
ping
- sent to validate the connection to configured URL after awebhook
create or update. This event can also be triggered manually using the ping actionmedia.created
- sent when a newMedia
is added to the system. This is typically triggered after an upload is completed, but also when eg. file is importedmedia.updated
- triggered when aMedia
is updated. The payload includes the updatedMedia
representation and an array of the properties that were modified.media.deleted
- sent onMedia
deletion. Includes information whether delete operation was permanentmedia.restored
- sent when a previously deletedMedia
is recovered.
Webhook Webhook
HTTP POST request sent to the URL used in webhook creation.
Request Body schema: application/json
id | string <uuid> (RessourceId) The resource identifier. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
webhookId | string <uuid> Identifier of configured | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
event | string (WebhookEvent) Default: "ping" The event used to trigger a webhook request. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
triggeredByUserId | string <uuid> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
triggeredByUsername | string <email> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object (MediaWebhookData) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Request samples
- Payload
{- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "webhookId": "ed71eef4-4c34-46dc-81fe-954e560454fd",
- "event": "media.created",
- "triggeredByUserId": "d1704798-c073-4631-a9e3-ed8329695e39",
- "triggeredByUsername": "user@example.com",
- "data": {
- "object": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "description": "Der Vortrag Dr. Klöbner - Lorem ipsum dolor sit.",
- "copyright": "(c) Dr. Klöbner 2022",
- "tags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "dateTimeOriginalUtc": "2020-04-12T23:20:50.52Z",
- "type": "video",
- "status": "ready",
- "error": {
- "type": "ingestError",
- "message": "string"
}, - "file": {
- "name": "my_video.mov",
- "size": 123456789,
- "mimeType": "video/quicktime",
- "hash": "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
- "duration": "10:20:05",
- "durationInMilliseconds": 1596,
- "aspectRatio": "16:9"
}, - "thumbnail": {
- "height": 640,
- "width": 480,
}, - "usage": {
- "views": 100,
- "downloads": 3
}, - "feedback": {
- "average": 3,
- "user": 3
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true,
- "permissions": [
- "viewChannel"
]
}
], - "visibility": "private",
- "shareLink": {
- "url": "https://cdn.streamdiver.com/vod-tenant/_definst_/amlst:2021/03/d2f3f6a0-a186-4156-b784-248de16e9e2a/playlist.m3u8\n url:"
}, - "ingestInformation": {
- "ingestJobStatus": "initial",
- "progress": 100,
- "errorMessage": "Invalid source file, unaccepted video codec .FLV"
}, - "permissions": [
- "viewChannel"
], - "permissionsInAllChannels": [
- "viewChannel"
], - "hasMetadata": true,
- "renditions": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mimeType": "application/x-mpegURL",
- "height": 1080,
- "width": 1980,
- "status": "ready",
- "type": "videostream",
- "deprecated": true
}
], - "subtitles": [
- {
- "url": "{{ base_url }}/media/91194f15-6dd1-4a18-aa28-81f70d526045/subtitles/en",
- "languageCode": "en",
- "displayName": "English"
}
], - "isPartOfDownload": true,
- "player": "<sd-player-widget tenant-name=\"streamdiver\" asset-id=\"ee96622c-3454-4db3-92b3-8acf33d268e2\"></sd-player-widget><script type=\"module\" crossorigin src=\"/sdplayerwidget.min.js\"></script><link rel=\"stylesheet\" href=\"/sdplayerwidget.min.css\">"
}
}
}
List webhooks
Returns a list of Webhooks
the user has created.
Authorizations:
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||
required | Array of objects (Webhook) | ||||||||||||
Array
|
Response samples
- 200
- 401
- 403
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "enabled": true,
- "events": [
- "media.updated"
], - "headers": {
- "property1": "string",
- "property2": "string"
}
}
]
}
Create a webhook
Creates a new Webhook
for the current user targeting the given url
.
Authorizations:
Request Body schema: application/json
Create new webhook
url required | string <uri> The target URL for the webhook request to be issued by the system. | ||
enabled | boolean Determines whether requests should be sent to the URL or not. | ||
events required | Array of strings (WebhookEvent) non-empty Items Enum: "ping" "media.created" "media.updated" "media.deleted" "media.restored" Determines what events trigger this webhook. | ||
object A key/value list of HTTP headers to include with each webhook request, e.g., for authorization. | |||
|
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||
required | object (Webhook) | ||||||||||||
|
Request samples
- Payload
{- "enabled": true,
- "events": [
- "media.updated"
], - "headers": {
- "property1": "string",
- "property2": "string"
}
}
Response samples
- 201
- 401
- 403
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "enabled": true,
- "events": [
- "media.updated"
], - "headers": {
- "property1": "string",
- "property2": "string"
}
}
}
Retrieve a webhook
Retrieves a Webhook
by its identifier.
Authorizations:
path Parameters
webhookId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The webhook resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||
required | object (Webhook) | ||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "enabled": true,
- "events": [
- "media.updated"
], - "headers": {
- "property1": "string",
- "property2": "string"
}
}
}
Update a webhook
Updates a Webhook
with the provided configuration.
Authorizations:
path Parameters
webhookId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The webhook resource identifier |
Request Body schema: application/json
Create new webhook
url required | string <uri> The target URL for the webhook request to be issued by the system. | ||
enabled | boolean Determines whether requests should be sent to the URL or not. | ||
events required | Array of strings (WebhookEvent) non-empty Items Enum: "ping" "media.created" "media.updated" "media.deleted" "media.restored" Determines what events trigger this webhook. | ||
object A key/value list of HTTP headers to include with each webhook request, e.g., for authorization. | |||
|
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||
required | object (Webhook) | ||||||||||||
|
Request samples
- Payload
{- "enabled": true,
- "events": [
- "media.updated"
], - "headers": {
- "property1": "string",
- "property2": "string"
}
}
Response samples
- 200
- 401
- 403
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "enabled": true,
- "events": [
- "media.updated"
], - "headers": {
- "property1": "string",
- "property2": "string"
}
}
}
Delete a webhook
Deletes a Webhook
by its identifier.
Authorizations:
path Parameters
webhookId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The webhook resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Ping a webhook
Generates a ping
event to test the Webhook
configuration.
Authorizations:
path Parameters
webhookId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The webhook resource identifier |
Responses
Response samples
- 401
- 404
- 422
{- "status": "error",
- "message": "Related error message"
}
Move interactive stories into a channel
Bulk operation to assign many interactive storeies to a channel with one request
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Request Body schema: application/jsonrequired
List of StoryIds
storyIds | Array of strings <uuid> [ items <uuid > ] |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | object (Channel) | ||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "storyIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
]
}
Response samples
- 200
- 404
- 422
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
}
Remove interactive stories from a channel
Bulk operation to remove many interactive stories from a channel with one request. You can not remove an interactive story from its root interactive channel
Authorizations:
path Parameters
channelId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The channel resource identifier |
Request Body schema: application/jsonrequired
List of StoryIds
storyIds | Array of strings <uuid> [ items <uuid > ] |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||||||||||||||||||
required | object (Channel) | ||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "storyIds": [
- "09a40e8f-f561-4274-9337-9f148ec8ef22"
]
}
Response samples
- 200
- 404
- 422
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Channel 5",
- "description": "Description for channel 5. Lorem ipsum dolor sit.",
- "manualSort": -1,
- "downloadEnabled": true,
- "publicPortalSharingEnabled": true,
- "type": "user",
- "visibility": "private",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "featuredAtUtc": "2020-04-12T23:20:50.52Z",
- "mediaCount": 0,
- "media": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
], - "livestreams": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Live - Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "status": "created"
}
], - "permissions": [
- "viewChannel"
], - "mediaAssetsTags": [
- "MuellerLuedenscheidt",
- "Kloebner",
- "Duck"
], - "channelDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "channelDesign": {
- "mainColor": "#1f57a6",
- "pageBackgroundColor": "#1f57a6",
- "headerColor": "#1f57a6",
- "footerColor": "#1f57a6",
- "boxColor": "#1f57a6",
- "headerFontColor": "#1f57a6",
- "footerFontColor": "#1f57a6",
- "boxFontColor": "#1f57a6",
- "headerfontUrl": "string",
- "bodyfontUrl": "string",
- "mainImageUrl": "string",
- "logoUrl": "string",
- "faviconUrl": "string",
- "facebookShareImageUrl": "string",
- "twitterShareImageUrl": "string",
- "customCss": ".mdl-typography--display-1-color-contrast {opacity: 1;}"
}
}, - "playerDesign": {
- "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "name": "Template 1",
- "isTemplate": true,
- "isMain": true,
- "playerDesign": {
- "timelineColor": "#1f57a6",
- "cleanPlayer": true,
- "playButtonColor": "#1f57a6",
- "playButtonText": "Streamdiver Player",
- "playButtonImageUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/playButtonImage",
- "playButtonPositon": {
- "x": 900,
- "y": 600
}, - "playerBorder": [
- {
- "color": "#FAFAFA",
- "width": "1px",
- "style": "solid"
}
], - "enableMutedAutoplay": false,
- "activateInstructionsForPlaying": true,
- "showOverlayPlayerLogo": true,
- "overlayPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/channels/05215081-83ec-4488-92a6-d3827ca49658/overlayPlayerLogo",
- "overlayPlayerLogoPosition": "top-left",
- "showToolbarPlayerLogo": true,
- "toolbarPlayerLogoUrl": "https://staging-api.streamdiver.com/v2/tenants/05215081-83ec-4488-92a6-d3827ca49658/toolbarPlayerLogo",
- "enableControls": true,
- "enablePopout": true,
- "loopEnabled": true
}
}
}
}
Create an interactive story
An interactive Story
is based on scenes
and enables interactive video expierence.
Authorizations:
Request Body schema: application/jsonrequired
Story to add
name | string <= 255 characters |
description | string |
backwardsNavigationEnabled | boolean flag which allows backwards navigation in an interactive stories, if active, user is allowed to go back to last interaction |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (StoryExtended) | ||||||||||||||||||
|
Request samples
- Payload
{- "name": "Story zum Onboarding neuer Mitarbeiter",
- "description": "Diese Story begleitet Sie durch onboarding Prozess.",
- "backwardsNavigationEnabled": true
}
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Story zum Onboarding neuer Mitarbeiter",
- "description": "Diese Story führt sie begleitet Sie durch onboarding Prozess.",
- "permissions": [
- "viewChannel"
], - "quiz": {
- "isMandatory": false,
- "isOpenToTake": true,
- "latestAttemptUtc": "2024-10-15T21:10:50.52Z",
- "dueUntilUtc": "2024-12-12T23:20:30.50Z",
- "report": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "startedAtUtc": "string",
- "finishedAtUtc": "string",
- "status": "started",
- "type": "real",
- "passed": true,
- "rate": 0.1,
- "score": 0,
- "totalScoreToGain": 0,
- "attemptNumber": 0,
- "attemptCountLimit": 0
}
}, - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
], - "scenes": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "storyId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "overlays": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Image of user max.mustermann",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "css": "some json string with custom css",
- "url": "www.streamdiver.com",
- "type": "text"
}
], - "interactions": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Did you like this video?",
- "description": "a question directed to a user who watches the interactive story",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "required": false,
- "css": "some json string with custom css",
- "questionSetId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "options": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": null,
- "name": null
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": null,
- "name": null
}
}, - "text": "Answer 1",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "interactionId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "overlayId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "type": "continue"
}
]
}
]
}
], - "backwardsNavigationEnabled": true
}
}
List interactive stories
This endpoint retrieves a list of available stories.
It supports advanced filtering and sorting options for the associated quiz
data.
Filtering Options:
filter=quiz=true
: Lists allStories
that have an activequiz
feature.filter=quiz.isMandatory=true
: Lists allStories
where thequiz
is mandatory for the user, based onquiz
settings.filter=quiz.isOpenToTake=true
: Lists allStories
where thequiz
is currently open for the user to take an attempt, based onquiz
settings.
Sorting Options:
sort=quiz.dueUntilUtc:desc
: Sorts the list by thequiz
expiry date in descending order.sort=quiz.report.rate:desc
: Sorts the list by the latest attempt rate in descending order.sort=quiz.latestAttemptUtc:desc
: Sorts the list by the latest attempt time in descending order.
Note: Omitting :desc
in the sorting parameter reverses the sorting order to ascending. For example, sort=quiz.dueUntilUtc
will sort by the expiry date in ascending order.
By leveraging these filters and sorting parameters, users can efficiently query Stories
tailored to specific conditions and priorities.
Authorizations:
query Parameters
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
sort | string Example: sort=name or name:desc The sort property name and order (add ":desc" for descending). Properties from response object can be used, which are simple (non-complex) properties. Only a single field is supported. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||
required | Array of objects (Story) | ||||||||||||
Array
|
Response samples
- 200
- 404
- default
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Story zum Onboarding neuer Mitarbeiter",
- "description": "Diese Story führt sie begleitet Sie durch onboarding Prozess.",
- "permissions": [
- "viewChannel"
], - "quiz": {
- "isMandatory": false,
- "isOpenToTake": true,
- "latestAttemptUtc": "2024-10-15T21:10:50.52Z",
- "dueUntilUtc": "2024-12-12T23:20:30.50Z",
- "report": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "startedAtUtc": "string",
- "finishedAtUtc": "string",
- "status": "started",
- "type": "real",
- "passed": true,
- "rate": 0.1,
- "score": 0,
- "totalScoreToGain": 0,
- "attemptNumber": 0,
- "attemptCountLimit": 0
}
}
}
]
}
Retrieve an interactive story
Retrieves an interactive Story
will load all linked scenes
plus its assosciated Overlays
and Interactions
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (StoryExtended) | ||||||||||||||||||
|
Response samples
- 200
- 401
- 403
- 404
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Story zum Onboarding neuer Mitarbeiter",
- "description": "Diese Story führt sie begleitet Sie durch onboarding Prozess.",
- "permissions": [
- "viewChannel"
], - "quiz": {
- "isMandatory": false,
- "isOpenToTake": true,
- "latestAttemptUtc": "2024-10-15T21:10:50.52Z",
- "dueUntilUtc": "2024-12-12T23:20:30.50Z",
- "report": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "startedAtUtc": "string",
- "finishedAtUtc": "string",
- "status": "started",
- "type": "real",
- "passed": true,
- "rate": 0.1,
- "score": 0,
- "totalScoreToGain": 0,
- "attemptNumber": 0,
- "attemptCountLimit": 0
}
}, - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
], - "scenes": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "storyId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "overlays": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Image of user max.mustermann",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "css": "some json string with custom css",
- "url": "www.streamdiver.com",
- "type": "text"
}
], - "interactions": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Did you like this video?",
- "description": "a question directed to a user who watches the interactive story",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "required": false,
- "css": "some json string with custom css",
- "questionSetId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "options": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": null,
- "name": null
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": null,
- "name": null
}
}, - "text": "Answer 1",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "interactionId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "overlayId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "type": "continue"
}
]
}
]
}
], - "backwardsNavigationEnabled": true
}
}
Delete an interactive story
Deletes an interactive Story
by id. It will delete all linked scenes
plus its assosciated Overlays
and Interactions
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Update an interactive story
Update an interactive Story
name or description.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
Request Body schema: application/jsonrequired
Story to update
name | string <= 255 characters |
description | string |
backwardsNavigationEnabled | boolean flag which allows backwards navigation in an interactive stories, if active, user is allowed to go back to last interaction |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (StoryExtended) | ||||||||||||||||||
|
Request samples
- Payload
{- "name": "Story zum Onboarding neuer Mitarbeiter",
- "description": "Diese Story begleitet Sie durch onboarding Prozess.",
- "backwardsNavigationEnabled": true
}
Response samples
- 200
- 401
- 404
- 422
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Story zum Onboarding neuer Mitarbeiter",
- "description": "Diese Story führt sie begleitet Sie durch onboarding Prozess.",
- "permissions": [
- "viewChannel"
], - "quiz": {
- "isMandatory": false,
- "isOpenToTake": true,
- "latestAttemptUtc": "2024-10-15T21:10:50.52Z",
- "dueUntilUtc": "2024-12-12T23:20:30.50Z",
- "report": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "startedAtUtc": "string",
- "finishedAtUtc": "string",
- "status": "started",
- "type": "real",
- "passed": true,
- "rate": 0.1,
- "score": 0,
- "totalScoreToGain": 0,
- "attemptNumber": 0,
- "attemptCountLimit": 0
}
}, - "channels": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "MyCatVideos",
- "visibility": "private",
- "downloadEnabled": true
}
], - "scenes": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "storyId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "overlays": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Image of user max.mustermann",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "css": "some json string with custom css",
- "url": "www.streamdiver.com",
- "type": "text"
}
], - "interactions": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Did you like this video?",
- "description": "a question directed to a user who watches the interactive story",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "required": false,
- "css": "some json string with custom css",
- "questionSetId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "options": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": null,
- "name": null
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": null,
- "name": null
}
}, - "text": "Answer 1",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "interactionId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "overlayId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "type": "continue"
}
]
}
]
}
], - "backwardsNavigationEnabled": true
}
}
Create a scene
A scene
is the main element of an interactive Story
. A scene can be linked to Media
sections and holds a list of Overlays
and Interactions
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
Request Body schema: application/jsonrequired
Scene to add
name required | string <= 255 characters |
description | string |
sortNumber | integer used in order to enable sorting |
sectionId | string or null <uuid> id of the MediaSection to which the Scene refers |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (Scene) | ||||||||||||||||||
|
Request samples
- Payload
{- "name": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "sectionId": "6f3f4931-125f-484d-965a-17af4eb7c8ec"
}
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "storyId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "overlays": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Image of user max.mustermann",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "css": "some json string with custom css",
- "url": "www.streamdiver.com",
- "type": "text"
}
], - "interactions": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Did you like this video?",
- "description": "a question directed to a user who watches the interactive story",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "required": false,
- "css": "some json string with custom css",
- "questionSetId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "options": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Answer 1",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "interactionId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "overlayId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "type": "continue"
}
]
}
]
}
}
Update a scene
Update a scene
of an interactive Story
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
Request Body schema: application/jsonrequired
Scene to add
name required | string <= 255 characters |
description | string |
sortNumber | integer used in order to enable sorting |
sectionId | string or null <uuid> id of the MediaSection to which the Scene refers |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (Scene) | ||||||||||||||||||
|
Request samples
- Payload
{- "name": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "sectionId": "6f3f4931-125f-484d-965a-17af4eb7c8ec"
}
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "storyId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "overlays": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Image of user max.mustermann",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "css": "some json string with custom css",
- "url": "www.streamdiver.com",
- "type": "text"
}
], - "interactions": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Did you like this video?",
- "description": "a question directed to a user who watches the interactive story",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "required": false,
- "css": "some json string with custom css",
- "questionSetId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "options": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Answer 1",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "interactionId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "overlayId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "type": "continue"
}
]
}
]
}
}
Delete a scene
Deleting a scene
of an interactive Story
will also delete all referenced Interactions
and Overlays
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Link a section with a scene
The Media
asset to which the Section
belongs must be part of the Stories
interactive Channel
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
sectionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (Scene) | ||||||||||||||||||
|
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Wie schalte ich mein Notebook ein?",
- "description": "In diesem Abschnitt wird Ihnen erklärt wie Sie ihr notebook einschalten",
- "sortNumber": 1,
- "storyId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "section": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "title": "Chapter 1 - Lorem ipsum dolor sit",
- "type": "time",
- "thumbnail": {
- "height": 640,
- "width": 480,
}, - "mimeType": "application/x-mpegURL",
- "start": 5000.223,
- "end": 20000.012213,
- "chapterId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "mediaAsset": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "Aufzeichnung Vortrag Dr. Klöbner",
- "thumbnailUrl": "string",
- "featuredAtUtc": "2020-09-16T23:20:50.52Z",
- "type": "video"
}
}, - "overlays": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Image of user max.mustermann",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "css": "some json string with custom css",
- "url": "www.streamdiver.com",
- "type": "text"
}
], - "interactions": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Did you like this video?",
- "description": "a question directed to a user who watches the interactive story",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "required": false,
- "css": "some json string with custom css",
- "questionSetId": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "options": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Answer 1",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "interactionId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "overlayId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "type": "continue"
}
]
}
]
}
}
Unlink a section from a scene
The assosciation between this two entities will be removed. Another Section
can be linked to this Story
scene
afterwards.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
sectionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
List story members
List all members and their roles for a Story
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
query Parameters
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | Array of objects (StoryMember) | ||||||||||||||||||
Array
|
Response samples
- 200
- 404
- default
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "displayName": "Group 4711",
- "type": "usergroup",
- "role": "consumer",
- "permissions": [
- "viewChannel"
], - "userCount": 0,
- "pending": true,
- "quiz": {
- "isMandatory": false,
- "isOpenToTake": true,
- "latestAttemptUtc": "2024-10-15T21:10:50.52Z",
- "dueUntilUtc": "2024-12-12T23:20:30.50Z",
- "report": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "startedAtUtc": "string",
- "finishedAtUtc": "string",
- "status": "started",
- "type": "real",
- "passed": true,
- "rate": 0.1,
- "score": 0,
- "totalScoreToGain": 0,
- "attemptNumber": 0,
- "attemptCountLimit": 0
}
}
}
]
}
Create an interaction
Interactions
inside an scene
of an interactive Story
require a user action (like an answer to a question) which paths to a another scene
, Interaction
or Overlay
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
Request Body schema: application/jsonrequired
Interaction
title required | string |
description | string |
start | number <double> Start of |
end | number <double> End of |
required | boolean Indicates if the |
css | string Custom css field to style the |
questionSetId | string or null <uuid> Optional id of linked |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||
required | object (InteractionMinimal) | ||||||||||||||||||||
|
Request samples
- Payload
{- "title": "Did you like this video?",
- "description": "a question directed to a user who watches the interactive story",
- "start": 5000.223,
- "end": 20000.012213,
- "required": false,
- "css": "some json string with custom css",
- "questionSetId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Did you like this video?",
- "description": "a question directed to a user who watches the interactive story",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "required": false,
- "css": "some json string with custom css",
- "questionSetId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
}
Update an interaction
Updates an Interaction
of a scene
of an interactive Story
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
interactionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The interaction resource identifier |
Request Body schema: application/jsonrequired
Interaction
title required | string |
description | string |
start | number <double> Start of |
end | number <double> End of |
required | boolean Indicates if the |
css | string Custom css field to style the |
questionSetId | string or null <uuid> Optional id of linked |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||||
required | object (InteractionMinimal) | ||||||||||||||||||||
|
Request samples
- Payload
{- "title": "Did you like this video?",
- "description": "a question directed to a user who watches the interactive story",
- "start": 5000.223,
- "end": 20000.012213,
- "required": false,
- "css": "some json string with custom css",
- "questionSetId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "title": "Did you like this video?",
- "description": "a question directed to a user who watches the interactive story",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "required": false,
- "css": "some json string with custom css",
- "questionSetId": "09a40e8f-f561-4274-9337-9f148ec8ef22"
}
}
Delete an interaction
It deletes an Interaction
of an interactive Story
. All referenced options
of the Interaction
will be also deleted.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
interactionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The interaction resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Create an option
It creates an option
for a scene
of an Interaction
of an interactive Story
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
interactionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The interaction resource identifier |
Request Body schema: application/jsonrequired
Option
text required | string |
sceneId | string or null <uuid> optional id of an option of an scene of the interactive story. If user goes for this option, he jumps to this entry |
interactionId | string or null <uuid> optional id of an interaction of a Scene of the interactive story. If user goes for this option, he jumps to this interaction |
overlayId | string or null <uuid> optional id of an overlay of a Scene of the interactive story. If user goes for this option, he jumps to this overlay |
type | string Enum: "continue" "redirect" |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||
required | object (Option) An option of an interaction | ||||||||||||||
|
Request samples
- Payload
{- "text": "Answer 1",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "interactionId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "overlayId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "type": "continue"
}
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Answer 1",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "interactionId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "overlayId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "type": "continue"
}
}
Update an option
It updates an option
of an Interaction
of an interactive Story
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
interactionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The interaction resource identifier |
optionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The option resource identifier |
Request Body schema: application/jsonrequired
Option
text required | string |
sceneId | string or null <uuid> optional id of an option of an scene of the interactive story. If user goes for this option, he jumps to this entry |
interactionId | string or null <uuid> optional id of an interaction of a Scene of the interactive story. If user goes for this option, he jumps to this interaction |
overlayId | string or null <uuid> optional id of an overlay of a Scene of the interactive story. If user goes for this option, he jumps to this overlay |
type | string Enum: "continue" "redirect" |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||
required | object (Option) An option of an interaction | ||||||||||||||
|
Request samples
- Payload
{- "text": "Answer 1",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "interactionId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "overlayId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "type": "continue"
}
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Answer 1",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "interactionId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "overlayId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "type": "continue"
}
}
Delete an option
It deletes an option
of an Interaction
of an interactive Story
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
interactionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The interaction resource identifier |
optionId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The option resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
Create an overlay
It creates an overlay
for a scene
of an interactive Story
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
Request Body schema: application/jsonrequired
Overlay
text required | string |
start | number <double> start of interaction in milliseconds |
end | number <double> end of interaction in milliseconds |
css | string custom css field to style the overlay |
url | string linkt to some website or url of an image resource |
type | string Enum: "text" "link" "image" |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (Overlay) | ||||||||||||||||||
|
Request samples
- Payload
{- "text": "Image of user max.mustermann",
- "start": 5000.223,
- "end": 20000.012213,
- "css": "some json string with custom css",
- "url": "www.streamdiver.com",
- "type": "text"
}
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Image of user max.mustermann",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "css": "some json string with custom css",
- "url": "www.streamdiver.com",
- "type": "text"
}
}
Update an overlay
Updates an overlay
of a scene
of an interactive Story
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
overlayId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The overlay resource identifier |
Request Body schema: application/jsonrequired
Overlay
text required | string |
start | number <double> start of interaction in milliseconds |
end | number <double> end of interaction in milliseconds |
css | string custom css field to style the overlay |
url | string linkt to some website or url of an image resource |
type | string Enum: "text" "link" "image" |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||||||||
required | object (Overlay) | ||||||||||||||||||
|
Request samples
- Payload
{- "text": "Image of user max.mustermann",
- "start": 5000.223,
- "end": 20000.012213,
- "css": "some json string with custom css",
- "url": "www.streamdiver.com",
- "type": "text"
}
Response samples
- 201
- 404
- default
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "text": "Image of user max.mustermann",
- "sceneId": "6f3f4931-125f-484d-965a-17af4eb7c8ec",
- "start": 5000.223,
- "end": 20000.012213,
- "css": "some json string with custom css",
- "url": "www.streamdiver.com",
- "type": "text"
}
}
Delete an overlay
It deletes an overlay
of a scene
of an interactive Story
.
Authorizations:
path Parameters
storyId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The story resource identifier |
sceneId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The scene resource identifier |
overlayId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The overlay resource identifier |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" |
Response samples
- 200
- 401
- 403
- 404
{- "status": "success"
}
List public stories
The public Stories
endpoint returns a list of all interactive Stories
which are public
No authentication required
Authorizations:
path Parameters
tenantShortcode required | string Unique shortcode of a tenant - equals to realm name in Keycloak |
query Parameters
perpage | integer <int32> ( 0 .. 50 ] Default: 10 Number of items returned per response. |
page | integer Default: 0 Page number (0-based) of paginated results. |
filter | string Example: filter=name=Demo or tags=tag1 or tags=tag1%2btags=tag2 The properties to filter the result with. In case of multiple filters, use '+' (has to be URL encoded, %2b) |
sort | string Example: sort=name or name:desc The sort property name and order (add ":desc" for descending). Properties from response object can be used, which are simple (non-complex) properties. Only a single field is supported. |
Responses
X-Total-Count | integer Total count of items |
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||||
required | Array of objects (Story) | ||||||||||||
Array
|
Response samples
- 200
- 404
{- "status": "success",
- "data": [
- {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "name": "Story zum Onboarding neuer Mitarbeiter",
- "description": "Diese Story führt sie begleitet Sie durch onboarding Prozess.",
- "permissions": [
- "viewChannel"
], - "quiz": {
- "isMandatory": false,
- "isOpenToTake": true,
- "latestAttemptUtc": "2024-10-15T21:10:50.52Z",
- "dueUntilUtc": "2024-12-12T23:20:30.50Z",
- "report": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "startedAtUtc": "string",
- "finishedAtUtc": "string",
- "status": "started",
- "type": "real",
- "passed": true,
- "rate": 0.1,
- "score": 0,
- "totalScoreToGain": 0,
- "attemptNumber": 0,
- "attemptCountLimit": 0
}
}
}
]
}
Assign tenant role
Assigns tenant role to a User
or Usergroup
.
Authorizations:
path Parameters
memberId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The member resource identifier |
Request Body schema: application/jsonrequired
memberType required | string (MemberType) Enum: "user" "usergroup" |
role required | string (TenantRole) Enum: "Publisher" "Live Streamer" "Tenant Administrator" |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||
required | object (RoleMember) | ||||||||||
|
Request samples
- Payload
{- "memberType": "usergroup",
- "role": "Publisher"
}
Response samples
- 201
- 400
- 401
- 403
- 404
- 409
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "displayName": "Group 4711",
- "type": "usergroup",
- "roles": [
- {
- "name": "Admin",
- "description": "Role for managing and uploading content",
- "permissions": [
- "viewChannel"
]
}
]
}
}
Remove tenant role assignment
Deletes specified role assignment from a User
or Usergroup
.
Authorizations:
path Parameters
memberId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The member resource identifier |
Request Body schema: application/jsonrequired
role required | string (TenantRole) Enum: "Publisher" "Live Streamer" "Tenant Administrator" |
Responses
Request samples
- Payload
{- "role": "Publisher"
}
Response samples
- 400
- 401
- 403
- 404
- 422
{- "status": "error",
- "message": "Related error message"
}
Assigns superadmin role
Assigns superadmin role to a User
or Usergroup
Authorizations:
path Parameters
memberId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The member resource identifier |
Request Body schema: application/jsonrequired
memberType required | string (MemberType) Enum: "user" "usergroup" |
Responses
Response Schema: application/json
status required | string Enum: "success" "fail" "error" | ||||||||||
required | object (RoleMember) | ||||||||||
|
Request samples
- Payload
{- "memberType": "usergroup"
}
Response samples
- 201
- 401
- 403
- 404
- 409
{- "status": "success",
- "data": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "audit": {
- "createdAtUtc": "2020-04-12T23:20:50.52Z",
- "createdBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}, - "updatedAtUtc": "2020-09-16T23:20:50.52Z",
- "updatedBy": {
- "id": "09a40e8f-f561-4274-9337-9f148ec8ef22",
- "name": "max.mustermann@example.org"
}
}, - "displayName": "Group 4711",
- "type": "usergroup",
- "roles": [
- {
- "name": "Admin",
- "description": "Role for managing and uploading content",
- "permissions": [
- "viewChannel"
]
}
]
}
}
Remove superadmin role
Removes superadmin role assignement from a User
or Usergroup
Authorizations:
path Parameters
memberId required | string <uuid> (RessourceId) Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 The member resource identifier |
Responses
Response samples
- 401
- 403
- 404
- 422
{- "status": "error",
- "message": "Related error message"
}