Querying Campaign Members Returns Null Values

Hello! I’m using the following REST API endpoint below to gather a list of patron email addresses in order to automate benefits. It’s been working great for over a month, but after two new patrons started supporting us just a day or two ago I noticed their details are null in the data response. I’ve checked with both individuals and they say they logged into Patreon using the Google login option so my understanding is their accounts should be verified and email available to query.

REST API Endpoint:

/api/oauth2/v2/campaigns/<campaign#>/members?include=currently_entitled_tiers&fields%5Bmember%5D=email,note,currently_entitled_amount_cents

What gets returned 2x (which I’m assuming is the two new supporters but maybe I’m mistaken):

    {
      "attributes": {
        "currently_entitled_amount_cents": 0,
        "email": null,
        "note": ""
      },
      "id": "<removed>",
      "relationships": {
        "currently_entitled_tiers": {
          "data": []
        }
      },
      "type": "member"
    },

I’ve done a lot of research around the docs and found conflicting information on whether or not the creator’s access tokens actually expire after a month which might be causing this issue. I’ve heard this is only the case if you’re using patreon as a login option but that tokens for API access no longer expire as of ~2018?

So I registered another oauth2 client to not affect my production endpoint and still get the same values back. I do not see the two new patrons despite them showing up in the relationship manager with “paid” status.

Any suggestions or help would be appreciated. I’m probably doing something wrong. Thank you.

Not sure if this helps but a few minutes after writing this I got another patreon supporter and they showed up immediately in the query, so now I’m convinced it’s something with the two accounts.

Since you are getting the results of patronage etc for creators, it cant be a creator token expiration issue.

Having logged in via Google may not make it so that their emails are verified at Patreon though. That may have an effect. If you can ask a patron to check whether his/her email is verified at Patreon, that can provide a clue.

According to both patrons they are verified and don’t see any issues within the patreon account settings. So I’m not sure where to go from here.

Patrons say they are verified as in they have verified their email by clicking a verification link in an actual email they received from Patreon?

That is correct, but they still appear on the list as null. I suspect this is some kind of email privacy setting or something as I get other details, just not their email address. And yes, I made sure to use the appropriate URI to authorize email disclosure. I’ve worked around the issue manually, but it’d be really nice if the API gave some kind of a reason why the values were null, such as a user still has benefits but deleted their account, haven’t verified their email, etc.

Can you forward these patron’s emails or user ids to me via dm?

Message sent. If you have additional questions let me know. Thanks!

Still an issue and it appears related to newer folks that register for Patreon. Even when I pull information from the following endpoint: curl --header “authorization: Bearer {mytoken}” https://www.patreon.com/api/oauth2/api/campaigns/{myid}/pledges?include=patron.null it says I have only 10 pledges despite the relationship manager showing 12. Additionally this query tells me if the email address is validated or not, but those two members are entirely missing from the list. Could this be related to some kind of issue in the v2 api related to new Patreon users? This seems like a pretty large issue.

I’ve have a manual workaround. I can export the pledge data from the relationship manager in .csv format once a day and place that on my server to process at regular intervals. It’s a band-aid but at least it works.

Does the patron who showed null value from before now return proper value?

Also if you can forward the ids or emails of those new patrons who return null values now via DM those also could provide additional pointers.