Container Registry API (v2.1.1)
Managing registries, repositories, and tokens
List registries
List available container registries
Authorizations:
query Parameters
limit | integer Default: 10 limit |
offset | integer Default: 0 offset |
search | string search |
sort_field | string (SortRegistriesField) Default: "name" Enum: "name" "createdAt" "size" sort_field |
sort_type | string (SortType) Default: "asc" Enum: "asc" "desc" sort_type |
Responses
Response samples
- 200
[- {
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "name": "string",
- "size": 5368709120,
- "sizeLimit": 21474836480,
- "status": "CREATING",
- "used": 25
}
]
Create container registry
Create New Container registry
Authorizations:
Request Body schema: application/jsonrequired
Container Registry Params
name required | string |
Responses
Request samples
- Payload
{- "name": "my-registry"
}
Response samples
- 201
- 400
- 403
- default
{- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "name": "string",
- "size": 5368709120,
- "sizeLimit": 21474836480,
- "status": "CREATING",
- "used": 25
}
Get registry information
Get registry information by ID
Authorizations:
path Parameters
id required | string Container Registry ID |
Responses
Response samples
- 200
- default
{- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "name": "string",
- "size": 5368709120,
- "sizeLimit": 21474836480,
- "status": "CREATING",
- "used": 25
}
List registries
List available container registries
Authorizations:
query Parameters
limit | integer Default: 10 limit |
offset | integer Default: 0 offset |
search | string search |
sort_field | string (SortRegistriesField) Default: "name" Enum: "name" "createdAt" "size" sort_field |
sort_type | string (SortType) Default: "asc" Enum: "asc" "desc" sort_type |
Responses
Response samples
- 200
{- "registries": [
- {
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "name": "string",
- "size": 5368709120,
- "status": "CREATING"
}
], - "totalCount": 0
}
List integrated clusters
List clusters integrated with registry
Authorizations:
path Parameters
id required | string Container Registry ID |
Responses
Response samples
- 200
- default
{- "clusters": [
- {
- "id": "5d8504c1-bb11-43d2-88a8-bb07303422b3",
- "name": "cluster-1",
- "pool": "ru-9"
}
], - "totalCount": 1
}
Initiate registry garbage collection
Initiate registry garbage collection
Authorizations:
path Parameters
id required | string Container Registry ID |
query Parameters
delete-untagged | boolean Delete untagged images |
Responses
Response samples
- 409
- default
{- "error": "garbage collection is in progress, please retry later"
}
Get information about the garbage size.
Returns information about the garbage size
Authorizations:
path Parameters
id required | string Container Registry ID |
Responses
Response samples
- 200
- default
{- "sizeNonReferenced": 56723502,
- "sizeSummary": 87639320,
- "sizeUntagged": 30915818
}
List repositories
Authorizations:
path Parameters
id required | string Container Registry ID |
query Parameters
limit | integer Default: 10 Limit of repositories in response. |
offset | integer Default: 0 Number of repositories to skip. |
search | string Search repository by name. |
sort_field | string (SortReposField) Default: "name" Enum: "name" "updatedAt" "size" Sort repositories by field. |
sort_type | string (SortType) Default: "asc" Enum: "asc" "desc" Ascending or descending repositories sort. |
short | boolean Short output, return only repository names. |
Responses
Response samples
- 200
- default
[- {
- "name": "string",
- "size": 0,
- "type": "helm_chart",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
Show repository information
Get information about repository by name
Authorizations:
path Parameters
id required | string Container Registry ID |
name required | string repository name. |
Responses
Response samples
- 200
- default
{- "name": "string",
- "size": 0,
- "type": "helm_chart",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Cleanup repository
Cleanup repository by name
Authorizations:
path Parameters
id required | string Container Registry ID |
name required | string repository name. |
Request Body schema: application/jsonrequired
Cleanup repository params
digests | Array of strings List of manifests to delete. |
disable_gc | boolean Default: false Disable garbage collection after deletion of tags and manifests. |
tags | Array of strings List of tags to delete. |
Responses
Request samples
- Payload
{- "digests": [
- "sha256:778066204fb734c2fb80cb8127cb35d67d742806a4eaf1aba0b5393c4ae6f2aa"
], - "disable_gc": false,
- "tags": [
- "tag1",
- "tag2"
]
}
Response samples
- 200
- 409
- default
{- "deleted": [
- {
- "digest": "sha256:778066204fb734c2fb80cb8127cb35d67d742806a4eaf1aba0b5393c4ae6f2aa",
- "tags": [
- "tag1",
- "tag2"
]
}
], - "failed": [
- {
- "digest": "sha256:778766204fb734c2fb80cb8127cb35d67d742806a4eaf1aba0b5393c4ae6f2aa",
- "error": "error message",
- "tags": [
- "tag1",
- "tag2"
]
}
]
}
List repository images
List repository images
Authorizations:
path Parameters
id required | string Container Registry ID |
name required | string repository name. |
Responses
Response samples
- 200
- default
[- {
- "architecture": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "digest": "sha256:778066204fb734c2fb80cb8127cb35d67d742806a4eaf1aba0b5393c4ae6f2aa",
- "layers": [
- {
- "digest": "sha256:778066204fb734c2fb80cb8127cb35d67d742806a4eaf1aba0b5393c4ae6f2aa",
- "size": 0
}
], - "mediaType": "string",
- "os": "string",
- "size": 0,
- "tags": [
- "string"
]
}
]
Delete manifest
Delete image by manifest digest
Authorizations:
path Parameters
id required | string Container Registry ID |
name required | string repository name. |
reference required | string digest. |
Responses
Response samples
- 409
- default
{- "error": "garbage collection is in progress, please retry later"
}
List of image layers
List of image layers
Authorizations:
path Parameters
id required | string Container Registry ID |
name required | string repository name. |
reference required | string digest or tag. |
Responses
Response samples
- 200
- default
[- {
- "digest": "sha256:778066204fb734c2fb80cb8127cb35d67d742806a4eaf1aba0b5393c4ae6f2aa",
- "size": 0
}
]
List repositories
Authorizations:
path Parameters
id required | string Container Registry ID |
query Parameters
limit | integer Default: 10 Limit of repositories in response. |
offset | integer Default: 0 Number of repositories to skip. |
search | string Search repository by name. |
sort_field | string (SortReposField) Default: "name" Enum: "name" "updatedAt" "size" Sort repositories by field. |
sort_type | string (SortType) Default: "asc" Enum: "asc" "desc" Ascending or descending repositories sort. |
short | boolean Short output, return only repository names. |
Responses
Response samples
- 200
- default
{- "repositories": [
- {
- "name": "string",
- "size": 0,
- "type": "helm_chart",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "totalCount": 0
}
List repository images
Authorizations:
path Parameters
id required | string Container Registry ID |
name required | string Repository name |
query Parameters
limit | integer Default: 10 Limit of images in response. |
offset | integer Default: 0 Number of images to skip. |
search | string Search image by tag or digest. |
Responses
Response samples
- 200
- default
{- "images": [
- {
- "architecture": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "digest": "sha256:778066204fb734c2fb80cb8127cb35d67d742806a4eaf1aba0b5393c4ae6f2aa",
- "layers": [
- {
- "digest": "sha256:778066204fb734c2fb80cb8127cb35d67d742806a4eaf1aba0b5393c4ae6f2aa",
- "size": 0
}
], - "mediaType": "string",
- "os": "string",
- "size": 0,
- "tags": [
- "string"
]
}
], - "totalCount": 0
}
Create a new token
Create new token
Authorizations:
query Parameters
ttl | string Default: "12h" Enum: "12h" "1y" Token TTL:
|
docker-config | boolean Default: false Return token as Docker config in JSON format |
Responses
Response samples
- 201
- 400
- default
{- "expireAt": 1609459200,
- "expireIn": 43200,
- "token": "44d570a1-21a7-404f-bbda-3a99872e2776"
}
List tokens
List tokens
Authorizations:
query Parameters
limit | integer Default: 10 limit |
offset | integer Default: 0 offset |
sort_field | string (SortTokensField) Default: "createdAt" Enum: "name" "createdAt" "lastUsedAt" "expiresAt" sort_field |
sort_type | string (SortType) Default: "asc" Enum: "asc" "desc" sort_type |
search | string search by name or uuid |
scope_mode | string Enum: "ro" "rw" filter tokens by mode |
Responses
Response samples
- 200
- default
{- "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
Create token
Authorizations:
query Parameters
docker-config | boolean Return token as Docker config JSON |
Request Body schema: application/jsonrequired
Create token request
required | object (TokenExpiration) |
name | string Token name |
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
- default
{- "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
Get token
Authorizations:
path Parameters
id required | string Token identifier |
Responses
Response samples
- 200
- default
{- "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
Update token
Authorizations:
path Parameters
id required | string Token identifier |
Request Body schema: application/jsonrequired
Update token request
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
- default
{- "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
Refresh token
Authorizations:
path Parameters
id required | string Token identifier |
Request Body schema: application/jsonrequired
Update token expiration
required | object (TokenExpiration) | ||||
|
Responses
Request samples
- Payload
{- "expiration": {
- "expiresAt": "2029-03-20T00:00:00Z",
- "isSet": true
}
}
Response samples
- 200
- default
{- "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
Revoke token and generate a new one with the same properties
Authorizations:
path Parameters
id required | string Token identifier |
Request Body schema: application/jsonrequired
Token regeneration request
required | object (TokenExpiration) | ||||
|
Responses
Request samples
- Payload
{- "expiration": {
- "expiresAt": "2029-03-20T00:00:00Z",
- "isSet": true
}
}
Response samples
- 201
- default
{- "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"
}