Chapter 27. immutability_policy


Immutability policy.

27.1. createOrgImmutabilityPolicy

Create Org Immutability Policy.

Authorizations: oauth2_implicit (org:admin)

27.1.2. Request body schema (application/json)

The immutability policy configuration

NameDescriptionSchema

tagPattern

optional

Regex pattern to match tag names

string

tagPatternMatches

optional

If true, matching tags are immutable. If false, non-matching tags are immutable.

boolean

27.1.3. Responses

HTTP CodeDescriptionSchema

201

Successful creation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

27.1.4. Example command

$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/immutabilitypolicy/" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{"tagPattern": ".*", "tagPatternMatches": true}'

27.2. createRepositoryImmutabilityPolicy

Create Repository Immutability Policy.

Authorizations: oauth2_implicit (repo:admin)

27.2.2. Request body schema (application/json)

The immutability policy configuration

NameDescriptionSchema

tagPattern

optional

Regex pattern to match tag names

string

tagPatternMatches

optional

If true, matching tags are immutable. If false, non-matching tags are immutable.

boolean

27.2.3. Responses

HTTP CodeDescriptionSchema

201

Successful creation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

27.2.4. Example command

$ curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/immutabilitypolicy/" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{"tagPattern": ".*", "tagPatternMatches": true}'

27.3. deleteOrgImmutabilityPolicy

Delete Org Immutability Policy.

Authorizations: oauth2_implicit (org:admin)

27.3.2. Responses

HTTP CodeDescriptionSchema

204

Deleted

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

27.3.3. Example command

$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/immutabilitypolicy/<policy_uuid>" \
  -H "Authorization: Bearer <access_token>"

27.4. deleteRepositoryImmutabilityPolicy

Delete Repository Immutability Policy.

Authorizations: oauth2_implicit (repo:admin)

27.4.2. Responses

HTTP CodeDescriptionSchema

204

Deleted

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

27.4.3. Example command

$ curl -X DELETE "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/immutabilitypolicy/<policy_uuid>" \
  -H "Authorization: Bearer <access_token>"

27.5. getOrgImmutabilityPolicy

Get Org Immutability Policy.

Authorizations: oauth2_implicit (org:admin)

27.5.2. Responses

HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

27.5.3. Example command

$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/immutabilitypolicy/<policy_uuid>" \
  -H "Authorization: Bearer <access_token>"

27.6. getRepositoryImmutabilityPolicy

Get Repository Immutability Policy.

Authorizations: oauth2_implicit (repo:admin)

27.6.2. Responses

HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

27.6.3. Example command

$ curl -X GET "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/immutabilitypolicy/<policy_uuid>" \
  -H "Authorization: Bearer <access_token>"

27.7. listOrgImmutabilityPolicies

List Org Immutability Policies.

Authorizations: oauth2_implicit (org:admin)

27.7.2. Responses

HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

27.7.3. Example command

$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/immutabilitypolicy/" \
  -H "Authorization: Bearer <access_token>"

27.8. listRepositoryImmutabilityPolicies

List Repository Immutability Policies.

Authorizations: oauth2_implicit (repo:admin)

27.8.2. Responses

HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

27.8.3. Example command

$ curl -X GET "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/immutabilitypolicy/" \
  -H "Authorization: Bearer <access_token>"

27.9. updateOrgImmutabilityPolicy

Update Org Immutability Policy.

Authorizations: oauth2_implicit (org:admin)

27.9.2. Request body schema (application/json)

The immutability policy configuration

NameDescriptionSchema

tagPattern

optional

Regex pattern to match tag names

string

tagPatternMatches

optional

If true, matching tags are immutable. If false, non-matching tags are immutable.

boolean

27.9.3. Responses

HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

27.9.4. Example command

$ curl -X PUT "https://<quay-server.example.com>/api/v1/organization/<orgname>/immutabilitypolicy/<policy_uuid>" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{"tagPattern": ".*", "tagPatternMatches": true}'

27.10. updateRepositoryImmutabilityPolicy

Update Repository Immutability Policy.

Authorizations: oauth2_implicit (repo:admin)

27.10.2. Request body schema (application/json)

The immutability policy configuration

NameDescriptionSchema

tagPattern

optional

Regex pattern to match tag names

string

tagPatternMatches

optional

If true, matching tags are immutable. If false, non-matching tags are immutable.

boolean

27.10.3. Responses

HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

27.10.4. Example command

$ curl -X PUT "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/immutabilitypolicy/<policy_uuid>" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{"tagPattern": ".*", "tagPatternMatches": true}'
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat Documentation

Legal Notice

Theme

© 2026 Red Hat
Back to top