Skip to main content

Container Registry API Product (0.1.0)

APIs related to the Container Registry product.

credentials

Routes related to credentials to login to Docker.

Get credentials for container registry

Return container registry user's authentication credentials.

Authorizations:
BearerAuthOAuth2

Responses

Response samples

Content type
application/json
{
  • "username": "e3d49354-35d7-4565-b634-65d8b86aa594",
  • "password": "62kWa168QL!d4IVwN6wTfTYFv63=Sc1D",
  • "email": "janedoe@email.com"
}

Reset password

Reset container registry user's password.

Authorizations:
BearerAuthOAuth2

Responses

Response samples

Content type
application/json
{
  • "username": "e3d49354-35d7-4565-b634-65d8b86aa594",
  • "password": "62kWa168QL!d4IVwN6wTfTYFv63=Sc1D",
  • "email": "janedoe@email.com"
}

registries

Routes related to creation, listing and deletion of registries.

Create a container registry

Creates a container registry in Magalu Cloud.

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

A unique, global name for the container registry. It must be written in lowercase letters and consists only of numbers and letters, up to a limit of 63 characters.

proxy_cache_id
string
Default: ""

Proxy Cache UUID.

Responses

Request samples

Content type
application/json
{
  • "name": "cool_registry",
  • "proxy_cache_id": "ef376048-a0f7-446c-826b-1d5cb3e5a5b0"
}

Response samples

Content type
application/json
{
  • "id": "0c6bbd87-881a-4bf8-b3f6-4ff3ceacb42c",
  • "name": "cool_registry"
}

List all container registries

List user's container registries.

Authorizations:
BearerAuthOAuth2
query Parameters
_limit
integer (Limit) >= 1

Limit

_offset
integer >= 0

Offset

_sort
string(^[\w-]+:(asc|desc)(,[\w-]+:(asc|desc))*)?$
Default: "created_at:asc"

Fields to use as reference to sort.

name
string

Name

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "meta": {
    }
}

Get registry information

Show detailed information about the user's container registry.

Authorizations:
BearerAuthOAuth2
path Parameters
registry_id
required
string <uuid>

Container Registry's UUID.

Responses

Response samples

Content type
application/json
{
  • "id": "0c6bbd87-881a-4bf8-b3f6-4ff3ceacb42c",
  • "name": "cool_registry",
  • "storage_usage_bytes": 12345,
  • "created_at": "2024-05-15T19:56:47Z",
  • "updated_at": "2024-05-15T19:56:47Z",
  • "proxy_cache_id": "3a1b8f76-1238-41d8-946d-b69f231d91e4"
}

Delete a container registry by registry_id

Delete a container registry by uuid.

Authorizations:
BearerAuthOAuth2
path Parameters
registry_id
required
string <uuid>

Container Registry's UUID.

Responses

Response samples

Content type
application/json
{
  • "slug": "bad_request",
  • "message": "invalid param",
  • "detail": { }
}

repositories

Routes related to listing and deletion of repositories.

List all container registry repositories

List all user's repositories in the container registry.

Authorizations:
BearerAuthOAuth2
path Parameters
registry_id
required
string <uuid>

Container Registry's UUID.

query Parameters
_limit
integer (Limit) >= 1

Limit

_offset
integer >= 0

Offset

_sort
string(^[\w-]+:(asc|desc)(,[\w-]+:(asc|desc))*)?$
Default: "created_at:desc"

Fields to use as reference to sort.

name
string

Used to filter repositories in response

Responses

Response samples

Content type
application/json
{
  • "goal": {
    },
  • "results": [
    ],
  • "meta": {
    }
}

Get a container registry repository by repository_id

Return detailed repository's information filtered by id.

Authorizations:
BearerAuthOAuth2
path Parameters
registry_id
required
string <uuid>

Container Registry's UUID.

repository_id
required
string <uuid>

Repository's UUID.

Responses

Response samples

