Skip to main content

Container Registry API (v2.2)

Managing container registries and repositories: creating and configuring registries, obtaining information about repositories, managing access tokens, garbage collection, repository cleanup, and more.

Registries

List registries

Returns a list of available container registries.

Authorizations:
iam_token_project_scoped
query Parameters
limit
integer
Default: 10

limit

offset
integer
Default: 0

Page offset for pagination.

search
string

Search query for filtering registries by name.

sort_field
string (SortRegistriesField)
Default: "name"
Enum: "name" "createdAt" "size"

Field to sort by.

sort_type
string (SortType)
Default: "asc"
Enum: "asc" "desc"

Sort order type.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create registry

Creates a new container registry with the specified parameters.

Authorizations:
iam_token_project_scoped
Request Body schema: application/json
required
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "my-registry"
}

Response samples

Content type
application/json
{
  • "createdAt": "2019-08-24T14:15:22Z",
  • "id": "string",
  • "name": "string",
  • "size": 5368709120,
  • "sizeLimit": 21474836480,
  • "status": "CREATING",
  • "used": 25
}

Delete registry

Deletes the specified container registry.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

Responses

Response samples

Content type
application/json
{
  • "message": "Server is not responding. Please try again later."
}

Get registry information

Returns information about the specified registry.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

Responses

Response samples

Content type
application/json
{
  • "createdAt": "2019-08-24T14:15:22Z",
  • "id": "string",
  • "name": "string",
  • "size": 5368709120,
  • "sizeLimit": 21474836480,
  • "status": "CREATING",
  • "used": 25
}

Clusters integration

List integrated clusters

List clusters integrated with registry

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Container Registry ID

Responses

Response samples

Content type
application/json
{
  • "clusters": [
    ],
  • "totalCount": 1
}

Garbage collection

Initiate garbage collection

Initiate garbage collection process for the specified registry.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

query Parameters
delete-untagged
boolean

Delete untagged images.

Responses

Response samples

Content type
application/json

Returned when the specified registry cannot be found or doesn't exist

{
  • "error": "Registry not found."
}

Get garbage collection size

Returns information about potential space savings from garbage collection.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

Responses

Response samples

Content type
application/json
{
  • "sizeNonReferenced": 56723502,
  • "sizeSummary": 87639320,
  • "sizeUntagged": 30915818
}

Repositories

List repositories

Returns a list of repositories in the specified registry.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

query Parameters
limit
integer
Default: 10

Number of items per page.

offset
integer
Default: 0

Number of repositories to skip.

search
string

Search query for filtering repositories by name.

sort_field
string (SortReposField)
Default: "name"
Enum: "name" "updatedAt" "size"

Field to sort by.

sort_type
string (SortType)
Default: "asc"
Enum: "asc" "desc"

Sort order type.

short
boolean

Short output, return only repository names.

When short output is enabled, sorting can only be done by name.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete repository

Deletes the specified repository.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

name
required
string

Name of the repository.

Responses

Response samples

Content type
application/json
Example

Returned when the specified registry cannot be found or doesn't exist

{
  • "error": "Registry not found."
}

Get repository information

Returns information about the specified repository.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

name
required
string

Name of the repository.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "size": 0,
  • "type": "helm_chart",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Clean up repository

Removes specified tags and images from the repository.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

name
required
string

Name of the repository.

Request Body schema: application/json
required

Cleanup request specifying what to remove.

digests
Array of strings

List of image digests to remove.

disable_gc
boolean
Default: false

Indicates whether garbage collection is disabled after cleanup.

tags
Array of strings

List of tags to remove.

Responses

Request samples

Content type
application/json
{
  • "digests": [
    ],
  • "disable_gc": false,
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "deleted": [
    ],
  • "failed": [
    ]
}

List images

Returns a list of images in the specified repository.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

name
required
string

Name of the repository.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List tags

Returns a list of tags in the specified repository.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

name
required
string

Name of the repository.

Responses

Response samples

Content type
application/json
[
  • "string"
]

Delete manifest

Delete image by manifest digest

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

name
required
string

Name of the repository.

