Opencast

Series Service REST Documentation

/series
This service creates, edits and retrieves and helps managing series.

General Notes

Table of Contents

Read methods

Method / Path: GET /allInRangeAdministrative.json
Description: Internal API! Returns all series (included deleted ones!) in the given range 'from' (inclusive) .. 'to' (exclusive). Returns at most 'limit' many series. Can only be used as administrator!
Path params: NONE
Required (form) params: from: Start of date range (inclusive) in milliseconds since 1970-01-01T00:00:00Z. Has to be >=0.
limit: Maximum number of series to be returned. Has to be >0.
Optional (query) params: to(Default value=0): End of date range (exclusive) in milliseconds since 1970-01-01T00:00:00Z. Has to be > 'from'.
Response formats: application/json
Status codes: 200: OK, All series in the range
400: Bad Request, if the given parameters are invalid
401: Unauthorized, If the user is not an administrator
Notes:
  • Return value description: Series in the range
Testing:
Sample: /allInRangeAdministrative.json?to=0
Testing form (click to reveal)
Method / Path: GET /count
Description: Returns the number of series
Path params: NONE
Optional (query) params: NONE
Response formats: text/plain
Status codes: 200: OK, The number of series
Notes:
  • Return value description: Returns the number of series
Testing:
Sample: /count
/series/count
Method / Path: GET /{seriesID:.+}/acl.json
Description: Returns the access control list for the series with the given identifier
Path params: seriesID: The series identifier
Optional (query) params: NONE
Response formats: application/json
Status codes: 200: OK, The access control list.
404: Not Found, No series with this identifier was found.
Notes:
  • Return value description: Returns the series ACL as JSON
Testing:
Sample: /{seriesID:.+}/acl.json
Testing form (click to reveal)
Method / Path: GET /{seriesID:.+}/acl.xml
Description: Returns the access control list for the series with the given identifier
Path params: seriesID: The series identifier
Optional (query) params: NONE
Response formats: text/xml
Status codes: 200: OK, The access control list.
404: Not Found, No series with this identifier was found.
Notes:
  • Return value description: Returns the series ACL as XML
Testing:
Sample: /{seriesID:.+}/acl.xml
Testing form (click to reveal)
Method / Path: GET /{seriesID:.+}.json
Description: Returns the series with the given identifier
Path params: seriesID: The series identifier
Optional (query) params: NONE
Response formats: application/json
Status codes: 200: OK, The series dublin core.
404: Not Found, No series with this identifier was found.
401: Unauthorized, You do not have permission to view this series. Maybe you need to authenticate.
Notes:
  • Return value description: Returns the series dublin core JSON document
Testing:
Sample: /{seriesID:.+}.json
Testing form (click to reveal)
Method / Path: GET /{seriesID:.+}.xml
Description: Returns the series with the given identifier
Path params: seriesID: The series identifier
Optional (query) params: NONE
Response formats: text/xml
Status codes: 200: OK, The series dublin core.
404: Not Found, No series with this identifier was found.
403: Forbidden, You do not have permission to view this series.
401: Unauthorized, You do not have permission to view this series. Maybe you need to authenticate.
Notes:
  • Return value description: Returns the series dublin core XML document
Testing:
Sample: /{seriesID:.+}.xml
Testing form (click to reveal)
Method / Path: GET /{seriesId}/elements/{elementType}
Description: Returns the series element
Path params: seriesId: The series identifier
elementType: The element type. This is equal to the subtype of the media type of this element: series/
Optional (query) params: NONE
Status codes: 200: OK, Series element found
404: Not Found, Series element not found
500: Internal Server Error, Error while processing the request
Notes:
  • Return value description: The data of the series element
Testing:
Sample: /{seriesId}/elements/{elementType}
Testing form (click to reveal)
Method / Path: GET /{seriesId}/elements.json
Description: Returns all the element types of a series
Path params: seriesId: The series identifier
Optional (query) params: NONE
Response formats: application/json
Status codes: 200: OK, Series found
404: Not Found, Series not found
500: Internal Server Error, Error while processing the request
Notes:
  • Return value description: Returns a JSON array with all the types of elements of the given series.
Testing:
Sample: /{seriesId}/elements.json
Testing form (click to reveal)
Method / Path: GET /{id}/properties.json
Description: Returns the series properties
Path params: id: ID of series
Optional (query) params: NONE
Response formats: application/json
Status codes: 200: OK, The access control list.
401: Unauthorized, If the current user is not authorized to perform this action
Notes:
  • Return value description: Returns the series properties as JSON
Testing:
Sample: /{id}/properties.json
Testing form (click to reveal)
Method / Path: GET /{seriesId}/property/{propertyName}.json
Description: Returns a series property value
Path params: seriesId: ID of series
propertyName: Name of series property
Optional (query) params: NONE
Response formats: application/json
Status codes: 200: OK, The access control list.
401: Unauthorized, If the current user is not authorized to perform this action
Notes:
  • Return value description: Returns the series property value
Testing:
Sample: /{seriesId}/property/{propertyName}.json
Testing form (click to reveal)

Write methods

Method / Path: DELETE /{seriesID:.+}
Description: Delete a series
Path params: seriesID: The series identifier
Optional (query) params: NONE
Status codes: 404: Not Found, No series with this identifier was found.
401: Unauthorized, If the current user is not authorized to perform this action
204: No Content, The series was deleted.
Notes:
  • Return value description: No content.
