Registries

Manage container registries for storage of docker images and OCI compliant artifacts. This operation is restricted to contract owner, admin, and users with 'accessAndManageRegistries' and Share/Edit access permissions for the data center hosting the registry.

This tag groups all operations for registries.

List all container registries

get

List all managed container registries for your account

Authorizations
Query parameters
filter.namestringOptional

The registry name to search for

Example: my-registry
limitstringOptional

The maximum number of elements to return (used together with pagination.token for pagination)

Default: 100
pagination.tokenstringOptional

An opaque token used to iterate the set of results (used together with limit for pagination)

Example: eyJ2IjoibWV0YS5rOHMuaW8vdjEiLCJydiI6MTYzMjQ0OTk2ODAsInN0YXJ0IjoiM2RmYTc3YjctZGIwNS00MjMwLThmMjAtOGU3NjJlOTUxOTUzXHUwMDAwIn0
Responses
200
OK
application/json
get
GET /containerregistries/registries HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Accept: */*
{
  "_links": {
    "next": "text",
    "previous": "text",
    "self": "text"
  },
  "href": "text",
  "id": "text",
  "items": [
    {
      "href": "text",
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "metadata": {
        "createdBy": "text",
        "createdByUserId": "text",
        "createdDate": "2025-07-17T03:15:29.160Z",
        "lastModifiedBy": "text",
        "lastModifiedByUserId": "text",
        "lastModifiedDate": "2025-07-17T03:15:29.160Z",
        "state": "text"
      },
      "properties": {
        "garbageCollectionSchedule": {
          "days": [
            "Monday"
          ],
          "time": "01:23:00+00:00"
        },
        "hostname": "my-registry.cr.ionos.com",
        "location": "de/txl",
        "name": "my-registry",
        "storageUsage": {
          "bytes": 1,
          "updatedAt": "2025-07-17T03:15:29.160Z"
        },
        "features": {
          "vulnerabilityScanning": {
            "enabled": true,
            "properties": {}
          }
        },
        "apiSubnetAllowList": [
          "123.123.123.0/24"
        ]
      },
      "type": "text"
    }
  ],
  "pagination": {
    "limit": 1,
    "token": "eyJ2IjoibWV0YS5rOHMuaW8vdjEiLCJydiI6MTYzMjQ0OTk2ODAsInN0YXJ0IjoiM2RmYTc3YjctZGIwNS00MjMwLThmMjAtOGU3NjJlOTUxOTUzXHUwMDAwIn0"
  },
  "type": "text"
}

Create container registry

post

Create a registry to hold container images or OCI compliant artifacts

  • "name" must have passed validation

  • "location" must be one of the available location IDs

  • "garbageCollectionSchedule" time and days of the week for runs

  • "features": "vulnerabilityScanning" default is enabled

Authorizations
Body
Responses
201
The created container registry is returned with 'metadata.status' set to "BUSY".
application/json
post
POST /containerregistries/registries HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 241

{
  "properties": {
    "garbageCollectionSchedule": {
      "days": [
        "Monday"
      ],
      "time": "01:23:00+00:00"
    },
    "location": "de/txl",
    "name": "my-registry",
    "features": {
      "vulnerabilityScanning": {
        "enabled": true,
        "properties": {}
      }
    },
    "apiSubnetAllowList": [
      "123.123.123.0/24"
    ]
  }
}
{
  "href": "text",
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "metadata": {
    "createdBy": "text",
    "createdByUserId": "text",
    "createdDate": "2025-07-17T03:15:29.160Z",
    "lastModifiedBy": "text",
    "lastModifiedByUserId": "text",
    "lastModifiedDate": "2025-07-17T03:15:29.160Z",
    "state": "text"
  },
  "properties": {
    "garbageCollectionSchedule": {
      "days": [
        "Monday"
      ],
      "time": "01:23:00+00:00"
    },
    "hostname": "my-registry.cr.ionos.com",
    "location": "de/txl",
    "name": "my-registry",
    "storageUsage": {
      "bytes": 1,
      "updatedAt": "2025-07-17T03:15:29.160Z"
    },
    "features": {
      "vulnerabilityScanning": {
        "enabled": true,
        "properties": {}
      }
    },
    "apiSubnetAllowList": [
      "123.123.123.0/24"
    ]
  },
  "type": "text"
}

Get a registry

get

Get all information for a specific container registry

Authorizations
Path parameters
registryIdstring · uuidRequired

The unique ID of the registry

Pattern: ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
Responses
200
OK
application/json
get
GET /containerregistries/registries/{registryId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Accept: */*
{
  "href": "text",
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "metadata": {
    "createdBy": "text",
    "createdByUserId": "text",
    "createdDate": "2025-07-17T03:15:29.160Z",
    "lastModifiedBy": "text",
    "lastModifiedByUserId": "text",
    "lastModifiedDate": "2025-07-17T03:15:29.160Z",
    "state": "text"
  },
  "properties": {
    "garbageCollectionSchedule": {
      "days": [
        "Monday"
      ],
      "time": "01:23:00+00:00"
    },
    "hostname": "my-registry.cr.ionos.com",
    "location": "de/txl",
    "name": "my-registry",
    "storageUsage": {
      "bytes": 1,
      "updatedAt": "2025-07-17T03:15:29.160Z"
    },
    "features": {
      "vulnerabilityScanning": {
        "enabled": true,
        "properties": {}
      }
    },
    "apiSubnetAllowList": [
      "123.123.123.0/24"
    ]
  },
  "type": "text"
}