reference
required
string

SHA256 digest of the image.

Responses

Response samples

Content type
application/json
Example

Returned when the specified registry cannot be found or doesn't exist

{
  • "error": "Registry not found."
}

List layers.

Returns a list of image layers.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

name
required
string

Name of the repository.

reference
required
string

Image digest or tag name.

Responses

Response samples

Content type
application/json
{
  • "architecture": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "digest": "sha256:def456...",
  • "layers": [
    ],
  • "mediaType": "string",
  • "os": "string",
  • "size": 0,
  • "tags": [
    ]
}

Tokens

Create authentication token

Creates a new authentication token with the specified parameters.

Authorizations:
iam_token_project_scoped
query Parameters
ttl
string
Default: "12h"
Enum: "12h" "1y"

Token time-to-live (TTL):

  • 12h — Token expires in 12 hours.
  • 1y — Token expires in 1 year.
docker-config
boolean
Default: false

Returns the token as a Docker configuration in JSON format.

Responses

Response samples

Content type
application/json
{
  • "expireAt": 1609459200,
  • "expireIn": 43200,
  • "token": "44d570a1-21a7-404f-bbda-3a99872e2776"
}

Revoke token

Revoke the specified authentication token.

Authorizations:
iam_token_project_scoped
path Parameters
token
required
string

Unique identifier of the authentication token.

Responses

Response samples

Content type
application/json

Returned when the provided authentication token is invalid, malformed, or corrupted

{
  • "error": "Invalid or malformed token."
}

Get token information

Returns information about the specified token.

Authorizations:
iam_token_project_scoped
path Parameters
token
required
string

Unique identifier of the authentication token.

Responses

Response samples

Content type
application/json
{
  • "expireAt": 1609459200,
  • "expireIn": 43200
}

Refresh token

Refreshes the specified authentication token.

Authorizations:
iam_token_project_scoped
path Parameters
token
required
string

Unique identifier of the authentication token.

Responses

Response samples

Content type
application/json
{
  • "expireAt": 1609459200,
  • "expireIn": 43200,
  • "token": "44d570a1-21a7-404f-bbda-3a99872e2776"
}

Registries v2

List registries

Returns a list of available container registries.

Authorizations:
iam_token_project_scoped
query Parameters
limit
integer
Default: 10

Number of items per page.

offset
integer
Default: 0

Page offset for pagination.

search
string

Search query for filtering registries by name.

sort_field
string (SortRegistriesField)
Default: "name"
Enum: "name" "createdAt" "size"

Field to sort by.

sort_type
string (SortType)
Default: "asc"
Enum: "asc" "desc"

Sort order type.

Responses

Response samples

Content type
application/json
{
  • "registries": [
    ],
  • "totalCount": 0
}

Repositories v2

List repositories

Returns a list of repositories in the specified registry.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

query Parameters
limit
integer
Default: 10

Number of items per page.

offset
integer
Default: 0

Page offset for pagination.

search
string

Search query for filtering repositories by name.

sort_field
string (SortReposField)
Default: "name"
Enum: "name" "updatedAt" "size"

Field to sort by.

sort_type
string (SortType)
Default: "asc"
Enum: "asc" "desc"

Sort order type.

short
boolean

Short output, return only repository names.

When short output is enabled, sorting can only be done by name.

Responses

Response samples

Content type
application/json
{
  • "filteredCount": 0,
  • "repositories": [
    ],
  • "totalCount": 0
}

List images

Returns a list of images in the specified repository.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the registry.

name
required
string

Name of the repository.

query Parameters
limit
integer
Default: 10

Number of items per page.

offset
integer
Default: 0

Page offset for pagination.

search
string

Search query for filtering images.

Responses

Response samples

Content type
application/json
{
  • "filteredCount": 0,
  • "images": [
    ],
  • "totalCount": 0
}

Tokens v2

List tokens

Returns a list of authentication tokens.

Authorizations:
iam_token_project_scoped
query Parameters
limit
integer
Default: 10

Number of items per page.

offset
integer
Default: 0

Page offset for pagination.

