Complimentary Membership API Not Working

Hello,

I have been trying to make a Zapier API over the past day or so to create a time-limited free trial for Ghost. The process is that Zap will detect a new row in Google Sheets, create the member, and then set that member to “Complimentary”, delay the zap for 1 hour, and then set the member back to “Free”. Everything works until we attempt to change the user to Complimentary. To eliminate any conflicting issues with other steps in the Zap, I’ve removed all triggers and am only passing updates via the API to a specific member by using Make/Integromat, which I found easier to get up and running for simple runs like this. When it still wasn’t working, I reached out to Zapier support. They have confirmed there is an issue with the API and have tested it on their end. They said they have opened a bug report with Ghost on their end, but asked me to also post on the forum to hopefully move things forward a bit quicker so my development process isn’t stalled.

Ghost Versions Tested: 5.2.3 and 4.48
What: Membership API PUT to “Comped” or “Status”

Code Input:

	{
    "members": [
        {
            "comped": true,
            "status": "complimentary"
        }
    ]
}

Code Output:

comped: false
status: free

No errors are given and the PUT executes successfully without changing anything. I’ve tried changing these two fields individually, at the same time, updating other fields such as Name to confirm that things were actually being committed (and they were), so I’m reaching out to see if I can get some assistance.

I appreciate any help or suggestions anyone can give!

Update:

  1. Ghost got back to Zapier and confirmed there is an issue with the way Comped works in 5.2 – requested that I update.

  2. I updated to 5.4.1. Now setting a member to Comped: True actually works! Good!

  3. Setting a member that’s been Comped to Comped: False does not work! Not good!

Still no errors in the Zap, says it processed successfully. Emailed Zapier Support again. Will update this topic with additional information as it comes, but if anyone has any suggestions in the meantime, I still welcome them. Thanks!

Updating once again. Zap has confirmed via email that this is another bug and that they’re going to notify me when there’s a proper fix. In the meantime, I came up with a workaround that still lets me accomplish the trial I want, but it’s a super sloppy hack that just so happens to work for my use-case. If I ever get notification that this has been resolved, I will come back to the post to update it for others.

Hi! Just wondering whether you ever had your issue #3 solved?

  1. Setting a member that’s been Comped to Comped: False does not work! Not good!

I’ve been trying to remove a comp subscription via the API and have also been having trouble. I’ve been trying to PUT an existing member by setting "comped" : false and also doing that along with "status" : "free".

No luck. I get a response code of 200, but the PUT does not remove the free subscription status. (I have updated other fields successfully, so it’s not a general problem in my use of the API.)

1 Like

Solution here — set "tiers" : []