Download OpenAPI specification:
JSON Routes for Opencast V3
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set |
limit | integer >= 20 Default: 20 The numbers of items to return |
Array of objects (Filter) Pass some filters to narrow down the list of videos |
{- "count": 0,
- "videos": [
- {
- "id": 0,
- "token": "string",
- "config_id": 0,
- "episode": "string",
- "title": "string",
- "description": "string",
- "duration": 0,
- "views": 0,
- "preview": {
- "search": "string",
- "player": "string",
- "has_previews": true
}, - "publication": {
- "downloads": [
- {
- "type": "string",
- "url": "string",
- "info": "string",
- "size": 0
}
], - "annotation_tool": "string",
- "track_link": "string"
}, - "visibility": "string",
- "created": "2019-08-24T14:15:22Z",
- "presenters": "string",
- "contributors": "string",
- "chdate": 0,
- "mkdate": 0,
- "perm": true,
- "courses": [
- "string"
], - "tags": [
- "string"
]
}
]
}
{- "video": {
- "id": 0,
- "token": "string",
- "config_id": 0,
- "episode": "string",
- "title": "string",
- "description": "string",
- "duration": 0,
- "views": 0,
- "preview": {
- "search": "string",
- "player": "string",
- "has_previews": true
}, - "publication": {
- "downloads": [
- {
- "type": "string",
- "url": "string",
- "info": "string",
- "size": 0
}
], - "annotation_tool": "string",
- "track_link": "string"
}, - "visibility": "string",
- "created": "2019-08-24T14:15:22Z",
- "presenters": "string",
- "contributors": "string",
- "chdate": 0,
- "mkdate": 0,
- "perm": true,
- "courses": [
- "string"
], - "tags": [
- "string"
]
}
}
token required | string ID of the video |
Video object to be updated
id | integer |
token | string <varchar(8)> If not empty, this is the token for videos made accesible via secret link |
config_id | integer opencast config this video belongs to |
episode | string The id of the event in Opencast |
title | string |
description | string |
duration | integer video duration in milliseconds |
views | integer number of clicks for this video from Stud.IP |
object | |
object | |
visibility | string |
created | string <date-time> |
presenters | string |
contributors | string |
chdate | integer |
mkdate | integer |
perm | boolean |
courses | Array of strings |
tags | Array of strings |
{ }
Move video to trashbin or delete it from Stud.IP and Opencast completely if already trashed! This operation will completely remove a video if it is in the trashbin. It will remove the entry from Stud.IP and retract and delete the event completely in Opencast, so use with care!'
token required | integer ID of the video |
{ }
Add a video to Stud.IP (used after upload an event to Opencast)
episode_id required | string UUID of the event in Opencast |
Video object to be addedd
config_id | integer opencast config this video belongs to |
title | string |
description | string |
duration | integer video duration in milliseconds |
state | string |
created | string <date-time> |
presenters | string |
contributors | string |
{- "message": "string",
- "event": {
- "id": 0,
- "token": "string",
- "config_id": 0,
- "episode": "string",
- "title": "string",
- "description": "string",
- "duration": 0,
- "views": 0,
- "preview": {
- "search": "string",
- "player": "string",
- "has_previews": true
}, - "publication": {
- "downloads": [
- {
- "type": "string",
- "url": "string",
- "info": "string",
- "size": 0
}
], - "annotation_tool": "string",
- "track_link": "string"
}, - "visibility": "string",
- "created": "2019-08-24T14:15:22Z",
- "presenters": "string",
- "contributors": "string",
- "chdate": 0,
- "mkdate": 0,
- "perm": true,
- "courses": [
- "string"
], - "tags": [
- "string"
]
}
}
Sends a technical feedback for the video with the passed token to the configured OPENCAST_SUPPORT_EMAIL
token required | string ID of the video |
Video object to be updated
description | string |
{- "description": "string"
}
{- "message": "string"
}
Set playlist links for the video with the passed token, clearing out all not passed playlist links.
token required | string ID of the video |
List of courses to link to
Array of objects |
{- "courses": [
- {
- "id": "string"
}
]
}
{- "message": "string"
}
This is used to list all videos which can be included in the courseware by the session user. The difference to the /videos
route is, that only videos the user has owner perms on are listed (and not simply read perms)
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set |
limit | integer >= 20 Default: 20 The numbers of items to return |
Array of objects (Filter) Pass some filters to narrow down the list of videos |
{- "count": 0,
- "videos": [
- {
- "id": 0,
- "token": "string",
- "config_id": 0,
- "episode": "string",
- "title": "string",
- "description": "string",
- "duration": 0,
- "views": 0,
- "preview": {
- "search": "string",
- "player": "string",
- "has_previews": true
}, - "publication": {
- "downloads": [
- {
- "type": "string",
- "url": "string",
- "info": "string",
- "size": 0
}
], - "annotation_tool": "string",
- "track_link": "string"
}, - "visibility": "string",
- "created": "2019-08-24T14:15:22Z",
- "presenters": "string",
- "contributors": "string",
- "chdate": 0,
- "mkdate": 0,
- "perm": true,
- "courses": [
- "string"
], - "tags": [
- "string"
]
}
]
}
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set |
limit | integer >= 20 Default: 20 The numbers of items to return |
[- {
- "title": "Meine Videos",
- "description": "string",
- "visibility": "internal",
- "mkdate": "2019-08-24T14:15:22Z",
- "chdate": "2019-08-24T14:15:22Z",
- "references": [
- {
- "course_id": "string",
- "visibility": "hidden"
}
]
}
]
Playlist object to be added for the current user
title required | string |
description | string |
visibility | string Enum: "internal" "free" "public" |
mkdate | string <date-time> |
chdate | string <date-time> |
Array of objects (PlaylistReference) |
{ }
token required | string ID of the playlist |
Playlist object to be updated
title required | string |
description | string |
visibility | string Enum: "internal" "free" "public" |
mkdate | string <date-time> |
chdate | string <date-time> |
Array of objects (PlaylistReference) |
{ }
token required | string token reference for playlist |
Target course and playlist settings
course | string Course-ID |
is_default | boolean |
{- "course": "string",
- "is_default": true
}
{- "message": "string"
}
token required | string ID of the playlist |
cid | string Course ID as context for the playlist |
[- {
- "id": 0,
- "token": "string",
- "config_id": 0,
- "episode": "string",
- "title": "string",
- "description": "string",
- "duration": 0,
- "views": 0,
- "preview": {
- "search": "string",
- "player": "string",
- "has_previews": true
}, - "publication": {
- "downloads": [
- {
- "type": "string",
- "url": "string",
- "info": "string",
- "size": 0
}
], - "annotation_tool": "string",
- "track_link": "string"
}, - "visibility": "string",
- "created": "2019-08-24T14:15:22Z",
- "presenters": "string",
- "contributors": "string",
- "chdate": 0,
- "mkdate": 0,
- "perm": true,
- "courses": [
- "string"
], - "tags": [
- "string"
]
}
]
token required | string ID of the playlist |
username required | string User to add/modify perms for the playlist |
perm required | string Enum: "owner" "write" "read" "share" The perm the user shall have |
Set order of videos for the playlist with the passed token, giving each video a defined position
token required | string ID of the video |
List of courses to link to
[- "video_token_1",
- "video_token_2"
]
{- "message": "string"
}
Set course links for the playlist with the passed token, clearing out all not passed course links
token required | string ID of the video |
List of courses to link to
Array of objects |
{- "courses": [
- {
- "id": "string"
}
]
}
{- "message": "string"
}
token required | string ID of the playlist |
course_id required | string ID of course |
type required | string Enum: "livestreams" "scheduled" Type of recording |
{- "message": "string"
}
token required | string ID of the playlist |
course_id required | string ID of course |
Playlist settings
title required | string |
description | string |
visibility | string Enum: "internal" "free" "public" |
mkdate | string <date-time> |
chdate | string <date-time> |
Array of objects (PlaylistReference) | |
is_default | boolean |
{- "title": "Meine Videos",
- "description": "string",
- "visibility": "internal",
- "mkdate": "2019-08-24T14:15:22Z",
- "chdate": "2019-08-24T14:15:22Z",
- "references": [
- {
- "course_id": "string",
- "visibility": "hidden"
}
], - "is_default": true
}
{- "title": "Meine Videos",
- "description": "string",
- "visibility": "internal",
- "mkdate": "2019-08-24T14:15:22Z",
- "chdate": "2019-08-24T14:15:22Z",
- "references": [
- {
- "course_id": "string",
- "visibility": "hidden"
}
]
}
course_id required | string ID of course |
[- {
- "id": 0,
- "token": "string",
- "config_id": 0,
- "episode": "string",
- "title": "string",
- "description": "string",
- "duration": 0,
- "views": 0,
- "preview": {
- "search": "string",
- "player": "string",
- "has_previews": true
}, - "publication": {
- "downloads": [
- {
- "type": "string",
- "url": "string",
- "info": "string",
- "size": 0
}
], - "annotation_tool": "string",
- "track_link": "string"
}, - "visibility": "string",
- "created": "2019-08-24T14:15:22Z",
- "presenters": "string",
- "contributors": "string",
- "chdate": 0,
- "mkdate": 0,
- "perm": true,
- "courses": [
- "string"
], - "tags": [
- "string"
]
}
]
course_id required | string ID of course |
semester_filter required | string ID of the selected semester filter or 'all' |
{- "id": 0,
- "resource_id": "ddce269a1e3d054cae349621c198dd52",
- "date_id": "ddce269a1e3d054cae349621c198dd52",
- "event_id": "f8c3de3d-1fea-4d7c-a8b0-29f63c4c3454"
}
Toggle if students can upload videos to this course. This route respects the setting OPENCAST_TUTOR_EPISODE_PERM
, which toggles if tutor have the same rights in a course as lecturers
course_id required | string ID of course |
upload required | boolean Shall upload for students be allowed in this course? |
Configure the default visibility for videos in this course. Videos with modified visiblity are unaffected.
course_id required | string ID of course |
Visibility setting. default
means using the global setting
visibility_option | string Enum: "default" "visible" "hidden" |
{- "visibility_option": "default"
}
course_id required | string ID of course |
termin_id required | string ID of scheduled event |
{- "id": 0,
- "resource_id": "ddce269a1e3d054cae349621c198dd52",
- "date_id": "ddce269a1e3d054cae349621c198dd52",
- "event_id": "f8c3de3d-1fea-4d7c-a8b0-29f63c4c3454"
}
course_id required | string ID of course |
termin_id required | string ID of scheduled event |
Update an existing scheduled event
id | integer |
resource_id required | string |
date_id required | string |
event_id | string |
{- "id": 0,
- "resource_id": "ddce269a1e3d054cae349621c198dd52",
- "date_id": "ddce269a1e3d054cae349621c198dd52",
- "event_id": "f8c3de3d-1fea-4d7c-a8b0-29f63c4c3454"
}
course_id required | string ID of course |
termin_id required | string ID of scheduled event |
ScheduledEvent object to be added, course is determined by date_id
id | integer |
resource_id required | string |
date_id required | string |
event_id | string |
{ }
Pass a bulk operation type and a list of events to apply the bulk operation to
course_id required | string ID of course |
Schedule events to bulk operate on
action | string Enum: "schedule" "unschedule" "update" "live" |
termin_ids | Array of strings |
{- "action": "schedule",
- "termin_ids": [
- "string"
]
}
{ }
Returns the user with all necessary role ids
username required | string The name that needs to be fetched. |
token required | string API Key to use for the call |
{- "username": "string",
- "roles": [
- "string"
]
}
Returns a data structur with details and permissions for the currently authenticated user
{- "type": "user",
- "id": "string",
- "data": {
- "id": "string",
- "username": "string",
- "fullname": "string",
- "status": "user",
- "admin": true,
- "can_edit": true
}
}
Search in users accessible to the currently authenticated user
search_term required | string Part of user data to search for |
[- {
- "type": "user",
- "id": "string",
- "data": {
- "id": "string",
- "username": "string",
- "fullname": "string",
- "status": "user",
- "admin": true,
- "can_edit": true
}
}
]