Finish a multipart upload
POST
https://octopus.livepush.io/streams/{stream_id}/videos/uploadurl/multipart/finish
Base URL https://octopus.livepush.io — Core Streams & Media APIs
Completes the multipart upload by listing every uploaded part with its ETag. The object only becomes readable once this succeeds.
The body is the storage provider's completion record, passed through unchanged.
Requires a token with the streams.videos.write scope.
Authorization
Send a valid access token in the Authorization header.
bearerAuth— Bearer token (JWT)
Authorization: Bearer YOUR_API_TOKEN
Try it
Loading the request builder…
POST
https://octopus.livepush.io/streams/{stream_id}/videos/uploadurl/multipart/finish
— This call changes live data on your account.
Parameters
Path parameters
-
stream_idstring requiredUnique identifier of the stream.example: st_xxxxxxxxxxxxx
Request body
-
Keystring required -
uploadIdstring required -
partsobject[] requiredThe uploaded parts, each with its part number and ETag.-
PartNumberinteger -
ETagstring
-
-
zonestring required
{
"Key": "string",
"uploadId": "string",
"parts": [
{
"PartNumber": 1,
"ETag": "string"
}
],
"zone": "eu-central"
}
Code samples
curl -X POST 'https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/videos/uploadurl/multipart/finish' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"Key": "string",
"uploadId": "string",
"parts": [
{
"PartNumber": 1,
"ETag": "string"
}
],
"zone": "eu-central"
}'
const response = await fetch('https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/videos/uploadurl/multipart/finish', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"Key": "string",
"uploadId": "string",
"parts": [
{
"PartNumber": 1,
"ETag": "string"
}
],
"zone": "eu-central"
}),
});
if (!response.ok) {
throw new Error(`Livepush API error ${response.status}`);
}
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json',
}
payload = {
"Key": "string",
"uploadId": "string",
"parts": [
{
"PartNumber": 1,
"ETag": "string"
}
],
"zone": "eu-central"
}
response = requests.post('https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/videos/uploadurl/multipart/finish', headers=headers, json=payload, timeout=30)
response.raise_for_status()
data = response.json()
Responses
Finish a multipart upload.
-
LocationstringFinal object URL. -
Bucketstring -
Keystring -
ETagstring
{
"Location": "string",
"Bucket": "string",
"Key": "string",
"ETag": "string"
}
No response body.
Not found for this account.