List images API Reference
const url = 'https://api.kupe.cloud/api/v1/tenants/acme/registries/registry/repositories/team-a%252Fapi/images?page=1&pageSize=25';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.kupe.cloud/api/v1/tenants/acme/registries/registry/repositories/team-a%252Fapi/images?page=1&pageSize=25' \ --header 'Authorization: <Authorization>'List the images of a repository, most recently pushed first, each with its tags, size and platforms.
A multi-platform image is one item of type index listing its platforms; its per-platform images are
not listed separately. tagged=false lists only the untagged images, which keep using storage until
deleted; tagged=true only the tagged ones.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”Tenant name
Registry name: always registry
Repository name without the registry and tenant, with each / encoded as %2F
Query Parameters
Section titled “ Query Parameters ”True: tagged images only; false: untagged images only; absent: all
Page, from 1
Images per page
Responses
Section titled “ Responses ”One page of images
object
object
ArtifactType is the manifest’s artifactType, or its config’s media type when the manifest names none (OCI).
LastPulledAt is absent while the image was never pulled.
object
Self is the image’s canonical URL, always by digest.
MediaType is the manifest’s media type.
Platforms lists a multi-platform image’s platforms, or a single image’s own; empty when unknown (a chart).
object
Digest is the platform image’s digest (for a single image, its own).
object
ByDigest pulls exactly this image.
ByTag is one reference per tag; empty for an untagged image.
Size is in bytes.
Tags is empty for an untagged image.
object
LastPulledAt is absent while the tag was never pulled.
Type is index for a multi-platform image.
Total is the number of images across every page.
Example
{ "items": [ { "artifactType": "application/vnd.oci.image.config.v1+json", "digest": "sha256:4f8c0d0e4b1f2b6e7e0c6a3d6c0f3a9e8d7c6b5a4f3e2d1c0b9a8f7e6d5c4b3a", "lastPulledAt": "2026-10-21T13:00:00Z", "links": { "self": "/api/v1/tenants/acme/registries/registry/repositories/team-a%2Fapi/images/sha256:4f8c0d0e4b1f2b6e7e0c6a3d6c0f3a9e8d7c6b5a4f3e2d1c0b9a8f7e6d5c4b3a" }, "mediaType": "application/vnd.oci.image.manifest.v1+json", "platforms": [ { "architecture": "amd64", "digest": "sha256:9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d7e6f5a4b3c2d1e0f9a8b", "os": "linux", "variant": "" } ], "pull": { "byDigest": "registry.kupe.cloud/acme/team-a/api@sha256:4f8c0d0e4b1f2b6e7e0c6a3d6c0f3a9e8d7c6b5a4f3e2d1c0b9a8f7e6d5c4b3a", "byTag": [ "registry.kupe.cloud/acme/team-a/api:v1.4.2" ] }, "pushedAt": "2026-10-21T12:30:00Z", "repository": "team-a/api", "size": 12345678, "tags": [ { "lastPulledAt": "2026-10-21T13:00:00Z", "name": "v1.4.2", "pushedAt": "2026-10-21T12:30:00Z" } ], "type": "image" } ], "page": 1, "pageSize": 25, "total": 42}Invalid name, repository, tagged, page or pageSize
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Missing or invalid authentication
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Not a member of this tenant
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}The registry is not ready yet (code registry_not_ready)
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Rate limit exceeded
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}The registry is busy or temporarily unavailable; retry
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}