Available in Classic and VPC
Upload temporarily saved recording file to Object Storage
Temporarily saved recording files are only stored for 3 days, they're permanently deleted after 3 days. To help you keep your recordings forever without having to upload them separately, we recommend enabling recordings to be saved automatically when you create a channel and specifying a bucket to store them in.
Request
This section describes the request format. The method and URI are as follows:
Method | URI |
---|---|
POST | /api/v2/buckets/{bucketName}/upload |
Request headers
For information about the headers common to all Live Station APIs, see Live Station request headers.
Request path parameters
You can use the following path parameters with your request:
Field | Type | Required | Description |
---|---|---|---|
bucketName |
String | Required | Object Storage bucket name
|
Request body
You can include the following data in the body of your request:
Field | Type | Required | Description |
---|---|---|---|
recordIds |
Array | Required | Recording file ID list
|
accessControl |
String | Optional | Recording file storage bucket disclosure scope
|
Request example
The request example is as follows:
curl --location --request POST 'https://livestation.apigw.ntruss.com/api/v2/buckets/bucket000/upload' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--header 'x-ncp-region_code: KR' \
--data '{
"recordIds": [
270****, 270****
],
"accessControl": "PRIVATE"
}'
Response
This section describes the response format.
Response body
The response body includes the following data:
Field | Type | Required | Description |
---|---|---|---|
content |
Object | - | Response result |
content.bucketName |
String | - | Recording video file storage bucket name |
content.accessControl |
String | - | Recording file storage bucket disclosure scope
|
content.uploadedRecords |
Object | - | Recording file list |
content.uploadedRecords.{recordId} |
Object | - | Recording file details
|
content.uploadedRecords.{recordId}.recordFileName |
String | - | File name |
content.uploadedRecords.{recordId}.recordType |
String | - | Recording file type
|
content.uploadedRecords.{recordId}.status |
String | - | File status
|
content.uploadedRecords.{recordId}.uploadPath |
String | - | Directory path |
content.uploadedRecords.{recordId}.objectStorageUrl |
String | - | Recording URL |
Response status codes
For information about the HTTP status codes common to all Live Station APIs, see Live Station response status codes.
Response example
The response example is as follows:
{
"content": {
"bucketName": "bucket000",
"accessControl": "PRIVATE",
"uploadedRecords": {
"270****": {
"recordFileName": "362418-1307180-20250818****.mp4",
"recordType": "MP4",
"status": "TRANSFER",
"uploadPath": "live-station/record/ls-20250818******-KRXat/362418-1307180-20250818****.mp4",
"objectStorageUrl": "https://kr.object.ncloudstorage.com/bucket000/live-station/record/ls-20250818******-KRXat/362418-1307180-20250818****.mp4"
},
"270****": {
"recordFileName": "720p-9-16/playlist.m3u8",
"recordType": "HLS",
"status": "TRANSFER",
"uploadPath": "live-station/record/ls-20250818******-KRXat/720p-9-16/1307180",
"objectStorageUrl": "https://kr.object.ncloudstorage.com/bucket000/live-station/record/ls-20250818******-KRXat/720p-9-16/1307180/playlist.m3u8"
}
}
}
}