Chapter 24. tag
Manage the tags of a repository.
24.1. restoreTag Copy linkLink copied to clipboard!
Restores a repository tag back to a previous image in the repository.
POST /api/v1/repository/{repository}/tag/{tag}/restore
Authorizations: oauth2_implicit (repo:write)
Path parameters
| Type | Name | Description | Schema |
|---|---|---|---|
| path |
repository | The full path of the repository. e.g. namespace/name | string |
| path |
tag | The name of the tag | string |
Request body schema (application/json)
Restores a tag to a specific image
| Name | Description | Schema |
|---|---|---|
|
manifest_digest | If specified, the manifest digest that should be used | string |
Responses
| HTTP Code | Description | Schema |
|---|---|---|
| 201 | Successful creation | |
| 400 | Bad Request | |
| 401 | Session required | |
| 403 | Unauthorized access | |
| 404 | Not found |
Example command
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
--data '{
"manifest_digest": <manifest_digest>
}' \
quay-server.example.com/api/v1/repository/quayadmin/busybox/tag/test/restore
24.2. changeTag Copy linkLink copied to clipboard!
Change which image a tag points to or create a new tag.
PUT /api/v1/repository/{repository}/tag/{tag}
Authorizations: oauth2_implicit (repo:write)
Path parameters
| Type | Name | Description | Schema |
|---|---|---|---|
| path |
repository | The full path of the repository. e.g. namespace/name | string |
| path |
tag | The name of the tag | string |
Request body schema (application/json)
Makes changes to a specific tag
| Name | Description | Schema |
|---|---|---|
|
manifest_digest | (If specified) The manifest digest to which the tag should point | |
|
expiration | (If specified) The expiration for the image | |
|
immutable | (If specified) Whether the tag should be immutable. Write permission required to set, admin permission required to unset. | boolean |
Responses
| HTTP Code | Description | Schema |
|---|---|---|
| 201 | Successful invocation | |
| 400 | Bad Request | |
| 401 | Session required | |
| 403 | Unauthorized access | |
| 404 | Not found |
Example command
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
--data '{
"manifest_digest": "<manifest_digest>"
"immutable": true
}' \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/tag/<tag>
24.3. deleteFullTag Copy linkLink copied to clipboard!
Delete the specified repository tag.
DELETE /api/v1/repository/{repository}/tag/{tag}
Authorizations: oauth2_implicit (repo:write)
Path parameters
| Type | Name | Description | Schema |
|---|---|---|---|
| path |
repository | The full path of the repository. e.g. namespace/name | string |
| path |
tag | The name of the tag | string |
Responses
| HTTP Code | Description | Schema |
|---|---|---|
| 204 | Deleted | |
| 400 | Bad Request | |
| 401 | Session required | |
| 403 | Unauthorized access | |
| 404 | Not found |
Example command
$ curl -X DELETE "https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/tag/<tag_name>" \
-H "Authorization: Bearer <your_access_token>"
24.4. listRepoTags Copy linkLink copied to clipboard!
GET /api/v1/repository/{repository}/tag/
Authorizations: oauth2_implicit (repo:read)
Path parameters
| Type | Name | Description | Schema |
|---|---|---|---|
| path |
repository | The full path of the repository. e.g. namespace/name | string |
Query parameters
| Type | Name | Description | Schema |
|---|---|---|---|
| query |
onlyActiveTags | Filter to only active tags. | boolean |
| query |
page | Page index for the results. Default 1. | integer |
| query |
limit | Limit to the number of results to return per page. Max 100. | integer |
| query |
filter_tag_name | Syntax: <op>:<name> Filters the tag names based on the operation.<op> can be 'like' or 'eq'. | string |
| query |
specificTag | Filters the tags to the specific tag. | string |
Responses
| HTTP Code | Description | Schema |
|---|---|---|
| 200 | Successful invocation | |
| 400 | Bad Request | |
| 401 | Session required | |
| 403 | Unauthorized access | |
| 404 | Not found |
Example command
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/tag/
24.5. getTagPullStatistics Copy linkLink copied to clipboard!
Get pull statistics for a specific tag.
GET /api/v1/repository/{repository}/tag/{tag}/pull_statistics
Authorizations: oauth2_implicit (repo:read)
Path parameters
| Type | Name | Description | Schema |
|---|---|---|---|
| path |
repository | The full path of the repository. e.g. namespace/name | string |
| path |
tag | The name of the tag | string |
Responses
| HTTP Code | Description | Schema |
|---|---|---|
| 200 | Successful invocation | |
| 400 | Bad Request | |
| 401 | Session required | |
| 403 | Unauthorized access | |
| 404 | Not found |
Example command
$ curl -X GET "https://<quay-server.example.com>/api/v1/repository/<organization>/<repository>/tag/<tag>/pull_statistics" -H "Authorization: <bearer_token>" -H "Accept: application/json"
24.6. getManifestPullStatistics Copy linkLink copied to clipboard!
Get pull statistics for a specific manifest.
GET /api/v1/repository/{repository}/manifest/{manifestref}/pull_statistics
Authorizations: oauth2_implicit (repo:read)
Path parameters
| Type | Name | Description | Schema |
|---|---|---|---|
| path |
manifestref | The digest of the manifest | string |
| path |
repository | The full path of the repository. e.g. namespace/name | string |
Responses
| HTTP Code | Description | Schema |
|---|---|---|
| 200 | Successful invocation | |
| 400 | Bad Request | |
| 401 | Session required | |
| 403 | Unauthorized access | |
| 404 | Not found |
Example command
curl -X GET \
"https://<quay-server.example.com>/api/v1/repository/<organization>/<repository>/manifest/sha256:<manifest>/pull_statistics" \
-H "Authorization: <bearer_token>" \
-H "Accept: application/json"