Delete image manifest
/v2/{name}/manifests/{reference} Delete an image manifest from a repository by digest.
Only untagged or unreferenced manifests can be deleted. If the manifest is still referenced by a tag or another image, the registry will return 403 Forbidden.
This operation requires delete access to the repository.
Note
Manifest deletion operations may take some time and could return a
500 Internal Server Error. The system automatically retries the deletion in the background. Manual intervention is not required.
Connection and access
API connection and authentication guidance
https://registry-1.docker.io
—
Docker Hub registry API
Use one of these alternatives. Requirements within an alternative apply together.
registryToken
Parameters
name
path
Required
Type:
string
All schema constraints and annotations
{
"type": "string"
}reference
path
Required
sha256:...)Type:
string
All schema constraints and annotations
{
"type": "string"
}Request and responses
Response
202
No response content is declared.
Response
401
No response content is declared.
Response
403
No response content is declared.
Response
404
No response content is declared.
Response
405
No response content is declared.
Response
429
No response content is declared.
Referenced schemas
Complete operation contract
{
"description": "Delete an image manifest from a repository by digest.\n\nOnly untagged or unreferenced manifests can be deleted. If the manifest is still referenced by a tag or another image, the registry will return `403 Forbidden`.\n\nThis operation requires `delete` access to the repository.\n\n\u003e **Note**\n\u003e\n\u003e Manifest deletion operations may take some time and could return a `500 Internal Server Error`. The system automatically retries the deletion in the background. Manual intervention is not required.\n",
"operationId": "DeleteImageManifest",
"parameters": [
{
"description": "Name of the repository",
"example": "yourusername/helloworld",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Digest of the manifest to delete (e.g., `sha256:...`)",
"example": "sha256:abc123def456...",
"in": "path",
"name": "reference",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"202": {
"description": "Manifest deleted successfully. No content returned."
},
"401": {
"description": "Authentication required."
},
"403": {
"description": "Access denied. The manifest may still be referenced."
},
"404": {
"description": "Manifest or repository not found."
},
"405": {
"description": "Only digest-based deletion is allowed."
},
"429": {
"description": "Too many requests."
}
},
"summary": "Delete image manifest",
"tags": [
"Manifests"
],
"x-codeSamples": [
{
"label": "cURL",
"lang": "Bash",
"source": "# DELETE a manifest by digest\ncurl -X DELETE \\\n -H \"Authorization: Bearer $TOKEN\" \\\n https://registry-1.docker.io/v2/yourusername/helloworld/manifests/sha256:abc123def456...\n"
}
]
}