Get presigned URLs

Generate signatures for each part of the video that will be uploaded

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Request presigned URLs for a contiguous range of parts. Upload each part with PUT to the matching URL, then pass the ETag headers (in order) to Complete Multipart.

Walkthrough: VOD Upload - Multipart. Previous step: Initiate.

📘

Authenticate with X-Api-Key and send X-Format: default. JSON bodies need Content-Type: application/json.

Rules

  • Each part must be at least 5 MB, except the last part (which may be smaller).
  • At most 100 part signatures per call. Request another from_part_number / to_part_number range if the file needs more parts.
  • PUT to the returned URLs as-is. The host comes from the API (for example *.wasabisys.com); do not hardcode a storage host.

ETags

After each successful PUT, read the ETag response header and keep it for ordered_etags on complete. If storage returned quotes around the value, keep the quotes in the array you send later.

Request body

FieldTypeRequiredDescription
from_part_numberintegerYesFirst part number in this batch (usually 1).
to_part_numberintegerYesLast part number in this batch (inclusive).
s3_pathstringYesFrom the init response.
uploader_idstringYesFrom the init response.

Example

curl -X POST "https://developer.dacast.com/v2/vod/upload/signatures/multipart" \
  -H "X-Api-Key: insertYourApiKeyHere" \
  -H "X-Format: default" \
  -H "Content-Type: application/json" \
  -d "{\"from_part_number\":1,\"to_part_number\":3,\"s3_path\":\"s3://…\",\"uploader_id\":\"…\"}"

Response (200)

{
  "presigned_urls": [
    "https://…/source.mp4?…&partNumber=1&uploadId=…&…",
    "https://…/source.mp4?…&partNumber=2&uploadId=…&…",
    "https://…/source.mp4?…&partNumber=3&uploadId=…&…"
  ]
}

presigned_urls is an array of URL strings in part order (index 0 → part 1).

Upload one part

curl -i -X PUT --data-binary @part_1.bin "https://presigned-url-for-part-1"

Expect a successful storage response and an ETag header.

Body Params
int32
required

The first uploaded part of the video

int32
required

The last uploaded part of the video

string
required

The s3 path given by the initalization call

string
required

The uploader id given by the initalization call

Response

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json