Testing:
Sample: /{seriesID:.+}
Testing form (click to reveal)
Method / Path: DELETE /{seriesId}/elements/{elementType}
Description: Deletes a series element
Path params: seriesId: The series identifier
elementType: The element type
Optional (query) params: NONE
Status codes: 204: No Content, Series element deleted
404: Not Found, Series element not found
500: Internal Server Error, Error while processing the request
Notes:
  • Return value description: An empty response
Testing:
Sample: /{seriesId}/elements/{elementType}
Testing form (click to reveal)
Method / Path: DELETE /{seriesId}/property/{propertyName}
Description: Deletes a series property
Path params: seriesId: ID of series
propertyName: Name of series property
Optional (query) params: NONE
Status codes: 204: No Content, The series property has been deleted.
404: Not Found, The series or property has not been found.
401: Unauthorized, If the current user is not authorized to perform this action
Notes:
  • Return value description: No Content
Testing:
Sample: /{seriesId}/property/{propertyName}
Testing form (click to reveal)
Method / Path: POST /{seriesID:.+}/accesscontrol
Description: Updates the access control list for a series
Path params: seriesID: The series identifier
Required (form) params: acl: The access control list for the series
Optional (form) params: override(Default value=false): If true the series ACL will take precedence over any existing episode ACL
Status codes: 404: Not Found, No series with this identifier was found.
204: No Content, The access control list has been updated.
201: Created, The access control list has been created.
401: Unauthorized, If the current user is not authorized to perform this action
400: Bad Request, The required path or form params were missing in the request.
Notes:
  • Return value description: No content.
Testing:
Sample: /{seriesID:.+}/accesscontrol
Testing form (click to reveal)
Method / Path: PUT /{seriesId}/extendedMetadata/{type}
Description: Updates extended metadata of a series
Path params: seriesId: The series identifier
type: The type of the catalog flavor
Required (form) params: dc: The catalog with extended metadata.
Optional (form) params: NONE
Status codes: 204: No Content, Extended metadata updated
201: Created, Extended metadata created
500: Internal Server Error, Error while processing the request
Notes:
  • Return value description: An empty response
Testing:
Sample: /{seriesId}/extendedMetadata/{type}
Testing form (click to reveal)
Method / Path: POST /
Description: Updates a series
Path params: NONE
Optional (form) params: series(Default value=<?xml version="1.0"?> <dublincore xmlns="http://www.opencastproject.org/xsd/1.0/dublincore/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opencastproject.org http://www.opencastproject.org/schema.xsd" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:oc="http://www.opencastproject.org/matterhorn/"> <dcterms:title xml:lang="en"> Land and Vegetation: Key players on the Climate Scene </dcterms:title> <dcterms:subject> climate, land, vegetation </dcterms:subject> <dcterms:description xml:lang="en"> Introduction lecture from the Institute for Atmospheric and Climate Science. </dcterms:description> <dcterms:publisher> ETH Zurich, Switzerland </dcterms:publisher> <dcterms:identifier> 10.0000/5819 </dcterms:identifier> <dcterms:modified xsi:type="dcterms:W3CDTF"> 2007-12-05 </dcterms:modified> <dcterms:format xsi:type="dcterms:IMT"> video/x-dv </dcterms:format> </dublincore>): The series document. Will take precedence over metadata fields
acl(Default value=<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <acl xmlns="http://org.opencastproject.security"> <ace> <role>admin</role> <action>delete</action> <allow>true</allow> </ace> </acl>): The access control list for the series
accessRights: Series metadata value
available: Series metadata value
contributor: Series metadata value
coverage: Series metadata value
created: Series metadata value
creator: Series metadata value
date: Series metadata value
description: Series metadata value
extent: Series metadata value
format: Series metadata value
identifier: Series metadata value
isPartOf: Series metadata value
isReferencedBy: Series metadata value
isReplacedBy: Series metadata value
language: Series metadata value
license: Series metadata value
publisher: Series metadata value
relation: Series metadata value
replaces: Series metadata value
rights: Series metadata value
rightsHolder: Series metadata value
source: Series metadata value
spatial: Series metadata value
subject: Series metadata value
temporal: Series metadata value
title: Series metadata value
type: Series metadata value
override(Default value=false): If true the series ACL will take precedence over any existing episode ACL
Status codes: 400: Bad Request, The required form params were missing in the request.
204: No Content, The access control list has been updated.
401: Unauthorized, If the current user is not authorized to perform this action
201: Created, The access control list has been created.
Notes:
  • Return value description: No content.
Testing:
Sample: /
Testing form (click to reveal)
Method / Path: PUT /{seriesId}/elements/{elementType}
Description: Updates an existing series element
Path params: seriesId: The series identifier
elementType: The element type
Optional (form) params: NONE
Status codes: 204: No Content, Series element updated
201: Created, Series element created
500: Internal Server Error, Error while processing the request
Notes:
  • Return value description: An empty response
Testing:
Sample: /{seriesId}/elements/{elementType}
Testing form (click to reveal)
Method / Path: POST /{seriesId}/property
Description: Updates a series property
Path params: seriesId: The series identifier
Required (form) params: name: The property's name
value: The property's value
Optional (form) params: NONE
Status codes: 404: Not Found, No series with this identifier was found.
204: No Content, The access control list has been updated.
401: Unauthorized, If the current user is not authorized to perform this action
400: Bad Request, The required path or form params were missing in the request.
Notes:
  • Return value description: No content.
Testing:
Sample: /{seriesId}/property
Testing form (click to reveal)