Content type
application/json
{
  • "id": "ef376048-a0f7-446c-826b-1d5cb3e5a5b0",
  • "registry_name": "cool_registry",
  • "name": "alpine",
  • "image_count": 2,
  • "created_at": "2024-05-15T19:56:47Z",
  • "updated_at": "2024-05-15T19:56:47Z"
}

Delete a container registry repository by repository_id.

Delete a repository by id.

Authorizations:
BearerAuthOAuth2
path Parameters
registry_id
required
string <uuid>

Container Registry's UUID.

repository_id
required
string <uuid>

Repository's UUID.

Responses

Response samples

Content type
application/json
{
  • "slug": "bad_request",
  • "message": "invalid param",
  • "detail": { }
}

images

Routes related to listing and deletion of images.

List images in container registry repository

List all images in container registry repository

Authorizations:
BearerAuthOAuth2
path Parameters
registry_id
required
string <uuid>

Container Registry's UUID.

repository_id
required
string <uuid>

Repository's UUID.

query Parameters
_limit
integer (Limit) >= 1

Limit

_offset
integer >= 0

Offset

_sort
string(^[\w-]+:(asc|desc)(,[\w-]+:(asc|desc))*)?$
Default: "pushed_at:desc"

Fields to use as reference to sort.

expand
Array of strings

You can get more detailed info about: ['tags_details', 'extra_attr', 'manifest_media_type', 'media_type']

name
string

Used to filter images in response

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "meta": {
    }
}

Delete image by digest or tag

Delete repository image by digest or tag

Authorizations:
BearerAuthOAuth2
path Parameters
registry_id
required
string <uuid>

Container Registry's UUID.

repository_id
required
string <uuid>

Repository's UUID.

digest_or_tag
required
string

Digest or tag of an image

Responses

Response samples

Content type
application/json
{
  • "slug": "bad_request",
  • "message": "invalid param",
  • "detail": { }
}

Get image details

Show detailed information about the image.

Authorizations:
BearerAuthOAuth2
path Parameters
registry_id
required
string <uuid>

Container Registry's UUID.

repository_id
required
string <uuid>

Repository's UUID.

digest_or_tag
required
string

Digest or tag of an image.

Responses

Response samples

Content type
application/json
{
  • "digest": "sha256:aef9ff594b36575be6248901a4e5a9bad031f3e0fd42c33a6d2bd501dde5e955",
  • "size_bytes": 3552429,
  • "pushed_at": "2024-05-15T19:56:47Z",
  • "pulled_at": "2024-05-15T19:56:47Z",
  • "tags": [
    ],
  • "manifest_media_type": "application/vnd.docker.distribution.manifest.v2+json",
  • "media_type": "application/vnd.docker.container.image.v1+json",
  • "tags_details": [
    ],
  • "extra_attr": { }
}

proxy-caches

Routes related to creating, listing and deletion of proxy-caches.

Create a proxy cache

Creates a proxy cache in Magalu Cloud.

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

A unique name for each tenant, used for the proxy-cache. It must be written in lowercase letters and consists only of numbers and letters, up to a limit of 63 characters.

provider
required
string

A provider identifier string. Available providers can be checked through mcr-api or mgccli.

url
required
string

An Endpoint URL for the proxied registry. Example URL for available providers can be checked through mcr-api or mgccli.

access_key
string
Default: ""

A string consistent with provider access_id.

access_secret
string
Default: ""

A string consistent with provider access_secret.

description
string
Default: ""

A string.

Responses

Request samples

Content type
application/json
{
  • "name": "cool_registry_proxy",
  • "provider": "docker-hub",
  • "access_key": "example-access-key",
  • "access_secret": "example-access-secret",
  • "description": "cool_description"
}

Response samples

Content type
application/json
{
  • "id": "0c6bbd87-881a-4bf8-b3f6-4ff3ceacb42c",
  • "name": "cool_registry_proxy"
}

List all proxy-caches

List user's proxy caches.

