Get blob upload status
/v2/{name}/blobs/uploads/{uuid} Retrieve the current status of an in-progress blob upload.
This is useful for:
- Resuming an interrupted upload
- Determining how many bytes have been accepted so far
- Retrying from the correct offset in chunked uploads
The response includes the Range header indicating the byte range received so far, and a Docker-Upload-UUID for identifying the session.
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"
}uuid
path
Required
Type:
string
All schema constraints and annotations
{
"type": "string"
}Request and responses
Response
204
No response content is declared.
Headers
Docker-Upload-UUIDUUID of the upload session
{
"description": "UUID of the upload session",
"example": "abc123",
"schema": {
"type": "string"
}
}LocationURL to continue or complete the upload
{
"description": "URL to continue or complete the upload",
"example": "/v2/library/ubuntu/blobs/uploads/abc123",
"schema": {
"type": "string"
}
}RangeCurrent byte range uploaded (inclusive)
{
"description": "Current byte range uploaded (inclusive)",
"example": "0-16383",
"schema": {
"type": "string"
}
}Response
401
No response content is declared.
Response
403
No response content is declared.
Response
404
No response content is declared.
Response
429
No response content is declared.
Referenced schemas
Complete operation contract
{
"description": "Retrieve the current status of an in-progress blob upload.\n\nThis is useful for:\n- Resuming an interrupted upload\n- Determining how many bytes have been accepted so far\n- Retrying from the correct offset in chunked uploads\n\nThe response includes the `Range` header indicating the byte range received so far, and a `Docker-Upload-UUID` for identifying the session.\n",
"operationId": "GetBlobUploadStatus",
"parameters": [
{
"description": "Repository Name",
"example": "library/ubuntu",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Upload session UUID",
"example": "abc123",
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Upload in progress. No body is returned.",
"headers": {
"Docker-Upload-UUID": {
"description": "UUID of the upload session",
"example": "abc123",
"schema": {
"type": "string"
}
},
"Location": {
"description": "URL to continue or complete the upload",
"example": "/v2/library/ubuntu/blobs/uploads/abc123",
"schema": {
"type": "string"
}
},
"Range": {
"description": "Current byte range uploaded (inclusive)",
"example": "0-16383",
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Access denied"
},
"404": {
"description": "Upload session not found"
},
"429": {
"description": "Too many requests"
}
},
"summary": "Get blob upload status",
"tags": [
"Blobs"
],
"x-codeSamples": [
{
"label": "cURL",
"lang": "Bash",
"source": "# GET upload status\ncurl --include --request GET \\\n -H \"Authorization: Bearer $TOKEN\" \\\n https://registry-1.docker.io/v2/library/ubuntu/blobs/uploads/abc123\n"
}
]
}