---
title: "Create a container registry credential"
method: POST
path: "/v2/registries"
tags: ["Registries"]
---

# Create a container registry credential

`POST /v2/registries`

Stores credentials for a private container registry. Credentials are write-only.

## Request body

- CreateRegistryRequest
  - `name` string, required
  - `username` string, required — Registry username (write-only, not returned in responses)
  - `password` string, required — Registry password (write-only, not returned in responses)

## Response `201`

Created

- Registry
  - `id` string, required
  - `name` string, required

## Other responses

- `400` — The request could not be processed because it is malformed or conflicts with request rules.
- `401` — Authentication failed because the bearer token is missing, malformed, expired, or invalid.
- `403` — The bearer token is valid, but it does not grant access to the requested resource or action.
- `422` — The request body or parameters were syntactically valid but failed validation.
- `429` — The caller exceeded its per-user rate limit. The response identifies the window that was exceeded and how long to wait. The `RateLimit` and `RateLimit-Policy` headers (per the IETF ratelimit-headers draft) also accompany successful responses, so clients can track quota before a 429.
- `default` — Error

---

[API](https://skmtc.dev/runpod/apis/runpod-rest-api.md) · [All operations](https://skmtc.dev/runpod/apis/runpod-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/runpod/runpod-rest-api/revisions/504cd0394ed6/schema)