sort_field
string (SortTokensField)
Default: "createdAt"
Enum: "name" "createdAt" "lastUsedAt" "expiresAt"

Field to sort by.

sort_type
string (SortType)
Default: "asc"
Enum: "asc" "desc"

Sort order type.

search
string

Filter tokens by name.

scope_mode
string
Enum: "ro" "rw"

Filter tokens by their scope of access

Responses

Response samples

Content type
application/json
{
  • "tokens": [
    ],
  • "totalCount": 1
}

Create token

Creates a new authentication token with specified parameters.

Authorizations:
iam_token_project_scoped
query Parameters
docker-config
boolean

Returns the token as a Docker configuration in JSON format.

Request Body schema: application/json
required
required
object (TokenExpiration)
name
string

Name of the token.

required
object (TokenScope)

Responses

Request samples

Content type
application/json
{
  • "expiration": {
    },
  • "name": "my-token",
  • "scope": {
    }
}

Response samples

Content type
application/json
{
  • "createdAt": "2023-02-13T15:00:00Z",
  • "expiration": {
    },
  • "id": "c29e3f63-0711-4772-a415-ad79973bdaef",
  • "name": "my-token",
  • "scope": {
    },
  • "status": "active",
  • "token": "<token>"
}

Delete token

Deletes the specified authentication token.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the authentication token.

Responses

Response samples

Content type
application/json
{
  • "message": "Server is not responding. Please try again later."
}

Get token information

Returns information about the specified token.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the authentication token.

Responses

Response samples

Content type
application/json
{
  • "createdAt": "2023-02-13T15:00:00Z",
  • "expiration": {
    },
  • "id": "c29e3f63-0711-4772-a415-ad79973bdaef",
  • "lastUsedAt": "2023-02-14T15:25:10Z",
  • "name": "my-token",
  • "scope": {
    },
  • "status": "active"
}

Update token

Updates the specified authentication token.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the authentication token.

Request Body schema: application/json
required
object (TokenExpiration)
name
string
object (TokenScope)

Responses

Request samples

Content type
application/json
{
  • "name": "my-new-token",
  • "scope": {
    }
}

Response samples

Content type
application/json
{
  • "createdAt": "2023-02-13T15:00:00Z",
  • "expiration": {
    },
  • "id": "c29e3f63-0711-4772-a415-ad79973bdaef",
  • "lastUsedAt": "2023-02-14T15:25:10Z",
  • "name": "my-new-token",
  • "scope": {
    },
  • "status": "active"
}

Refresh token

Refreshes the specified authentication token.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the authentication token.

Request Body schema: application/json
required
required
object (TokenExpiration)
expiresAt
string <date-time>
isSet
required
boolean

Responses

Request samples

Content type
application/json
{
  • "expiration": {
    }
}

Response samples

Content type
application/json
{
  • "createdAt": "2023-02-13T15:00:00Z",
  • "expiration": {
    },
  • "id": "c29e3f63-0711-4772-a415-ad79973bdaef",
  • "lastUsedAt": "2023-02-14T15:25:10Z",
  • "name": "my-token",
  • "scope": {
    },
  • "status": "active"
}

Regenerate token

Revokes the token and generates a new one with the same properties.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the authentication token.

Request Body schema: application/json
required
required
object (TokenExpiration)
expiresAt
string <date-time>
isSet
required
boolean

Responses

Request samples

Content type
application/json
{
  • "expiration": {
    }
}

Response samples

Content type
application/json
{
  • "createdAt": "2023-02-13T15:00:00Z",
  • "expiration": {
    },
  • "id": "c29e3f63-0711-4772-a415-ad79973bdaef",
  • "lastUsedAt": "2023-02-14T15:25:10Z",
  • "name": "my-token",
  • "scope": {
    },
  • "status": "active",
  • "token": "<new-token>"
}

Revoke token

Revokes the specified authentication token.

Authorizations:
iam_token_project_scoped
path Parameters
id
required
string

Unique identifier of the authentication token.

Responses

Response samples

Content type
application/json

Returned when the specified token cannot be found in the system

{
  • "error": "Token not found."
}