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.
List registries
Returns a list of available container registries.
Authorizations:
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
- 200
- 500
[- {
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "name": "string",
- "size": 5368709120,
- "sizeLimit": 21474836480,
- "status": "CREATING",
- "used": 25
}
]Create registry
Creates a new container registry with the specified parameters.
Authorizations:
Request Body schema: application/jsonrequired
| name required | string |
Responses
Request samples
- Payload
{- "name": "my-registry"
}Response samples
- 201
- 400
- 409
- 500
{- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "name": "string",
- "size": 5368709120,
- "sizeLimit": 21474836480,
- "status": "CREATING",
- "used": 25
}Get registry information
Returns information about the specified registry.
Authorizations:
path Parameters
| id required | string Unique identifier of the registry. |
Responses
Response samples
- 200
- 404
- 500
{- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "name": "string",
- "size": 5368709120,
- "sizeLimit": 21474836480,
- "status": "CREATING",
- "used": 25
}List integrated clusters
List clusters integrated with registry
Authorizations:
path Parameters
| id required | string Container Registry ID |
Responses
Response samples
- 200
- 404
- 500
{- "clusters": [
- {
- "id": "5d8504c1-bb11-43d2-88a8-bb07303422b3",
- "name": "cluster-1",
- "pool": "ru-9"
}
], - "totalCount": 1
}Initiate garbage collection
Initiate garbage collection process for the specified registry.
Authorizations:
path Parameters
| id required | string Unique identifier of the registry. |
query Parameters
| delete-untagged | boolean Delete untagged images. |
Responses
Response samples
- 404
- 409
- 500
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:
path Parameters
| id required | string Unique identifier of the registry. |
Responses
Response samples
- 200
- 404
- 500
{- "sizeNonReferenced": 56723502,
- "sizeSummary": 87639320,
- "sizeUntagged": 30915818
}List repositories
Returns a list of repositories in the specified registry.
Authorizations:
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
- 200
- 404
- 500
[- {
- "name": "string",
- "size": 0,
- "type": "helm_chart",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]Delete repository
Deletes the specified repository.
Authorizations:
path Parameters
| id required | string Unique identifier of the registry. |
| name required | string Name of the repository. |
Responses
Response samples
- 404
- 409
- 500
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:
path Parameters
| id required | string Unique identifier of the registry. |
| name required | string Name of the repository. |
Responses
Response samples
- 200
- 404
- 500
{- "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:
path Parameters
| id required | string Unique identifier of the registry. |
| name required | string Name of the repository. |
Request Body schema: application/jsonrequired
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
- Payload
{- "digests": [
- "sha256:abc123..."
], - "disable_gc": false,
- "tags": [
- "v1.0",
- "latest"
]
}Response samples
- 200
- 404
- 409
- 500
{- "deleted": [
- {
- "digest": "sha256:abc123...",
- "tags": [
- "v1.0",
- "latest"
]
}
], - "failed": [
- {
- "digest": "sha256:def456...",
- "error": "Image is referenced by another manifest",
- "tags": [
- "tag1",
- "tag2"
]
}
]
}List images
Returns a list of images in the specified repository.
Authorizations:
path Parameters
| id required | string Unique identifier of the registry. |
| name required | string Name of the repository. |
Responses
Response samples
- 200
- 404
- 500
[- {
- "architecture": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "digest": "sha256:def456...",
- "layers": [
- {
- "digest": "sha256:abc123...",
- "size": 0
}
], - "mediaType": "string",
- "os": "string",
- "size": 0,
- "tags": [
- "string"
]
}
]Delete manifest
Delete image by manifest digest
Authorizations:
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
- 404
- 409
- 500
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:
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
- 200
- 404
- 500
{- "architecture": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "digest": "sha256:def456...",
- "layers": [
- {
- "digest": "sha256:abc123...",
- "size": 0
}
], - "mediaType": "string",
- "os": "string",
- "size": 0,
- "tags": [
- "string"
]
}Create authentication token
Creates a new authentication token with the specified parameters.
Authorizations:
query Parameters
| ttl | string Default: "12h" Enum: "12h" "1y" Token time-to-live (TTL):
|
| docker-config | boolean Default: false Returns the token as a Docker configuration in JSON format. |
Responses
Response samples
- 201
- 400
- 500
{- "expireAt": 1609459200,
- "expireIn": 43200,
- "token": "44d570a1-21a7-404f-bbda-3a99872e2776"
}Revoke token
Revoke the specified authentication token.
Authorizations:
path Parameters
| token required | string Unique identifier of the authentication token. |
Responses
Response samples
- 400
- 500
Returned when the provided authentication token is invalid, malformed, or corrupted
{- "error": "Invalid or malformed token."
}Refresh token
Refreshes the specified authentication token.
Authorizations:
path Parameters
| token required | string Unique identifier of the authentication token. |
Responses
Response samples
- 200
- 400
- 404
- 500
{- "expireAt": 1609459200,
- "expireIn": 43200,
- "token": "44d570a1-21a7-404f-bbda-3a99872e2776"
}List registries
Returns a list of available container registries.
Authorizations:
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
- 200
- 500
{- "registries": [
- {
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "name": "string",
- "size": 5368709120,
- "status": "CREATING"
}
], - "totalCount": 0
}List repositories
Returns a list of repositories in the specified registry.
Authorizations:
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
- 200
- 404
- 500
{- "filteredCount": 0,
- "repositories": [
- {
- "name": "string",
- "size": 0,
- "type": "helm_chart",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "totalCount": 0
}List images
Returns a list of images in the specified repository.
Authorizations:
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
- 200
- 404
- 500
{- "filteredCount": 0,
- "images": [
- {
- "architecture": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "digest": "sha256:def456...",
- "layers": [
- {
- "digest": "sha256:abc123...",
- "size": 0
}
], - "mediaType": "string",
- "os": "string",
- "size": 0,
- "tags": [
- "string"
]
}
], - "totalCount": 0
}List tokens
Returns a list of authentication tokens.
Authorizations:
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
- 200
- 500
{- "tokens": [
- {
- "createdAt": "2023-02-13T15:00:00Z",
- "expiration": {
- "expiresAt": "2030-01-01T00:00:00Z",
- "isSet": true
}, - "id": "c29e3f63-0711-4772-a415-ad79973bdaef",
- "lastUsedAt": "2023-02-14T15:25:10Z",
- "name": "my-token",
- "scope": {
- "allRegistries": false,
- "modeRW": false,
- "registryIds": [
- "888af692-c646-4b76-a234-81ca9b5bcafe",
- "6303699d-c2cd-40b1-8428-9dcd6cc3d00d"
]
}, - "status": "active"
}
], - "totalCount": 1
}Create token
Creates a new authentication token with specified parameters.
Authorizations:
query Parameters
| docker-config | boolean Returns the token as a Docker configuration in JSON format. |
Request Body schema: application/jsonrequired
required | object (TokenExpiration) |
| name | string Name of the token. |
required | object (TokenScope) |
Responses
Request samples
- Payload
{- "expiration": {
- "expiresAt": "2030-01-01T00:00:00Z",
- "isSet": true
}, - "name": "my-token",
- "scope": {
- "allRegistries": true,
- "modeRW": true,
- "registryIds": [
- "888af692-c646-4b76-a234-81ca9b5bcafe",
- "6303699d-c2cd-40b1-8428-9dcd6cc3d00d"
]
}
}Response samples
- 201
- 400
- 500
{- "createdAt": "2023-02-13T15:00:00Z",
- "expiration": {
- "expiresAt": "2030-01-01T00:00:00Z",
- "isSet": true
}, - "id": "c29e3f63-0711-4772-a415-ad79973bdaef",
- "name": "my-token",
- "scope": {
- "allRegistries": false,
- "modeRW": true,
- "registryIds": [
- "888af692-c646-4b76-a234-81ca9b5bcafe",
- "6303699d-c2cd-40b1-8428-9dcd6cc3d00d"
]
}, - "status": "active",
- "token": "<token>"
}Get token information
Returns information about the specified token.
Authorizations:
path Parameters
| id required | string Unique identifier of the authentication token. |
Responses
Response samples
- 200
- 404
- 500
{- "createdAt": "2023-02-13T15:00:00Z",
- "expiration": {
- "expiresAt": "2030-01-01T00:00:00Z",
- "isSet": true
}, - "id": "c29e3f63-0711-4772-a415-ad79973bdaef",
- "lastUsedAt": "2023-02-14T15:25:10Z",
- "name": "my-token",
- "scope": {
- "allRegistries": false,
- "modeRW": true,
- "registryIds": [
- "888af692-c646-4b76-a234-81ca9b5bcafe",
- "6303699d-c2cd-40b1-8428-9dcd6cc3d00d"
]
}, - "status": "active"
}Update token
Updates the specified authentication token.
Authorizations:
path Parameters
| id required | string Unique identifier of the authentication token. |
Request Body schema: application/jsonrequired
object (TokenExpiration) | |
| name | string |
object (TokenScope) |
Responses
Request samples
- Payload
{- "name": "my-new-token",
- "scope": {
- "allRegistries": false,
- "modeRW": true,
- "registryIds": [
- "888af692-c646-4b76-a234-81ca9b5bcafe"
]
}
}Response samples
- 200
- 404
- 500
{- "createdAt": "2023-02-13T15:00:00Z",
- "expiration": {
- "expiresAt": "2030-01-01T00:00:00Z",
- "isSet": true
}, - "id": "c29e3f63-0711-4772-a415-ad79973bdaef",
- "lastUsedAt": "2023-02-14T15:25:10Z",
- "name": "my-new-token",
- "scope": {
- "allRegistries": false,
- "modeRW": true,
- "registryIds": [
- "888af692-c646-4b76-a234-81ca9b5bcafe"
]
}, - "status": "active"
}Refresh token
Refreshes the specified authentication token.
Authorizations:
path Parameters
| id required | string Unique identifier of the authentication token. |
Request Body schema: application/jsonrequired
required | object (TokenExpiration) | ||||
| |||||
Responses
Request samples
- Payload
{- "expiration": {
- "expiresAt": "2029-03-20T00:00:00Z",
- "isSet": true
}
}Response samples
- 200
- 404
- 500
{- "createdAt": "2023-02-13T15:00:00Z",
- "expiration": {
- "expiresAt": "2029-03-20T00:00:00Z",
- "isSet": true
}, - "id": "c29e3f63-0711-4772-a415-ad79973bdaef",
- "lastUsedAt": "2023-02-14T15:25:10Z",
- "name": "my-token",
- "scope": {
- "allRegistries": false,
- "modeRW": true,
- "registryIds": [
- "888af692-c646-4b76-a234-81ca9b5bcafe",
- "6303699d-c2cd-40b1-8428-9dcd6cc3d00d"
]
}, - "status": "active"
}Regenerate token
Revokes the token and generates a new one with the same properties.
Authorizations:
path Parameters
| id required | string Unique identifier of the authentication token. |
Request Body schema: application/jsonrequired
required | object (TokenExpiration) | ||||
| |||||
Responses
Request samples
- Payload
{- "expiration": {
- "expiresAt": "2029-03-20T00:00:00Z",
- "isSet": true
}
}Response samples
- 200
- 404
- 500
{- "createdAt": "2023-02-13T15:00:00Z",
- "expiration": {
- "expiresAt": "2029-03-20T00:00:00Z",
- "isSet": true
}, - "id": "c29e3f63-0711-4772-a415-ad79973bdaef",
- "lastUsedAt": "2023-02-14T15:25:10Z",
- "name": "my-token",
- "scope": {
- "allRegistries": false,
- "modeRW": true,
- "registryIds": [
- "888af692-c646-4b76-a234-81ca9b5bcafe",
- "6303699d-c2cd-40b1-8428-9dcd6cc3d00d"
]
}, - "status": "active",
- "token": "<new-token>"
}Revoke token
Revokes the specified authentication token.
Authorizations:
path Parameters
| id required | string Unique identifier of the authentication token. |
Responses
Response samples
- 404
- 500
Returned when the specified token cannot be found in the system
{- "error": "Token not found."
}