Patreon · event: members:pledge:create ·
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).
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 Patreon's webhook settings to capture a real delivery. No signup.
content-type: application/json x-patreon-event: members:pledge:create x-patreon-signature: ce471d0a0b33ed30125fa25e1a4d6c8d
{
"data": {
"attributes": {
"campaign_lifetime_support_cents": 500,
"currently_entitled_amount_cents": 500,
"email": "patron@example.com",
"full_name": "Ada Lovelace",
"is_follower": false,
"last_charge_date": "2026-08-30T21:03:11.000+00:00",
"last_charge_status": "Paid",
"lifetime_support_cents": 500,
"next_charge_date": "2026-09-01T00:00:00.000+00:00",
"note": "",
"patron_status": "active_patron",
"pledge_cadence": 1,
"pledge_relationship_start": "2026-08-30T21:03:09.000+00:00",
"will_pay_amount_cents": 500
},
"id": "d485d5ac-6c82-42c6-9c08-c50cf01b73d7",
"relationships": {
"address": {
"data": null
},
"campaign": {
"data": {
"id": "8194129",
"type": "campaign"
},
"links": {
"related": "https://www.patreon.com/api/oauth2/v2/campaigns/8194129"
}
},
"currently_entitled_tiers": {
"data": [
{
"id": "599336",
"type": "tier"
}
]
},
"user": {
"data": {
"id": "32187",
"type": "user"
},
"links": {
"related": "https://www.patreon.com/api/oauth2/v2/user/32187"
}
}
},
"type": "member"
},
"included": [
{
"attributes": {
"created_at": "2019-05-18T22:11:04.000+00:00",
"creation_name": "building open-source webhook tools",
"patron_count": 214,
"url": "https://www.patreon.com/hookdenexample",
"vanity": "hookdenexample"
},
"id": "8194129",
"type": "campaign"
},
{
"attributes": {
"full_name": "Ada Lovelace",
"url": "https://www.patreon.com/user?u=32187"
},
"id": "32187",
"type": "user"
},
{
"attributes": {
"amount_cents": 500,
"patron_count": 118,
"published": true,
"title": "Supporter"
},
"id": "599336",
"type": "tier"
}
],
"links": {
"self": "https://www.patreon.com/api/oauth2/v2/members/d485d5ac-6c82-42c6-9c08-c50cf01b73d7"
}
}
X-Patreon-Signature value and the secret
hookden-patreon-sample-webhook-secret into the
signature debugger (Patreon scheme), or set
the Patreon scheme on a capture bin for live ✓/✗ badges. It's a plain hex
HMAC-MD5 over the raw body — no prefix, no timestamp
(verified vs docs.patreon.com, 2026-08-30: "the HEX digest of the message body
HMAC signed (with MD5) using your webhook's secret").crypto.subtle (browser
and Cloudflare Workers / Deno) has no MD5 at all — so
WebCrypto-based verifier snippets fail before they start. Node's
crypto.createHmac('md5', secret) and Python's
hmac.new(secret, body, hashlib.md5) work fine; on WebCrypto-only
runtimes you need a pure-JS MD5 (that's what this site's debugger and bins use
— still fully client-side on the debugger page).X-Patreon-Event, not payload shape. One
webhook can subscribe to several triggers (members:create/update/delete,
members:pledge:create/update/delete,
posts:publish/update/delete) and every members:* payload is
the same type: "member" JSON:API document — the header is the only
reliable discriminator. members:pledge:create also fires when an
existing follower becomes a patron, and members:create can fire
more than once per person (delete + renew), so dedupe on the member UUID
(data.id), not "did I see this user before".secret is readable any time — on the
Platform portal webhooks
page or as a field on API webhook objects
(GET /api/oauth2/v2/webhooks returns secret,
paused, last_attempted_at,
num_consecutive_times_failed).paused: true — deliveries
stop until you PATCH paused: "false" (which also flushes queued
events) or use the portal's "send queued messages" button. If Patreon events
stopped arriving, check paused first.pledge:* triggers are deprecated —
they send a different type: "pledge" payload with integer IDs (that's
what most old tutorials show). New integrations should use the
members:* triggers above; note the member attributes here
(patron_status, last_charge_status,
currently_entitled_amount_cents) are the fields access-gating code
actually needs — patron_status: "active_patron" +
last_charge_status: "Paid" is the usual "grant access" predicate.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 'x-patreon-event: members:pledge:create' \
-H 'x-patreon-signature: ce471d0a0b33ed30125fa25e1a4d6c8d' \
-d '{
"data": {
"attributes": {
"campaign_lifetime_support_cents": 500,
"currently_entitled_amount_cents": 500,
"email": "patron@example.com",
"full_name": "Ada Lovelace",
"is_follower": false,
"last_charge_date": "2026-08-30T21:03:11.000+00:00",
"last_charge_status": "Paid",
"lifetime_support_cents": 500,
"next_charge_date": "2026-09-01T00:00:00.000+00:00",
"note": "",
"patron_status": "active_patron",
"pledge_cadence": 1,
"pledge_relationship_start": "2026-08-30T21:03:09.000+00:00",
"will_pay_amount_cents": 500
},
"id": "d485d5ac-6c82-42c6-9c08-c50cf01b73d7",
"relationships": {
"address": {
"data": null
},
"campaign": {
"data": {
"id": "8194129",
"type": "campaign"
},
"links": {
"related": "https://www.patreon.com/api/oauth2/v2/campaigns/8194129"
}
},
"currently_entitled_tiers": {
"data": [
{
"id": "599336",
"type": "tier"
}
]
},
"user": {
"data": {
"id": "32187",
"type": "user"
},
"links": {
"related": "https://www.patreon.com/api/oauth2/v2/user/32187"
}
}
},
"type": "member"
},
"included": [
{
"attributes": {
"created_at": "2019-05-18T22:11:04.000+00:00",
"creation_name": "building open-source webhook tools",
"patron_count": 214,
"url": "https://www.patreon.com/hookdenexample",
"vanity": "hookdenexample"
},
"id": "8194129",
"type": "campaign"
},
{
"attributes": {
"full_name": "Ada Lovelace",
"url": "https://www.patreon.com/user?u=32187"
},
"id": "32187",
"type": "user"
},
{
"attributes": {
"amount_cents": 500,
"patron_count": 118,
"published": true,
"title": "Supporter"
},
"id": "599336",
"type": "tier"
}
],
"links": {
"self": "https://www.patreon.com/api/oauth2/v2/members/d485d5ac-6c82-42c6-9c08-c50cf01b73d7"
}
}'
← All payload examples · Related guide · Signature debugger · Docs