Difference between revisions of "API Upload Recording"

From IVS Wiki
Jump to: navigation, search
(Invalid JSON Body Request payload)
Line 46: Line 46:
 
The JSON body must be properly formatted. All fields and values should be enclosed in double quotes and separated by a colon.
 
The JSON body must be properly formatted. All fields and values should be enclosed in double quotes and separated by a colon.
 
{|class="wikitable"
 
{|class="wikitable"
!colspan="3"|data
+
!colspan="3"|Data
 +
!colspan="1"|Required
 
|-
 
|-
 
|colspan="2"|'''name'''
 
|colspan="2"|'''name'''
 
|Recording Name
 
|Recording Name
 +
|Yes
 
|-
 
|-
 
|colspan="2"|'''template'''
 
|colspan="2"|'''template'''
 
|Array of additional information template fields.
 
|Array of additional information template fields.
 +
|No
 
|-
 
|-
 
|colspan="2"|'''share'''
 
|colspan="2"|'''share'''
 
|
 
|
 +
|No
 
|-
 
|-
 
|
 
|

Revision as of 08:50, 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 Code

Code Reason
200 Request Successful
401 Unauthorized
500 Internal Server Error


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

Resource URL

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

Resource Information

Method POST
Response Type multipart/form-data
Authentication Required Yes

Parameters

Headers
data
content-type multipart/form-data
content-range bytes 0-316620/316620
JSON Response
data
name Recording Name
template Array of additional information template fields.
share
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

Code Reason
200 Request Successful
401 Unauthorized
500 Internal Server Error
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."
}
}