Create or replace a container registry

put

Create/replace a registry to hold container images or OCI compliant artifacts On create

  • "name" must have passed validation

  • "location" must be one of the available location IDs On update

  • "name" cannot be changed

  • "location" cannot be changed On create or update

  • "garbageCollectionSchedule": time and days of the week for runs

Authorizations
Path parameters
registryIdstring · uuidRequired

The unique ID of the registry

Pattern: ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
Body
Responses
201
The created container registry is returned with 'metadata.status' set to "BUSY".
application/json
put
PUT /containerregistries/registries/{registryId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 241

{
  "properties": {
    "garbageCollectionSchedule": {
      "days": [
        "Monday"
      ],
      "time": "01:23:00+00:00"
    },
    "location": "de/txl",
    "name": "my-registry",
    "features": {
      "vulnerabilityScanning": {
        "enabled": true,
        "properties": {}
      }
    },
    "apiSubnetAllowList": [
      "123.123.123.0/24"
    ]
  }
}
{
  "href": "text",
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "metadata": {
    "createdBy": "text",
    "createdByUserId": "text",
    "createdDate": "2025-07-17T03:15:29.160Z",
    "lastModifiedBy": "text",
    "lastModifiedByUserId": "text",
    "lastModifiedDate": "2025-07-17T03:15:29.160Z",
    "state": "text"
  },
  "properties": {
    "garbageCollectionSchedule": {
      "days": [
        "Monday"
      ],
      "time": "01:23:00+00:00"
    },
    "hostname": "my-registry.cr.ionos.com",
    "location": "de/txl",
    "name": "my-registry",
    "storageUsage": {
      "bytes": 1,
      "updatedAt": "2025-07-17T03:15:29.160Z"
    },
    "features": {
      "vulnerabilityScanning": {
        "enabled": true,
        "properties": {}
      }
    },
    "apiSubnetAllowList": [
      "123.123.123.0/24"
    ]
  },
  "type": "text"
}

Delete registry

delete
Authorizations
Path parameters
registryIdstring · uuidRequired

The unique ID of the registry

Pattern: ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
Responses
204
No Content
delete
DELETE /containerregistries/registries/{registryId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Accept: */*

No content

Update the properties of a registry

patch

Update the properties of a registry

  • "garbageCollectionSchedule" time and days of the week for runs

Authorizations
Path parameters
registryIdstring · uuidRequired

The unique ID of the registry

Pattern: ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
Body
apiSubnetAllowListstring[] | nullableOptional

Subnets and IPs that are allowed to access the registry API, supports IPv4 and IPv6. Maximum of 25 items may be specified. If no CIDR is given /32 and /128 are assumed for IPv4 and IPv6 respectively. 0.0.0.0/0 can be used to deny all traffic. Note: If this list is empty or not set, there are no restrictions.

Example: 123.123.123.0/24
Responses
200
OK
application/json
patch
PATCH /containerregistries/registries/{registryId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 185

{
  "garbageCollectionSchedule": {
    "days": [
      "Monday"
    ],
    "time": "01:23:00+00:00"
  },
  "features": {
    "vulnerabilityScanning": {
      "enabled": true,
      "properties": {}
    }
  },
  "apiSubnetAllowList": [
    "123.123.123.0/24"
  ]
}
{
  "href": "text",
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "metadata": {
    "createdBy": "text",
    "createdByUserId": "text",
    "createdDate": "2025-07-17T03:15:29.160Z",
    "lastModifiedBy": "text",
    "lastModifiedByUserId": "text",
    "lastModifiedDate": "2025-07-17T03:15:29.160Z",
    "state": "text"
  },
  "properties": {
    "garbageCollectionSchedule": {
      "days": [
        "Monday"
      ],
      "time": "01:23:00+00:00"
    },
    "hostname": "my-registry.cr.ionos.com",
    "location": "de/txl",
    "name": "my-registry",
    "storageUsage": {
      "bytes": 1,
      "updatedAt": "2025-07-17T03:15:29.160Z"
    },
    "features": {
      "vulnerabilityScanning": {
        "enabled": true,
        "properties": {}
      }
    },
    "apiSubnetAllowList": [
      "123.123.123.0/24"
    ]
  },
  "type": "text"
}

Was this helpful?