Start image upload

View as Markdown
Initiate an image upload to S3. **Upload Process**: 1. Provide image `hash` (SHA256) and `size` (bytes) 2. Receive `upload_id` and presigned URLs for each part 3. Upload each part to its presigned URL (can upload concurrently) 4. Collect ETag header from each part upload response 5. Call `/complete-upload/` with all part numbers and ETags **URL Expiration** (based on file size): **Limits**: Max 120GB file size, ~100MB parts, 10,000 max parts. **Concurrency**: Only one upload per image at a time. **Required scope:** `air:image_write` (roles: `air_image_publisher`, `air_image_uploader`)

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

idstringRequiredformat: "uuid"
A UUID string identifying this image.

Request

This endpoint expects an object.
hashstringOptionalformat: "^[a-fA-F0-9]{64}$">=1 character
The SHA256 hash of the image.
sizelongOptional1-120000000000
The size of the image in bytes.

Response

upload_idstring
The S3 multipart upload ID.
part_urlslist of objects
List of presigned URLs for each part.
chunk_sizeinteger

The chunk size in bytes for each part upload (except the last part).

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error
500
Internal Server Error
502
Bad Gateway Error