Difference between revisions of "API Upload Recording"

From IVS Wiki
Jump to: navigation, search
(Successful Response)
(Response)
Line 251: Line 251:
 
|500
 
|500
 
|Invalid request payload
 
|Invalid request payload
|}
 
 
{|class="wikitable"
 
|+JSON Response
 
!colspan="2"|data
 
|-
 
|'''url'''
 
|Download URL
 
 
|}
 
|}
  

Revision as of 11:54, 9 May 2025

This API is a two-part request that creates a video record and then uploads a video file to the specified record.

1) Create Upload Record

Request URL

http://valt.example.com/api/v3/records/create-upload

Resource Information

Method POST
Response Type JSON
Authentication Required Yes (access token as a query parameter)

Authentication is performed with an access token obtained from the API Authentication request.


Request Parameters

Path Parameters

No path parameters are required for this request.

Query Parameters

Name Type Description
access_token string Token used for authentication. Must be appended to the request URL.

Headers

Name Value
Content-Type application/json

Body

The JSON body must be properly formatted. All fields and values should be enclosed in double quotes and separated by a colon.

Data Required
name Recording Name Yes
template Array of additional information template fields. No
share No
groups Array of group IDs the video is shared with in addition to default video permissions.
users Array of user IDs the video is shared with in addition to default video permissions.


Response

HTTP Codes

Code Reason
200 Request Successful
401 Unauthorized
500 Invalid request payload

JSON Body

data
id Record ID
videos Video ID

Examples

Request

https://ivssvdev1.ad.ipivs.com/api/v3/records/create-upload?access_token=2407c9d2cfde75c49e5d356ee9f83422

Example 1

{
    "name": "Upload Recording"
}

Example 2

{
    "name": "Upload Recording",
    "template": {
        "1": "Field Value 1",
        "2": "Field Value 2",
    },
    "share": {
        "users": [1, 2, 3],
        "groups": [4, 5, 6]
    }
}

Successful Response

Sample response is shown with line breaks to make it more readable. Actual responses will not include line breaks.

{
"id": "1bc87bea-9412-43f1-9e95-dbad0e60c99a",
"videos":[
	"198016d2-edf4-4eaa-aa84-1545b07270e2"
	]
}

Failure Responses

Sample responses are shown with line breaks to make it more readable. Actual responses will not include line breaks.

Invalid request payload

{
"error":{
"code":500,
"message":"Internal Server Error"
}

Unauthorized

{
"error":{
"code":401,
"message":"No API token provided"
}
}

{
"error":{
"code": 401,
"message": "Bad credentials."
}
}


2) Upload Video to Record

Request URL

http://valt.example.com/api/v3/records/{recordID}/videos/{videoID}

Resource Information

Method POST
Response Type multipart/form-data
Authentication Required Yes (access token as a query parameter)

Authentication is performed with an access token obtained from the API Authentication request.


Request Parameters

Path Parameters

Name Type Description
recordID string ID of the record to upload to
videoID string ID of the video to upload to

Query Parameters

Name Type Description
access_token string Token used for authentication. Must be appended to the request URL.

Headers

Name Value
content-type multipart/form-data
content-range bytes 0-316620/316620

Body

The Body must be multipart/form-data and include the video file

Data Required
file Video File to upload Yes


Response

Code Reason
201 Request Successful
400 Invalid request payload or headers
401 Unauthorized
500 Invalid request payload

Examples

Request

https://ivssvdev1.ad.ipivs.com/api/v3/records/1bc87bea-9412-43f1-9e95-dbad0e60c99a/videos/198016d2-edf4-4eaa-aa84-1545b07270e2?access_token=2407c9d2cfde75c49e5d356ee9f83422

Headers

"Content-Type": "multipart/form-data"
"Content-Range": "bytes 0-316620/316620"

Body

file [File] = {Video File}

Successful Response

There is no content returned on a successful response.

Failure Responses

Sample responses are shown with line breaks to make it more readable. Actual responses will not include line breaks.

Invalid Content-Range header value

{
"data":{
"message": "Invalid range data"
},
"code": 400
}

The name or identifier for the file chunk is missing. This field must have a non-empty value.

{
"data":{
"message": "The chunk file was not transferred"
},
"code": 400
}

The file to upload is missing

{
"error":{
"code":500,
"message":"Internal Server Error"
}

Unauthorized

{
"error":{
"code":401,
"message":"No API token provided"
}
}

{
"error":{
"code": 401,
"message": "Bad credentials."
}
}