BROWSE CATDV SUPPORT MANUALS

This section gives details of each API endpoint and details the methods supported, the parameters supported and the results that will be returned.

Endpoint: /users

Represents the collection of all the users defined on the server:

GET /users

Returns an array of all the users  defined on the server.

GET /users/<user_id>

Returns the user with the specified id.

POST /users

Add a new user to the system. POST data contains JSON User object. Returns the ID of the newly created User.

PUT /users/<user_id>

Update the User specified by <user_id> with the values in the JSON User object passed in the PUT data.  Only fields present in the passed in JSON User object will be updated.

DELETE /users/<user_id>

Delete the  User specified by <user_id>. Any items currently owned by the user will pass to the anonymous user.

Endpoint: /groups

Represents the collection of all the Production Groups defined on the server:

GET /groups

Returns an array of all the  role defined on the server.

GET /groups/<group_id>

Returns the Production Group with the specified <group_id>.

POST /groups

Create a new Production Group based on the JSON Production Group object passed in the POST data. Returns the ID of the newly created Production Group.

PUT /groups/<group_id>

Update the Production Group specified by <group_id> with the values in the JSON Production Group object passed in the PUT data.  Only fields present in the passed in JSON Production Group object will be updated.

PUT /groups/<groupID>/roles

Update the Role Permissions for this Production Group. PUT data contains an array of Role objects, each with two fields set – the Role’s ID and the Role’s Permissions with respect this Production Group. Roles not present in the list are assumed to have no Permissions with respect  to this Production Group and will have any existing permissions removed.

DELETE /groups/<group_id>

Delete the  Production Group specified by <group_id>.

Endpoint: /Roles

Represents the collection of all the Roles defined on the server:

GET /roles

Returns an array of all the Role defined on the server.

GET /roles/<role_id>

Returns the production role with the specified <role_id>.

GET /roles/<roleID>/permissions?groupID=<groupID>

Returns the set of Role Permissions (as a String[]) that apply to the specified Role with respect to the specified Production Group.

POST /roles

Create a new Role based on the JSON Role object passed in the POST data. Returns the ID of the newly created Role.

PUT /roles/<role_id>

Update the Role specified by <role_id> with the values in the JSON Role object passed in the PUT data.  Only fields present in the passed in JSON Role object will be updated.

DELETE /roles/<role_id>

Delete the  Role specified by <role_id>.

Endpoint: /Fields

Represents the collection of all the Field Definitions defined on the server:

GET /fields[?include=<include_flags>][&filter=<filter>][&skip=<skip>&take=<take>][&groupID=<groupID>][&onlyQueryableFields=true]

Returns a PartialResultSet of Field Definitions that conform to the passed in parameters:

Parameter Function
include Determines which Field Definitions to include in the results and also whether to return additional related data within each Field Definition. Supported values are:

  • builtin – include built-in fields
  • media – include SourceMedia metadata fields
  • importSrc – include ImportSource metadata fields
  • values – include Picklist values for Picklist fields
filter Only return FieldDefinitions whose name contains the specified string
skip/take Controls which portion of the result set to return. See PartialResultSet
groupID For built-in fields, use the specified group to determine the correct set of Picklist values if applicable.
onlyQueryableFields Only return FieldDefinitions for fields that can be used in Clip Query filter expressions

GET /fields/<field_id>

Returns the Field Definition with the specified <field_id>, where <field_id> can be either the numeric ID of a user-defined custom field, or the short string ID of a built-in field (e.g. NM1, STS etc.).

GET /fields/<field_id>/list[?groupID=<group_id>][&include=values]

Returns the Picklist object associated with the FieldDefinition specified by <field_id>, where <field_id> can be either the numeric ID of a user-defined custom field, or the short string ID of a built-in field (e.g. NM1, STS etc.). For built-in fields the groupID parameter must be provided to identify the Production Group that the Picklist definition should be taken from.

If the optional include=values parameter is included then the actual picklist values are included with with the picklist.

GET /fields/<field_id>/list/values[?groupID=<group_id>]

Returns the Picklist values associated with the FieldDefinition specified by <field_id>, where <field_id> can be either the numeric ID of a user-defined custom field, or the short string ID of a built-in field (e.g. NM1, STS etc.). For built-in fields the groupID parameter must be provided to identify the Production Group that the values should be taken from.

GET /fields/<field_id>/values

Returns a complete list of all the unique values held in the database for the specified field. For large databases this can be an expensive operation, since every clip needs to be considered.

GET /fields/types

Returns all the available user-defined field types as an array of ID/Name pairs.

POST /fields

Create a new Field Definition based on the JSON Field Definition object passed in the POST data. Returns the ID of the newly created Field Definition.

PUT /fields/<field_id>

Update the Field Definition specified by <field_id> with the values in the JSON FieldDefinition object passed in the PUT data. Only properties present in the passed in JSON FieldDefinition object will be updated.

PUT /fields/<field_id>/list[?groupID=<group_id>]

Update the Picklist associated with the Field Definition specified by <field_id> with the values in the JSON Picklist object passed in the PUT data. The values of <field_id> can be either the numeric ID of a user-defined custom field, or the short string ID of a built-in field (e.g. NM1, STS etc.). For built-in fields the groupID parameter must be provided to identify the Production Group that the Picklist belongs to.

