Skip to content

The Container Images API lets you browse the public image catalog, manage images you have imported or purchased, and submit ratings. Use these endpoints to discover available operating systems and architectures, retrieve detailed metadata, and add images to your workspace so they can be used when launching containers.

List all public container images with optional filtering by operating system, architecture, price, rating, and free-text search. Results are paginated.

NameInTypeRequiredDescription
osquerystringNoFilter images by operating system — e.g., ubuntu, debian, alpine, centos
architecturequerystringNoFilter images by CPU architecture — e.g., amd64, arm64, armhf
min_pricequerynumberNoMinimum price filter for paid images. 0 includes free images
max_pricequerynumberNoMaximum price filter for paid images — useful for budget constraints
min_ratingquerynumberNoMinimum average rating filter — includes images with rating at least this value (0–5 stars)
max_ratingquerynumberNoMaximum average rating filter — includes images with rating at most this value (0–5 stars)
searchquerystringNoSearch term to filter images by name, description, or tags
pagequeryintegerNoPage number for pagination — starts from 1. Default: 1
limitqueryintegerNoNumber of images to return per page — maximum 100 items. Default: 20
sort_byquerystringNoField to sort images by. Allowed values: alias, added_date, price, rating
sort_orderquerystringNoSort direction. Allowed values: asc, desc
Terminal window
curl -X GET "/api/v1/images/public?os=ubuntu&architecture=amd64&page=1&limit=20&sort_by=alias&sort_order=asc" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"statusCode": 200,
"message": "Public images retrieved successfully",
"data": {
"images": [
{
"id": "507f1f77bcf86cd799439021",
"alias": "ubuntu/22.04",
"description": "Ubuntu 22.04 LTS (Jammy Jellyfish)",
"image_name": "ubuntu-22.04-amd64",
"architecture": "amd64",
"os": "ubuntu",
"release": "22.04",
"variant": "default",
"size": 512000000,
"price": 0,
"added_date": "2025-01-10T08:00:00.000Z",
"average_rating": 4.5,
"rating_count": 142,
"icon_url": "/api/v1/images/507f1f77bcf86cd799439021/icon",
"prespawn": true
}
],
"pagination": {
"total": 87,
"page": 1,
"limit": 20,
"totalPages": 5
}
}
}

Retrieve full details for a specific public container image, including its serial identifier and prespawn capability.

NameInTypeRequiredDescription
idpathstringYesUnique identifier of the public container image to retrieve details for
Terminal window
curl -X GET "/api/v1/images/public/507f1f77bcf86cd799439021" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"statusCode": 200,
"message": "Public image details retrieved successfully",
"data": {
"id": "507f1f77bcf86cd799439021",
"alias": "ubuntu/22.04",
"description": "Ubuntu 22.04 LTS (Jammy Jellyfish)",
"image_name": "ubuntu-22.04-amd64",
"architecture": "amd64",
"os": "ubuntu",
"release": "22.04",
"serial": "20250110",
"variant": "default",
"size": 512000000,
"price": 0,
"added_date": "2025-01-10T08:00:00.000Z",
"average_rating": 4.5,
"rating_count": 142,
"icon_url": "/api/v1/images/507f1f77bcf86cd799439021/icon",
"prespawn": true
}
}

Fetch the icon (PNG image) associated with a container image.

NameInTypeRequiredDescription
idpathstringYesUnique identifier of the container image to retrieve icon for
Terminal window
curl -X GET "/api/v1/images/507f1f77bcf86cd799439021/icon" \
-H "Authorization: Bearer YOUR_TOKEN" \
--output image-icon.png

The response body is a binary PNG image (Content-Type: image/png).


List all container images the authenticated user has imported or purchased, including the user’s own rating for each image.

NameInTypeRequiredDescription
pagequeryintegerNoPage number for pagination — starts from 1. Default: 1
limitqueryintegerNoNumber of images to return per page — maximum 100 items. Default: 20
sort_byquerystringNoField to sort user images by — currently only supports creation date. Allowed values: created_at
sort_orderquerystringNoSort direction. Allowed values: asc, desc
Terminal window
curl -X GET "/api/v1/images/user?page=1&limit=20&sort_by=created_at&sort_order=desc" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"statusCode": 200,
"message": "User images retrieved successfully",
"data": {
"images": [
{
"id": "507f1f77bcf86cd799439021",
"alias": "ubuntu/22.04",
"description": "Ubuntu 22.04 LTS (Jammy Jellyfish)",
"image_name": "ubuntu-22.04-amd64",
"architecture": "amd64",
"os": "ubuntu",
"release": "22.04",
"variant": "default",
"size": 512000000,
"price": 0,
"user_rating": 5,
"has_rated": true,
"average_rating": 4.5,
"rating_count": 142,
"icon_url": "/api/v1/images/507f1f77bcf86cd799439021/icon",
"prespawn": true
}
],
"pagination": {
"total": 12,
"page": 1,
"limit": 20,
"totalPages": 1
}
}
}

Import a free public container image into the authenticated user’s library so it can be used to launch containers.

NameInTypeRequiredDescription
idpathstringYesUnique identifier of the public container image to import
Terminal window
curl -X POST "/api/v1/images/import/507f1f77bcf86cd799439021" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"statusCode": 200,
"message": "Free image imported successfully",
"data": {}
}

Purchase a paid container image. The cost is deducted from the user’s balance and the image is added to their library.

NameInTypeRequiredDescription
idpathstringYesUnique identifier of the paid container image to purchase
Terminal window
curl -X POST "/api/v1/images/purchase/507f1f77bcf86cd799439021" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"statusCode": 200,
"message": "Image purchased successfully",
"data": {
"price_paid": 5.99,
"remaining_balance": 44.01
}
}

Submit or update a rating for a container image. Ratings must be between 0 and 5 stars (decimal values allowed).

NameInTypeRequiredDescription
idpathstringYesUnique identifier of the container image to rate
NameTypeRequiredDescription
ratingnumberYesRating for the image from 0 to 5 stars
Terminal window
curl -X POST "/api/v1/images/rate/507f1f77bcf86cd799439021" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"rating": 5}'
{
"statusCode": 200,
"message": "Image rated successfully",
"data": {
"new_rating": 5,
"average_rating": 4.6,
"rating_count": 143
}
}