Upload API

Endpoints for uploading APK files to the pipeline.

Single file upload

Initialize upload

POST /api/saas/upload/init
Content-Type: application/json

{
  "filename": "game-1.0.13.apk",
  "file_size": 52428800
}

Returns {upload_id, minio_key, part_size, num_parts}.

Upload parts (multipart)

POST /api/saas/upload/part
Content-Type: application/octet-stream
X-Upload-Id: {upload_id}
X-Part-Number: 1

[binary chunk data]

Repeat for each part. Returns {etag} per part.

Complete upload

POST /api/saas/upload/complete

{
  "upload_id": "...",
  "parts": [{"part_number": 1, "etag": "..."}]
}

Returns {job_id}. Monitor the job via the Jobs API.

Batch upload

See the Batch Upload guide for uploading multiple APK versions at once.