Docker Hub push webhook payload example

Docker Hub · event: image push · content type: application/json

This is a representative sample — fake IDs, real structure. To see a payload with your data, point the provider at a capture URL (button below).

See it live, not frozen

One click creates a free capture bin with this exact payload already in it — pretty-printed, headers inspectable, replayable to your own endpoint:

Then paste the bin's URL into Docker Hub's webhook settings to capture a real delivery. No signup.

Headers

content-type: application/json

Body

{
  "callback_url": "https://registry.hub.docker.com/u/acme/api-server/hook/2141b5bi5i5b02bec211i4eeih0242eg11000a/",
  "push_data": {
    "pushed_at": 1787990400,
    "pusher": "acmedeploy",
    "tag": "v2.4.1"
  },
  "repository": {
    "comment_count": 0,
    "date_created": 1750000000,
    "description": "Acme API server image",
    "full_description": "Automated build for the Acme API server.",
    "is_official": false,
    "is_private": true,
    "is_trusted": true,
    "name": "api-server",
    "namespace": "acme",
    "owner": "acme",
    "repo_name": "acme/api-server",
    "repo_url": "https://registry.hub.docker.com/u/acme/api-server/",
    "star_count": 0,
    "status": "Active"
  }
}

Things that bite people

Send it yourself

Reproduce this delivery against any endpoint (your handler, a bin, staging):

$ curl -X POST https://your-endpoint.example/hook \
  -H 'content-type: application/json' \
 -d '{"callback_url":"https://registry.hub.docker.com/u/acme/api-server/hook/2141b5bi5i5b02bec211i4eeih0242eg11000a/","push_data":{"pushed_at":1787990400,"pusher":"acmedeploy","tag":"v2.4.1"},"repository":{"comment_count":0,"date_created":1750000000,"description":"Acme API server image","full_description":"Automated build for the Acme API server.","is_official":false,"is_private":true,"is_trusted":true,"name":"api-server","namespace":"acme","owner":"acme","repo_name":"acme/api-server","repo_url":"https://registry.hub.docker.com/u/acme/api-server/","star_count":0,"status":"Active"}}'

← All payload examples · Signature debugger · Docs