Bind a completed upload session to a content record
POST/content/:id/attach-upload
Final step of the chunked upload pipeline. Stamps the session's storage_key, storage_provider, size_bytes and sha256 onto the content row and marks the session consumed, in one transaction. Idempotent for the same (session, content) pair. A private APK is rejected here unless its package name, version code, signing fingerprint and app label were already written via PUT /api/v1/content/{id}; a boot animation is rejected unless its bytes pass the archive checks Android's loader enforces silently on device; a boot logo is rejected unless it is a structurally valid MTK logo image; a row flagged is_wallpaper is rejected unless its bytes are a PNG, JPEG or WebP image.
Request
Responses
- 200
- 400
- 401
- 403
- 409
- 412
- 500
- 503
Bound; already_bound is true on an idempotent re-bind
Malformed UUID, bad body, missing private-APK metadata, or bytes the flagged content type cannot use
Enterprise ID not found in context
Content or session not found in this enterprise (never 404, so existence cannot be probed across tenants)
Session already bound to a different content row
Upload session has not completed; call POST /api/v1/uploads/{id}/complete first
Failed to attach upload to content
Upload service is not wired on this deployment