Difference between revisions of "API Upload Recording"

From IVS Wiki
Jump to: navigation, search
(Response)
Line 240: Line 240:
 
!Reason
 
!Reason
 
|-
 
|-
|200
+
|201
 
|Request Successful
 
|Request Successful
 +
|-
 +
|400
 +
|Invalid request payload
 
|-
 
|-
 
|401
 
|401
Line 247: Line 250:
 
|-
 
|-
 
|500
 
|500
|Internal Server Error
+
|Invalid request payload
 
|}
 
|}
  
Line 257: Line 260:
 
|Download URL
 
|Download URL
 
|}
 
|}
 
  
 
==Examples==
 
==Examples==

Revision as of 11:19, 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
401 Unauthorized
500 Invalid request payload
JSON Response
data
url Download URL

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

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.

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

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

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