# Gifted pledges neither trigger a webhook nor are they exposed properly in the API

**URL:** <https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808>\
**Category:** API Feedback\
**Created:** [January 14, 2025, 9:18am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808 "2025-01-14T09:18:06Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![bra1n](https://avatars.discourse-cdn.com/v4/letter/b/7ab992/32.png) [@bra1n](https://www.patreondevelopers.com/u/bra1n)\
**Post date:** [January 14, 2025, 9:18am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/1 "2025-01-14T09:18:07Z")

</div>

Hey there,  
it seems like Patreon decided to add gifted subscriptions, which is great! However, they again dropped the ball when it comes to their API. Getting a gifted subscription will neither trigger a pledge create / update webhook, nor will the gift expiration be included anywhere on the API level.  
I can retrieve whether a member is _currently_ an active Patreon and whether they have used a gifted sub, however there is NO data anywhere in the API as to how long their gifted subscription lasts.  
For example, someone with a 2 month gifted sub looks like this in the API:

```auto
       "attributes": {
                "email": "x@y.com",
                "full_name": "First Last",
                "is_gifted": true,
                "next_charge_date": null,
                "patron_status": "active_patron",
                "pledge_cadence": null,
                "pledge_relationship_start": "2024-12-22T18:15:36.698+00:00",
                "will_pay_amount_cents": 0
            }

```

As you can see, next\_charge\_date is NULL and so is pledge\_cadence - meaning I have literally no idea how to figure out when their access expires. For a company that rakes in hundreds of thousands of USD every month from their creators, this is beyond embarrassing.

---

<div class="post-metadata">

**Author:** ![codebard](https://yyz2.discourse-cdn.com/flex036/user_avatar/www.patreondevelopers.com/codebard/32/14_2.png) [@codebard](https://www.patreondevelopers.com/u/codebard)\
**Post date:** [January 16, 2025, 7:34pm UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/2 "2025-01-16T19:34:37Z")

</div>

Try getting the currently\_entitled\_amount\_cents and currently\_entitled\_tiers of that patron.

---

<div class="post-metadata">

**Author:** ![bra1n](https://avatars.discourse-cdn.com/v4/letter/b/7ab992/32.png) [@bra1n](https://www.patreondevelopers.com/u/bra1n)\
**Post date:** [January 17, 2025, 8:45am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/3 "2025-01-17T08:45:18Z")

</div>

> currently\_entitled\_amount\_cents

That value is zero for gifted subscriptions.

> currently\_entitled\_tiers

That only returns the current tier that the subscriber has, but not for how long or since when.

---

<div class="post-metadata">

**Author:** ![codebard](https://yyz2.discourse-cdn.com/flex036/user_avatar/www.patreondevelopers.com/codebard/32/14_2.png) [@codebard](https://www.patreondevelopers.com/u/codebard)\
**Post date:** [January 18, 2025, 7:43pm UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/4 "2025-01-18T19:43:22Z")

</div>

currently\_entitled\_amount\_cents should be a bug, you can put a support ticket at Patreon help desk to tell them that you want it implemented.

> That only returns the current tier that the subscriber has, but not for how long or since when.

That shouldnt be a problem - if you just keep checking that field whenever the user will access his reward, then you can withhold the reward when the user’s entitlement no longer shows in that field.

---

<div class="post-metadata">

**Author:** ![bra1n](https://avatars.discourse-cdn.com/v4/letter/b/7ab992/32.png) [@bra1n](https://www.patreondevelopers.com/u/bra1n)\
**Post date:** [January 18, 2025, 9:06pm UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/5 "2025-01-18T21:06:10Z")

</div>

I have tried opening tickets for bugs in their API before and have been redirected here. Their support is unable to help with issues with their API.

> [@codebard](#):
>
> That shouldnt be a problem - if you just keep checking that field whenever the user will access his reward, then you can withhold the reward when the user’s entitlement no longer shows in that field.

This is not a realistic solution, as I can’t be expected to query the Patreon API every time the user does something on our end - we’re providing an online game with thousands of users and I can’t realistically query the Patreon API every single time someone uses their pledge tier reward.  
What a sad affair this whole Patreon API is…

---

<div class="post-metadata">

**Author:** ![RichardF](https://yyz2.discourse-cdn.com/flex036/user_avatar/www.patreondevelopers.com/richardf/32/2839_2.png) [@RichardF](https://www.patreondevelopers.com/u/RichardF)\
**Post date:** [January 24, 2025, 10:59am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/6 "2025-01-24T10:59:49Z")

</div>

Glad to find this. I’m experiencing exactly the same issue - a subscriber bought a subscription as a gift for his son, and it’s not showing up in the API. It’s pretty clearly a bug.

---

<div class="post-metadata">

**Author:** ![grufftech](https://yyz2.discourse-cdn.com/flex036/user_avatar/www.patreondevelopers.com/grufftech/32/2849_2.png) [@grufftech](https://www.patreondevelopers.com/u/grufftech)\
**Post date:** [February 11, 2025, 1:02am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/7 "2025-02-11T01:02:40Z")

</div>

doesn’t seem to be a way to test gifts via the webhook either? am I crazy?

---

<div class="post-metadata">

**Author:** ![bra1n](https://avatars.discourse-cdn.com/v4/letter/b/7ab992/32.png) [@bra1n](https://www.patreondevelopers.com/u/bra1n)\
**Post date:** [February 11, 2025, 8:44am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/8 "2025-02-11T08:44:06Z")

</div>

No, gift subscriptions DON’T trigger the standard pledge create/update webhooks, and you won’t be able to figure out the gift duration at all, from anywhere else in the API.

---

<div class="post-metadata">

**Author:** ![Atropos](https://avatars.discourse-cdn.com/v4/letter/a/7cd45c/32.png) [@Atropos](https://www.patreondevelopers.com/u/Atropos)\
**Post date:** [August 1, 2025, 3:29pm UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/9 "2025-08-01T15:29:14Z")

</div>

Bumping this topic to add more urgency to it. This is a problem for our Patreon membership integration which means we are unable to support gifted subscriptions in any reasonable way.

---

<div class="post-metadata">

**Author:** ![Mantic](https://yyz2.discourse-cdn.com/flex036/user_avatar/www.patreondevelopers.com/mantic/32/3083_2.png) [@Mantic](https://www.patreondevelopers.com/u/Mantic)\
**Post date:** [October 19, 2025, 5:27am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/10 "2025-10-19T05:27:58Z")

</div>

Bump! This seems like a serious flaw in the API / webhook system. It would be too easy to have gifted patrons get missed in the features unlocked to them.

---

<div class="post-metadata">

**Author:** ![bra1n](https://avatars.discourse-cdn.com/v4/letter/b/7ab992/32.png) [@bra1n](https://www.patreondevelopers.com/u/bra1n)\
**Post date:** [October 20, 2025, 10:47am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/11 "2025-10-20T10:47:23Z")

</div>

Unfortunately, Patreon support has been neglecting any API-related tickets for a while now. They simply don’t care about people having issues with their API and this is far from the only bug that they’re having there.

---

<div class="post-metadata">

**Author:** ![noertap](https://yyz2.discourse-cdn.com/flex036/user_avatar/www.patreondevelopers.com/noertap/32/2868_2.png) [@noertap](https://www.patreondevelopers.com/u/noertap)\
**Post date:** [October 21, 2025, 1:49am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/12 "2025-10-21T01:49:16Z")

</div>

The `members:create` and `members:update` webhooks are triggered when a gift is redeemed. The payload includes `"is_gifted": true` if the member is a gifted patron. Currently, the payload does not include the expiration date of the gifted membership - this is something that would be added in the future. We’re aware that the gifted subscription expiration date isn’t available in the API yet and appreciate the feedback. We’ll share more information if and when this becomes available.

For now, the recommended approach is to listen for the `members:update` and `members:delete` events to detect changes in the member record. When a gifted membership expires or converts to a paying membership, a `members:update` webhook will be triggered, and the `patron_status` and `is_gifted` attributes will reflect those changes.

---

<div class="post-metadata">

**Author:** ![bra1n](https://avatars.discourse-cdn.com/v4/letter/b/7ab992/32.png) [@bra1n](https://www.patreondevelopers.com/u/bra1n)\
**Post date:** [October 21, 2025, 6:20am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/13 "2025-10-21T06:20:50Z")

</div>

@noertap unfortunately, this is still not fully usable. If a regular paying subscriber cancels their Patreon pledge and then uses a gifted subscription, their Patron status will still be “declined\_patreon”. Have seen that a few times by now and there doesn’t seem to be a way around this currently.

---

<div class="post-metadata">

**Author:** ![bra1n](https://avatars.discourse-cdn.com/v4/letter/b/7ab992/32.png) [@bra1n](https://www.patreondevelopers.com/u/bra1n)\
**Post date:** [October 21, 2025, 6:24am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/14 "2025-10-21T06:24:35Z")

</div>

I’ve created a ticket for this on September 12th (#3463425 in case you want to check) that hasn’t even received a response, yet. 😠

---

<div class="post-metadata">

**Author:** ![noertap](https://yyz2.discourse-cdn.com/flex036/user_avatar/www.patreondevelopers.com/noertap/32/2868_2.png) [@noertap](https://www.patreondevelopers.com/u/noertap)\
**Post date:** [October 21, 2025, 5:10pm UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/15 "2025-10-21T17:10:29Z")

</div>

Got it, so sounds like the `members:create` and `members:update` webhooks not being triggered aren’t the problem. Rather the member data in the API for some in a case with a prior decline is not returning `patron_status=active_patron`. I’ll DM you for some details.

---

<div class="post-metadata">

**Author:** ![bra1n](https://avatars.discourse-cdn.com/v4/letter/b/7ab992/32.png) [@bra1n](https://www.patreondevelopers.com/u/bra1n)\
**Post date:** [October 22, 2025, 6:52am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/16 "2025-10-22T06:52:31Z")

</div>

Right, I think the webhook _is_ getting triggered, but as you said, the status is wrong, same as with a direct API request. It’s been a bit since we’ve had the last issue with such a gifted / cancelled sub, but if needs be, I could probably dig around and try to find such a user among our Patrons.

---

<div class="post-metadata">

**Author:** ![noertap](https://yyz2.discourse-cdn.com/flex036/user_avatar/www.patreondevelopers.com/noertap/32/2868_2.png) [@noertap](https://www.patreondevelopers.com/u/noertap)\
**Post date:** [October 22, 2025, 6:46pm UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/17 "2025-10-22T18:46:04Z")

</div>

Thanks, for now I think you can hold off of finding someone in this situation. The user id in your zendesk ticket was sufficient for the dev team. Will share more once I hear more back about this.

---

<div class="post-metadata">

**Author:** ![noertap](https://yyz2.discourse-cdn.com/flex036/user_avatar/www.patreondevelopers.com/noertap/32/2868_2.png) [@noertap](https://www.patreondevelopers.com/u/noertap)\
**Post date:** [December 15, 2025, 11:38pm UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/18 "2025-12-15T23:38:58Z")

</div>

Hi @bra1n, I just heard back that the issue where redeeming a gifted membership for a declined patron caused the patron status to remain `declined_patron` has now been fixed. The status in this case should be correctly reported in webhooks, public api and ARM.

Thanks for reporting this!

---

<div class="post-metadata">

**Author:** ![bra1n](https://avatars.discourse-cdn.com/v4/letter/b/7ab992/32.png) [@bra1n](https://www.patreondevelopers.com/u/bra1n)\
**Post date:** [December 16, 2025, 7:09am UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/19 "2025-12-16T07:09:53Z")

</div>

That’s great news! 🥳 Now if only we could get better error reporting when webhooks are failing… and durations on the API level for gifted pledges. 😬

---

<div class="post-metadata">

**Author:** ![Nimja\_Hypnosis](https://avatars.discourse-cdn.com/v4/letter/n/96bed5/32.png) [@Nimja\_Hypnosis](https://www.patreondevelopers.com/u/Nimja_Hypnosis)\
**Post date:** [May 8, 2026, 3:47pm UTC](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808/20 "2026-05-08T15:47:44Z")

</div>

As of now, the data is still not visible, though. While it is shown in the list of payments as “gift” in the frontend, it is NOT visible in `pledge_history` where I would expect it. Is it anywhere else?

[Next page](https://www.patreondevelopers.com/t/gifted-pledges-neither-trigger-a-webhook-nor-are-they-exposed-properly-in-the-api/9808.md?page=2)
