---
title: "Create Container Registry"
method: POST
path: "/v2/registry"
tags: ["DigitalOcean-public.v2-new_Container Registry"]
---

# Create Container Registry

`POST /v2/registry`

To create your container registry, send a POST request to `/v2/registry`.

The `name` becomes part of the URL for images stored in the registry. For
example, if your registry is called `example`, an image in it will have the
URL `registry.digitalocean.com/example/image:tag`.

## Request body

- RegistryCreate
  - `name` string, required — A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters.
  - `subscription_tier_slug` 'starter' | 'basic' | 'professional', required — The slug of the subscription tier to sign up for. Valid values can be retrieved using the options endpoint.
  - `region` 'nyc3' | 'sfo3' | 'ams3' | 'sgp1' | 'fra1' — Slug of the region where registry data is stored. When not provided, a region will be selected.

## Response `201`

The response will be a JSON object with the key `registry` containing information about your registry.

- object
  - `registry` Registry
    - `name` string — A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters.
    - `created_at` string, date-time — A time value given in ISO8601 combined date and time format that represents when the registry was created.
    - `region` string — Slug of the region where registry data is stored
    - `storage_usage_bytes` integer — The amount of storage used in the registry in bytes.
    - `storage_usage_bytes_updated_at` string, date-time — The time at which the storage usage was updated. Storage usage is calculated asynchronously, and may not immediately reflect pushes to the registry.
    - `subscription` object
      - `tier` SubscriptionTierBase
        - `name` string — The name of the subscription tier.
        - `slug` string — The slug identifier of the subscription tier.
        - `included_repositories` integer — The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories.
        - `included_storage_bytes` integer — The amount of storage included in the subscription tier in bytes.
        - `allow_storage_overage` boolean — A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used.
        - `included_bandwidth_bytes` integer — The amount of outbound data transfer included in the subscription tier in bytes.
        - `monthly_price_in_cents` integer — The monthly cost of the subscription tier in cents.
        - `storage_overage_price_in_cents` integer — The price paid in cents per GiB for additional storage beyond what is included in the subscription plan.
      - `created_at` string, date-time — The time at which the subscription was created.
      - `updated_at` string, date-time — The time at which the subscription was last updated.

## Other responses

- `401` — Authentication failed due to invalid credentials.
- `429` — The API rate limit has been exceeded.
- `500` — There was a server error.
- `default` — There was an unexpected error.

---

[API](https://skmtc.net/digitalocean/apis/digitalocean-api.md) · [All operations](https://skmtc.net/digitalocean/apis/digitalocean-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/digitalocean/digitalocean-api/versions/cb3bf9b21459/schema)
