Finalize a multipart upload by providing ETags from each uploaded part.
**Process**:
1. Collect the `ETag` header from each part upload response
2. Call this endpoint with the list of parts and their ETags
3. S3 combines parts and validates ETags
4. Image transitions to VALIDATING status
5. Async validation verifies file size and hash match declared values
6. Image transitions to COMPLETE status after validation
**Validation**: S3 validates ETags; async task validates size and hash. This endpoint returns once the image enters `VALIDATING`; clients should poll the image until `upload_status` becomes `COMPLETE`.
**Required scope:** `air:image_write` (roles: `air_image_publisher`, `air_image_uploader`)
This endpoint expects an object.
partslist of objectsOptional
List of parts with part_number and etag from S3 upload responses.
Response
idstringRead-onlyformat: "uuid"
namestring1-128 characters
The name of the image. This must be unique with the version.
versionstring1-64 characters
The version of the image. This must be unique with the name.
creatorstring or nullRead-only
The email of the user who created the image.
modifieddatetimeRead-only
default_usernamestring<=64 characters
The default username for authenticating with the operating system.
default_passwordstring<=64 characters
The default password for authenticating with the operating system.
publishedbooleanRead-only
Whether the image is published.
publicly_publishedbooleanRead-only
Whether the image is published to all users (public) vs restricted to an allow-list. Always false for unpublished images.
publish_access_record_idstring or nullRead-only
The id of the image publish access record. Returned only to the owning organization, Air admins, and SREs; null otherwise.
upload_statusenum
The upload status of the image file.
READY - Ready
UPLOADING - Uploading
VALIDATING - Validating
COMPLETE - Complete
PUBLISHING - Publishing
UNPUBLISHING - Unpublishing
COPYING_FROM_IMAGE_SHARE - Copying from image share
PENDING_PUBLISH - Pending Publish
PENDING_UNPUBLISH - Pending Unpublish
last_uploaded_atdatetime or nullRead-only
The date and time the image was last uploaded.
sizeintegerRead-only
The size of the image file in bytes.
hashstringRead-only
The hash of the image file. This is used to check if the content of the image has changed.
is_owned_by_clientbooleanRead-only
If the image is owned by the client. When true, the client can share/publish/unpublish the image.
mountpointstring or nullOptional1-128 characters
Partition that hosts the operating system root file system.
minimum_resourcesobjectOptional
The minimum resources required to run the image.
includes_air_agentbooleanOptionalDefaults to false
Whether the image includes the Air Agent service.
cpu_archenumOptionalDefaults to x86
The CPU architecture of the image.
emulation_typelist of stringsOptional
The types of emulation the image supports.
emulation_versionstringOptional<=64 characters
The version of the emulation the image supports.
providerenumOptionalDefaults to VM
The provider of the image.
VM - VM
CONTAINER - CONTAINER
notesstringOptional<=4096 characters
Notes about the image.
release_notesstringOptional<=4096 characters
Release notes for the image.
user_manualstringOptional<=4096 characters
User manual for the image.