Page optimized for desktop experience. Please use a desktop browser for best compatibility.

Link a Video

Link to a live or stored video. A variety of video formats are supported for playback with direct linking to either live or on-demand files served from external sources. IPTV is also supported.

POST
/api/v2/videos

Usage Notes | Change Log

There are two primary ways to add video: upload a video file or link to an external video. To create video conference recording, see the VC Recordings section.

Request Body

application/json

{
"title": "My Training Video",
"description": "This is what my training video contains.",
"uploader": "john.smith",
"categories": [
"training";
"new hires"
],
"categoryIds": [
"ae0cdde9-84c6-42b6-b4bc-171447b9806e";
"2k29ek2s-34c9-82b1-k4bq-303ls9dmcmso"
],
"tags": [
"2017";
"v2 training"
],
"isActive": true,
"enableRatings": true,
"enableDownloads": true,
"enableComments": true,
"videoAccessControl": "Private",
"accessControlEntities": [
{
"id": "2qwerasd-323d-asd3-0dk3-asd9dld89aos",
"name": "jane.jones",
"type": "user",
"canEdit": true
};
{
"id": "l30dsld0-03l3-9k3s-djk2-mcidf9dk24e3",
"name": "new hire group",
"type": "group",
"canEdit": false
}
],
"customFields": [
{
"id": "6a1bfa14-dcff-4d64-880b-635c8d48acc0",
"value": "human resources"
}
],
"linkedUrl": {
"Url": "rtmp://asdf.company.com/stream",
"EncodingType": "h264",
"Type": "Live",
"IsMulticast": false
}
}

Name Type Validations
linkedURL [ ] linkedUrlMetadata, required

Url properties to associate with the video link.  This include the following:

  • Url (string, required), Url of the video to link to
  • encodingType (string, optional), values may include H264 / HLS / HDS / H264TS / Mpeg / Mpeg2 / WM / Flash / RTP
  • Type (string, optional) values may include Live or VOD
  • isMulticast (boolean, optional)
title string, optional Title of video file. If blank, API will insert the video file name in this field as the title.
description string, optional Description of video file.  Null if not specified.
uploader string, required Username that identifies who the video is attached to. Can be different than the authenticated user making the API call. If not specified or if the username does not exist in Rev, the video will be rejected.
categories[ ] array[string], optional

Array of categories attached to the video. Multiple categories can be assigned.

Note: You should only use category names OR categoryIds but not both.  The example request below uses both for documentation purposes only.

Further, if you use categoryIds and they do not exist/are incorrect, the request will be rejected.

categoryIds [ ] array[string], optional

Array of category GUIDs. Multiple GUIDs may be assigned.

Note: You should only use categories OR categoryIds but not both.  The example request below uses both for documentation purposes only.

Further, if you use categoryIds and they do not exist/are incorrect, the request will be rejected.

tags [ ] array[string], optional An array of tags assigned to the video.  Multiple tags may be assigned.
isActive boolean, optional Reflects the status of the video after linking. Set to false by default if not specified.
enableRatings boolean, optional Enable or disable ratings for linked video. Set to true by default if not specified.
enableDownloads boolean, optional Enable or disable ability to download the linked video. Set to false by default if not specified.
enableComments boolean, optional Enable or disable ability to comment on linked video. Set to true by default if not specified.
videoAccessControl string, optional

Set access control for the video.  This is an enum and options include: Public / AllUsers / Private / Channels – Set to private by default if not specified. If an incorrect value is specified, the video will be rejected with a 400 error.

Note: If Channels is set at the videoAccessControl, then a channel must be specified in the accessControlEntities. If a Channel is included in the accessControlEntities, then the canEdit parameter will be ignored.

accessControlEntities [ ] array[uploadAccessControlEntity], optional

Provides explicit rights to a User / Group / Collection with OR without canEdit access to a video. The array contains the following properties:

  • id = user GUID OR name = username
  • type = User / Group / Collection
  • canEdit = true / false
    (Include either id OR name, both are not required when submitting a user, group or channel)
password string, optional

Password for the Public videoAccessControl setting.

Use this field when the video is set to Public. If not provided, this field is ignored.

customFields[ ] array[uploadCustomFields], optional

An array of custom fields attached to the video.

If a custom field is set as required in Rev, then the custom field is also required in the upload API call or it will be rejected. If it is optional, it may be optional in the API call.

If the customField does not exist in Rev or an invalid value is found for a pick list, the upload will fail.

If values are not provided for a pick list and/or text field, they will not be set for the video in the API call but the upload will proceed. (See custom fields API to retrieve custom fields)

Response Messages

Link successful

{
"videoId": "c8e8d565-0747-4be6-8547-0ffb1a327dda",
"statusUri": "/api/v1/videos/c8e8d565-0747-4be6-8547-0ffb1a327dda/status"
}

Incorrect value for videoAccessControl

Unauthorized error

Internal server error

uploader not specified or username does not exist in Rev

categoryIds incorrect or do not exist in Rev