DELETE /fields/<field_id>

Delete the Field Definition specified by <field_id>.

Endpoint: /viewsets

Represents the collection of all the viewsets defined on the server:

GET /viewsets

Returns an array of all the viewsets defined on the server.

GET /viewsets/<viewset_id>

Returns the ViewSet with the specified id.

POST /viewsets

Add a new ViewSet to the system. POST data contains JSON ViewSet object. Returns the ID of the newly created ViewSet.

PUT /viewsets/<viewset_id>

Update the ViewSet specified by <viewset_id> with the values in the JSON ViewSet object passed in the PUT data. Only fields present in the passed in JSON ViewSet object will be updated.

DELETE /viewsets/<viewset_id>

Delete the ViewSet specified by <viewset_id>.

Endpoint: /views

Represents the collection of all the views defined on the server:

GET /views[?include=<include_options>][&groupID=<group_id>]

Returns an array of the views defined on the server based on the supplied parameters.

Parameter Function
include Determines which views to include in the results and also whether to return additional related data within each view. Supported values are:

  • builtin – include built-in Views
  • fields – include the fields defined in each View
  • fieldDefs – include the associated FieldDefinition for each of the View’s fields.
  • values – include Picklist values for Picklist fields
groupID For built-in fields, use the specified group to determine the correct set of Picklist values if applicable.

GET /views/<view_id>

Returns the user with the specified id.

GET /views/<view_id>/fields

Returns the ViewFields defined for the the specified view.

POST /views

Add a new user to the system. POST data contains JSON View object. Returns the ID of the newly created View.

PUT /views/<view_id>

Update the View specified by <view_id> with the values in the JSON View object passed in the PUT data. Only fields present in the passed in JSON View object will be updated.

PUT /views/<view_id>/fields

Update the fields associated with the specified View using  with the array of JSON ViewField objects passed in the PUT data.

DELETE /views/<view_id>

Delete the View specified by <view_id>.

Endpoint: /panelsets

Represents the collection of all the PanelSets defined on the server:

GET /panelsets

Returns an array of all the PanelSets defined on the server.

GET /panelsets/<panelset_id>

Returns the PanelSet with the specified id.

POST /panelsets

Add a new PanelSet to the system. POST data contains JSON PanelSet object. Returns the ID of the newly created PanelSet.

PUT /panelsets/<panelset_id>

Update the PanelSet specified by <panelset_id> with the values in the JSON PanelSet object passed in the PUT data. Only fields present in the passed in JSON PanelSet object will be updated.

DELETE /PanelSets/<panelset_id>

Delete the PanelSet specified by <panelset_id>.

Endpoint: /panels

Represents the collection of all the panels defined on the server:

GET /panels[?include=<include_options>][&groupID=<group_id>]

Returns an array of the panels defined on the server based on the supplied parameters.

Parameter Function
include Determines which panels to include in the results and also whether to return additional related data within each panel. Supported values are:

  • builtin – include built-in Panels
  • fields – include the fields defined in each Panel
  • fieldDefs – include the associated FieldDefinition for each of the Panel’s fields.
  • values – include Picklist values for Picklist fields
groupID For built-in fields, use the specified group to determine the correct set of Picklist values if applicable.

GET /panels/<panel_id>

Returns the user with the specified id.

GET /panels/<panel_id>/fields

Returns the PanelFields defined for the the specified panel.

 

POST /panels

Add a new user to the system. POST data contains JSON Panel object. Returns the ID of the newly created Panel.

PUT /panels/<panel_id>

Update the Panel specified by <panel_id> with the values in the JSON Panel object passed in the PUT data. Only fields present in the passed in JSON Panel object will be updated.

PUT /panels/<panel_id>/fields

Update the fields associated with the specified Panel using  with the array of JSON PanelField objects passed in the PUT data.

DELETE /panels/<panel_id>

Delete the Panel specified by <panel_id>.

Endpoint: /mediastores

Represents the collection of all the mediastores defined on the server:

GET /mediastores

Returns an array of all the mediastores defined on the server.

GET /mediastores/<mediastore_id>

Returns the MediaStore with the specified id.

POST /mediastores

Add a new MediaStore to the system. POST data contains JSON MediaStore object. Returns the ID of the newly created ViewSet.

POST/mediastores/<mediastore_id>/paths

Add a new MediaPath to the MediaStore specified by <mediastore_id>.

PUT /mediastores/<mediastore_id>

Update the MediaStore specified by <mediastore_id> with the values in the JSON MediaStore object passed in the PUT data. Only fields present in the passed in JSON MediaStore object will be updated.

PUT /mediastores/<mediastore_id>/paths/<mediapath_id>

Update the MediaPath specified by <mediapath_id> within the MediaStore specified by <mediastore_id> with the values in the JSON MediaPath object passed in the PUT data. Only fields present in the passed in JSON MediaPath object will be updated.

 

DELETE /mediastores/<mediastore_id>

Delete the MediaStore specified by <mediastore_id>.