Bitbucket repo:push webhook payload example

Bitbucket · event: repo: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 Bitbucket's webhook settings to capture a real delivery. No signup.

Headers

content-type: application/json
user-agent: Bitbucket-Webhooks/2.0
x-event-key: repo:push
x-hook-uuid: a71dcc2c-0e5b-4c8f-9e6d-3b2a1c0d9e8f
x-request-uuid: 9d2f4a6b-8c0e-4f2a-b6d8-e0a2c4f6a8b0
x-attempt-number: 1
x-hub-signature: sha256=8b3aEXAMPLEhexhmacEXAMPLE5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c

Body

{
  "push": {
    "changes": [
      {
        "new": {
          "type": "branch",
          "name": "main",
          "target": {
            "type": "commit",
            "hash": "709d658dc5b6d6afcd46049c2f332ee3f515a67d",
            "date": "2026-08-29T00:00:00+00:00",
            "message": "fix: handle empty webhook payloads",
            "author": {
              "raw": "Jane Doe <jane.doe@example.com>"
            }
          }
        },
        "old": {
          "type": "branch",
          "name": "main",
          "target": {
            "hash": "6113728f27ae82c7b1a177c8d03f9e96e0adf246"
          }
        },
        "created": false,
        "closed": false,
        "forced": false
      }
    ]
  },
  "repository": {
    "type": "repository",
    "full_name": "acme-team/hello-world",
    "name": "hello-world",
    "uuid": "{7708d810-964c-403f-aa6d-4e949280d614}",
    "workspace": {
      "slug": "acme-team",
      "name": "Acme Team"
    }
  },
  "actor": {
    "type": "user",
    "display_name": "Jane Doe",
    "nickname": "jdoe",
    "uuid": "{fa631d25-7a01-4a3f-9e0f-e2f571e15a86}"
  }
}

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' \
  -H 'user-agent: Bitbucket-Webhooks/2.0' \
  -H 'x-event-key: repo:push' \
  -H 'x-hook-uuid: a71dcc2c-0e5b-4c8f-9e6d-3b2a1c0d9e8f' \
  -H 'x-request-uuid: 9d2f4a6b-8c0e-4f2a-b6d8-e0a2c4f6a8b0' \
  -H 'x-attempt-number: 1' \
  -H 'x-hub-signature: sha256=8b3aEXAMPLEhexhmacEXAMPLE5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c' \
 -d '{"push":{"changes":[{"new":{"type":"branch","name":"main","target":{"type":"commit","hash":"709d658dc5b6d6afcd46049c2f332ee3f515a67d","date":"2026-08-29T00:00:00+00:00","message":"fix: handle empty webhook payloads","author":{"raw":"Jane Doe <jane.doe@example.com>"}}},"old":{"type":"branch","name":"main","target":{"hash":"6113728f27ae82c7b1a177c8d03f9e96e0adf246"}},"created":false,"closed":false,"forced":false}]},"repository":{"type":"repository","full_name":"acme-team/hello-world","name":"hello-world","uuid":"{7708d810-964c-403f-aa6d-4e949280d614}","workspace":{"slug":"acme-team","name":"Acme Team"}},"actor":{"type":"user","display_name":"Jane Doe","nickname":"jdoe","uuid":"{fa631d25-7a01-4a3f-9e0f-e2f571e15a86}"}}'

← All payload examples · Related guide · Signature debugger · Docs