Authorizations:
BearerAuthOAuth2
query Parameters
_limit
integer (Limit) >= 1

Limit

_offset
integer >= 0

Offset

_sort
string(^[\w-]+:(asc|desc)(,[\w-]+:(asc|desc))*)?$
Default: "created_at:asc"

Fields to use as reference to sort.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "meta": {
    }
}

Get a proxy cache by proxy_cache_id

Get a proxycache by uuid.

Authorizations:
BearerAuthOAuth2
path Parameters
proxy_cache_id
required
string <uuid>

Proxy cache's UUID.

Responses

Response samples

Content type
application/json
{
  • "id": "0c6bbd87-881a-4bf8-b3f6-4ff3ceacb42c",
  • "name": "cool_proxy",
  • "provider": "docker-hub",
  • "created_at": "2024-05-15T19:56:47Z",
  • "updated_at": "2024-05-15T19:56:47Z",
  • "description": "Proxy cache for Docker Hub"
}

Update a proxy cache by proxy_cache_id

Update a proxycache by uuid.

Authorizations:
BearerAuthOAuth2
path Parameters
proxy_cache_id
required
string <uuid>

Proxy cache's UUID.

Request Body schema: application/json
name
string
Default: ""

A unique name for each tenant, used for the proxy-cache. It must be written in lowercase letters and consists only of numbers and letters, up to a limit of 63 characters.

url
string
Default: ""

An Endpoint URL for the proxied registry. Example URL for available providers can be checked through mcr-api or mgccli.

access_key
string
Default: ""

A string consistent with provider access_id.

access_secret
string
Default: ""

A string consistent with provider access_secret.

description
string
Default: ""

A string.

Responses

Request samples

Content type
application/json
{
  • "name": "updated_cool_registry_proxy",
  • "access_key": "example-access-key",
  • "access_secret": "example-access-secret",
  • "description": "cool_description"
}

Response samples

Content type
application/json
{
  • "id": "0c6bbd87-881a-4bf8-b3f6-4ff3ceacb42c",
  • "name": "cool_proxy",
  • "provider": "docker-hub",
  • "created_at": "2024-05-15T19:56:47Z",
  • "updated_at": "2024-05-15T19:56:47Z",
  • "description": "Proxy cache for Docker Hub"
}

Delete a proxy cache by proxy_cache_id

Delete a proxycache by uuid.

Authorizations:
BearerAuthOAuth2
path Parameters
proxy_cache_id
required
string <uuid>

Proxy cache's UUID.

Responses

Response samples

Content type
application/json
{
  • "slug": "bad_request",
  • "message": "invalid param",
  • "detail": { }
}

Test connectivity using proxy cache credentials

Validates the provided credentials and endpoint information for a remote registry used in a proxy cache configuration. This endpoint does not persist any data — it only tests if the given credentials allow access to the target registry.

Authorizations:
BearerAuthOAuth2
Request Body schema: application/json
provider
required
string

Type of the remote registry (e.g., harbor, dockerhub)

url
required
string

Endpoint URL of the remote registry

access_key
required
string

Access key or username for authentication

access_secret
required
string

Secret or password for authentication

Responses

Request samples

Content type
application/json
{
  • "provider": "docker-hub",
  • "credential_type": "basic",
  • "access_key": "my_username",
  • "access_secret": "my_password"
}

Response samples

Content type
application/json
{
  • "status": "valid",
  • "message": "Proxy cache credentials are valid"
}

Get proxy cache connection status

Verifies and returns the current connection status of a configured proxy cache, including validation of credentials and endpoint accessibility.

Authorizations:
BearerAuthOAuth2
path Parameters
proxy_cache_id
required
string <uuid>
Example: 123e4567-e89b-12d3-a456-426614174000

Unique identifier of the proxy cache configuration

Responses

Response samples

Content type
application/json
{
  • "status": "connected",
  • "message": "Proxy cache configuration is active."
}