Skip to main content
POST
Create a repository
Requires the IAM action registry:CreateRepository. See REGISTRY permissions for the full list, what each one covers, and an example policy.

Authorizations

Authorization
string
header
required

An OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. This is the recommended way to authenticate.

Get one by exchanging a service account's access key pair at POST /v1/oauth/token with grant_type=client_credentials. It is the standard client-credentials grant, so any OAuth-aware library will obtain and refresh it for you.

Tokens last an hour by default. The same access key pair is separately your AWS SigV4 credential for the S3-compatible object endpoint, which speaks nothing else.

Headers

Idempotency-Key
string

Optional client-generated key that makes a create replay-safe. Retrying a request with the same key returns the original outcome verbatim instead of creating a duplicate resource. Reusing a key with a different request body is rejected (422); a request whose key is still being processed returns 409. Records are honored for 24 hours. Use a UUID or similarly unique token.

Maximum string length: 255

Body

application/json
name
string
required

Resource names must not start with the literal crn: prefix or be UUIDs (canonical, compact, braced, or urn:uuid: forms, in either case).

Maximum string length: 191
Example:

"team/api"

tag_mutability
enum<string>
default:mutable
Available options:
mutable,
immutable
deletion_protection
boolean
default:false
tags
object

Response

Repository created.

repository
object
required
push_commands
string[]

The login/build/push sequence for this repository. Rendered server-side because the login username, the endpoint, and the account handle's position in the reference all come from service configuration.

Example: