Livepush Developers

Videos

Sign a multipart upload part

POST https://octopus.livepush.io/streams/{stream_id}/videos/uploadurl/multipart/part/signed

Base URL https://octopus.livepush.io — Core Streams & Media APIs

Returns a pre-signed URL for one part. Call once per part, then keep each response ETag for the finish call.

Requires a token with the streams.videos.write scope.

Authorization

Send a valid access token in the Authorization header.

  • bearerAuth — Bearer token (JWT)
headers.txt
Authorization: Bearer YOUR_API_TOKEN

Try it

POST https://octopus.livepush.io/streams/{stream_id}/videos/uploadurl/multipart/part/signed — This call changes live data on your account.

Parameters

Path parameters

  • stream_id string required
    Unique identifier of the stream.
    example: st_xxxxxxxxxxxxx

Request body

application/json required

  • partNumber integer required
    1-based index of the part being uploaded.
  • uploadId string required
    Upload session ID returned when the session was started.
  • Key string required
    Object key for the upload.
  • zone string required
Example request body response.json
{
  "partNumber": 3,
  "uploadId": "string",
  "Key": "string",
  "zone": "eu-central"
}

Code samples

request.sh
curl -X POST 'https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/videos/uploadurl/multipart/part/signed' \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "partNumber": 3,
    "uploadId": "string",
    "Key": "string",
    "zone": "eu-central"
  }'
const response = await fetch('https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/videos/uploadurl/multipart/part/signed', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "partNumber": 3,
    "uploadId": "string",
    "Key": "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 = {
    "partNumber": 3,
    "uploadId": "string",
    "Key": "string",
    "zone": "eu-central"
}

response = requests.post('https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/videos/uploadurl/multipart/part/signed', headers=headers, json=payload, timeout=30)
response.raise_for_status()
data = response.json()

Responses

Sign a multipart upload part.

application/json

  • Key string
  • uploadId string
  • partNumber integer
  • uploadUrl string
    Pre-signed URL to PUT this part to. Keep the ETag from the storage response — the finish call needs it.
Example 200 response response.json
{
  "Key": "string",
  "uploadId": "string",
  "partNumber": 3,
  "uploadUrl": "string"
}

No response body.

Not found for this account.