Start image upload
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
id
A UUID string identifying this image.
Request
This endpoint expects an object.
hash
The SHA256 hash of the image.
size
The size of the image in bytes.
Response
upload_id
The S3 multipart upload ID.
part_urls
List of presigned URLs for each part.
chunk_size
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