Developers

Upload Assets

Upload icons, screenshots, and binary release artefacts.

Marketplace assets are uploaded through server-issued upload sessions and direct object storage uploads.

In normal use, upload assets from the product screens in the Infuse Cloud dashboard. Use API upload sessions only when you are automating product setup or releases.

Before You Start

Prepare the assets you need:

AssetUse
IconSmall product image used in product cards and summaries.
Screenshots or artworkProduct gallery images shown on the marketplace listing.
BinaryDeployable release artefact.
ManifestJSON or YAML metadata file used to create a versioned release.

In the Dashboard

Upload an Icon

  1. Open Marketplace.
  2. Select the marketplace instance.
  3. Open Developer.
  4. Open Manage.
  5. Open the product.
  6. On the product overview, click Upload Icon.
  7. Choose the icon file and wait for the upload to finish.
  1. Open the product.
  2. Open Images.
  3. Upload PNG or JPEG screenshots and artwork.
  4. Drag images to change their display order.
  5. Delete any image that should not appear in the gallery.

The dashboard shows the number of uploaded images and prevents adding more after the product reaches the image limit.

Upload Release Assets

Release binaries and manifests are uploaded from the release creation flow:

  1. Open the product.
  2. Open Releases or click Create Release from the product header.
  3. Upload the binary.
  4. Upload the manifest.
  5. Confirm the manifest version shown by the form.
  6. Add release notes and an availability date if needed.
  7. Create the release.

What Happens Behind the Scenes

For every file, the dashboard creates an upload session, uploads the file directly to object storage, finalises the asset, then attaches it to the product or release. Large files do not pass through a normal JSON request.

API Equivalent

POST /assets/upload-session
Authorization: Bearer {developer_access_token}
Content-Type: application/json

{
  "assetType": "image",
  "mimeType": "image/png",
  "fileName": "screenshot.png"
}

Upload the file to the returned uploadUri with PUT, then finalise it:

POST /assets/{assetId}/finalise
Authorization: Bearer {developer_access_token}
Content-Type: application/json

{
  "assetId": "22222222-2222-2222-2222-222222222222",
  "sizeBytes": 184230,
  "width": 1280,
  "height": 720
}

Attach finalised assets with the matching product API:

Asset typeEndpoint
iconPOST /marketplace/developers/marketplace-items/{id}/icon
imagePOST /marketplace/developers/marketplace-items/{id}/images
binaryPOST /marketplace/developers/marketplace-items/{id}/releases
manifestPOST /marketplace/developers/marketplace-items/{id}/releases