{ "opencollection": "1.0.0", "info": { "name": "DigitalOcean Container Registry API", "version": "2.0" }, "request": { "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "items": [ { "info": { "name": "Container Registry", "type": "folder" }, "items": [ { "info": { "name": "Get Container Registry Information", "type": "http" }, "http": { "method": "GET", "url": "https://api.digitalocean.com/v2/registry", "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "To get information about your container registry, send a GET request to `/v2/registry`." }, { "info": { "name": "Create Container Registry", "type": "http" }, "http": { "method": "POST", "url": "https://api.digitalocean.com/v2/registry", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "To create your container registry, send a POST request to `/v2/registry`.\n\nThe `name` becomes part of the URL for images stored in the registry. For\nexample, if your registry is called `example`, an image in it will have the\nURL `registry.digitalocean.com/example/image:tag`.\n" }, { "info": { "name": "Delete Container Registry", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.digitalocean.com/v2/registry", "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "To delete your container registry, destroying all container image data stored in it, send a DELETE request to `/v2/registry`." }, { "info": { "name": "Get Subscription Information", "type": "http" }, "http": { "method": "GET", "url": "https://api.digitalocean.com/v2/registry/subscription", "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "A subscription is automatically created when you configure your container registry. To get information about your subscription, send a GET request to `/v2/registry/subscription`." }, { "info": { "name": "Update Subscription Tier", "type": "http" }, "http": { "method": "POST", "url": "https://api.digitalocean.com/v2/registry/subscription", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "After creating your registry, you can switch to a different subscription tier to better suit your needs. To do this, send a POST request to `/v2/registry/subscription`." }, { "info": { "name": "Get Docker Credentials for Container Registry", "type": "http" }, "http": { "method": "GET", "url": "https://api.digitalocean.com/v2/registry/docker-credentials", "params": [ { "name": "expiry_seconds", "value": "3600", "type": "query", "description": "The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire." }, { "name": "read_write", "value": "true", "type": "query", "description": "By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "In order to access your container registry with the Docker client or from a\nKubernetes cluster, you will need to configure authentication. The necessary\nJSON configuration can be retrieved by sending a GET request to\n`/v2/registry/docker-credentials`.\n\nThe response will be in the format of a Docker `config.json` file. To use the\nconfig in your Kubernetes cluster, create a Secret with:\n\n kubectl create secret generic docr \\\n --from-file=.dockerconfigjson=config.json \\\n --type=kuberne" }, { "info": { "name": "Validate a Container Registry Name", "type": "http" }, "http": { "method": "POST", "url": "https://api.digitalocean.com/v2/registry/validate-name", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "To validate that a container registry name is available for use, send a POST\nrequest to `/v2/registry/validate-name`.\n\nIf the name is both formatted correctly and available, the response code will\nbe 204 and contain no body. If the name is already in use, the response will\nbe a 409 Conflict.\n" }, { "info": { "name": "List All Container Registry Repositories", "type": "http" }, "http": { "method": "GET", "url": "https://api.digitalocean.com/v2/registry/:registry_name/repositories", "params": [ { "name": "per_page", "value": "2", "type": "query", "description": "Number of items returned per page" }, { "name": "page", "value": "1", "type": "query", "description": "Which 'page' of paginated results to return." }, { "name": "registry_name", "value": "example", "type": "path", "description": "The name of a container registry." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "This endpoint has been deprecated in favor of the _List All Container Registry Repositories [V2]_ endpoint.\n\nTo list all repositories in your container registry, send a GET\nrequest to `/v2/registry/$REGISTRY_NAME/repositories`.\n" }, { "info": { "name": "List All Container Registry Repositories (V2)", "type": "http" }, "http": { "method": "GET", "url": "https://api.digitalocean.com/v2/registry/:registry_name/repositoriesV2", "params": [ { "name": "per_page", "value": "2", "type": "query", "description": "Number of items returned per page" }, { "name": "page", "value": "1", "type": "query", "description": "Which 'page' of paginated results to return. Ignored when 'page_token' is provided." }, { "name": "page_token", "value": "eyJUb2tlbiI6IkNnZGpiMjlz", "type": "query", "description": "Token to retrieve of the next or previous set of results more quickly than using 'page'." }, { "name": "registry_name", "value": "example", "type": "path", "description": "The name of a container registry." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "To list all repositories in your container registry, send a GET request to `/v2/registry/$REGISTRY_NAME/repositoriesV2`." }, { "info": { "name": "List All Container Registry Repository Tags", "type": "http" }, "http": { "method": "GET", "url": "https://api.digitalocean.com/v2/registry/:registry_name/repositories/:repository_name/tags", "params": [ { "name": "per_page", "value": "2", "type": "query", "description": "Number of items returned per page" }, { "name": "page", "value": "1", "type": "query", "description": "Which 'page' of paginated results to return." }, { "name": "registry_name", "value": "example", "type": "path", "description": "The name of a container registry." }, { "name": "repository_name", "value": "repo-1", "type": "path", "description": "The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "To list all tags in your container registry repository, send a GET\nrequest to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags`.\n\nNote that if your repository name contains `/` characters, it must be\nURL-encoded in the request URL. For example, to list tags for\n`registry.digitalocean.com/example/my/repo`, the path would be\n`/v2/registry/example/repositories/my%2Frepo/tags`.\n" }, { "info": { "name": "Delete Container Registry Repository Tag", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.digitalocean.com/v2/registry/:registry_name/repositories/:repository_name/tags/:repository_tag", "params": [ { "name": "registry_name", "value": "example", "type": "path", "description": "The name of a container registry." }, { "name": "repository_name", "value": "repo-1", "type": "path", "description": "The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`." }, { "name": "repository_tag", "value": "06a447a", "type": "path", "description": "The name of a container registry repository tag." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "To delete a container repository tag, send a DELETE request to\n`/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG`.\n\nNote that if your repository name contains `/` characters, it must be\nURL-encoded in the request URL. For example, to delete\n`registry.digitalocean.com/example/my/repo:mytag`, the path would be\n`/v2/registry/example/repositories/my%2Frepo/tags/mytag`.\n\nA successful request will receive a 204 status code with no body in response.\nThis indicates that the request wa" }, { "info": { "name": "List All Container Registry Repository Manifests", "type": "http" }, "http": { "method": "GET", "url": "https://api.digitalocean.com/v2/registry/:registry_name/repositories/:repository_name/digests", "params": [ { "name": "per_page", "value": "2", "type": "query", "description": "Number of items returned per page" }, { "name": "page", "value": "1", "type": "query", "description": "Which 'page' of paginated results to return." }, { "name": "registry_name", "value": "example", "type": "path", "description": "The name of a container registry." }, { "name": "repository_name", "value": "repo-1", "type": "path", "description": "The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "To list all manifests in your container registry repository, send a GET\nrequest to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests`.\n\nNote that if your repository name contains `/` characters, it must be\nURL-encoded in the request URL. For example, to list manifests for\n`registry.digitalocean.com/example/my/repo`, the path would be\n`/v2/registry/example/repositories/my%2Frepo/digests`.\n" }, { "info": { "name": "Delete Container Registry Repository Manifest", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.digitalocean.com/v2/registry/:registry_name/repositories/:repository_name/digests/:manifest_digest", "params": [ { "name": "registry_name", "value": "example", "type": "path", "description": "The name of a container registry." }, { "name": "repository_name", "value": "repo-1", "type": "path", "description": "The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`." }, { "name": "manifest_digest", "value": "sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221", "type": "path", "description": "The manifest digest of a container registry repository tag." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "To delete a container repository manifest by digest, send a DELETE request to\n`/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST`.\n\nNote that if your repository name contains `/` characters, it must be\nURL-encoded in the request URL. For example, to delete\n`registry.digitalocean.com/example/my/repo@sha256:abcd`, the path would be\n`/v2/registry/example/repositories/my%2Frepo/digests/sha256:abcd`.\n\nA successful request will receive a 204 status code with no body in" }, { "info": { "name": "Get Active Garbage Collection", "type": "http" }, "http": { "method": "GET", "url": "https://api.digitalocean.com/v2/registry/:registry_name/garbage-collection", "params": [ { "name": "registry_name", "value": "example", "type": "path", "description": "The name of a container registry." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "To get information about the currently-active garbage collection for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collection`." }, { "info": { "name": "Start Garbage Collection", "type": "http" }, "http": { "method": "POST", "url": "https://api.digitalocean.com/v2/registry/:registry_name/garbage-collection", "params": [ { "name": "registry_name", "value": "example", "type": "path", "description": "The name of a container registry." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Garbage collection enables users to clear out unreferenced blobs (layer &\nmanifest data) after deleting one or more manifests from a repository. If\nthere are no unreferenced blobs resulting from the deletion of one or more\nmanifests, garbage collection is effectively a noop.\n[See here for more information](https://docs.digitalocean.com/products/container-registry/how-to/clean-up-container-registry/)\nabout how and why you should clean up your container registry periodically.\n\nTo request a garbage" }, { "info": { "name": "List Garbage Collections", "type": "http" }, "http": { "method": "GET", "url": "https://api.digitalocean.com/v2/registry/:registry_name/garbage-collections", "params": [ { "name": "registry_name", "value": "example", "type": "path", "description": "The name of a container registry." }, { "name": "per_page", "value": "2", "type": "query", "description": "Number of items returned per page" }, { "name": "page", "value": "1", "type": "query", "description": "Which 'page' of paginated results to return." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "To get information about past garbage collections for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collections`." }, { "info": { "name": "Update Garbage Collection", "type": "http" }, "http": { "method": "PUT", "url": "https://api.digitalocean.com/v2/registry/:registry_name/garbage-collection/:garbage_collection_uuid", "params": [ { "name": "registry_name", "value": "example", "type": "path", "description": "The name of a container registry." }, { "name": "garbage_collection_uuid", "value": "eff0feee-49c7-4e8f-ba5c-a320c109c8a8", "type": "path", "description": "The UUID of a garbage collection run." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "To cancel the currently-active garbage collection for a registry, send a PUT request to `/v2/registry/$REGISTRY_NAME/garbage-collection/$GC_UUID` and specify one or more of the attributes below." }, { "info": { "name": "List Registry Options (Subscription Tiers and Available Regions)", "type": "http" }, "http": { "method": "GET", "url": "https://api.digitalocean.com/v2/registry/options", "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "This endpoint serves to provide additional information as to which option values are available when creating a container registry.\nThere are multiple subscription tiers available for container registry. Each tier allows a different number of image repositories to be created in your registry, and has a different amount of storage and transfer included.\nThere are multiple regions available for container registry and controls where your data is stored.\nTo list the available options, send a GET requ" } ] } ], "bundled": true }