Hi there.
We use Ghost(Pro), and we’ve been using the following query with the Ghost Content API for many months now:
https://uploadvr.ghost.io/ghost/api/content/posts/?key=[KEY]&filter=primary_author:[NAME]+published_at:>='2025-05-18'
(above, I’ve replaced the actual key and primary_author with square brackets, and used an example date)
This has worked for many months with no issues - until the past few days.
Suddenly, it is yielding:
{"errors":[{"message":"Request not understood error, cannot list posts.","context":"Error parsing filter","type":"BadRequestError","details":null,"property":null,"help":null,"code":null
It’s definitely published_at causing this, since if I remove that the error goes away.
Is this a regression, or a change to the API? What’s going on here?
If you remember primary_author, does it work correctly?
Are you URL encoding your strings for the filter?
Just tried on Ghost Pro.
My ‘raw’ string is: filter=primary_author:cathy+published_at:>'2025-05-18'
After encoding, I have:
https://cathys-second-demo-site.ghost.io/ghost/api/content/posts/?key=fe271d7637c1e685bc13e11f21&filter=primary_author%3Acathy%2Bpublished_at%3A%3E%272025-05-18%27
, which works fine. I’m test on Ghost Pro, which is 5.120.1-0-ge3b36eb+moya for my site today.
On further testing, this seems to only happen in Zapier WebRequest steps, and as you note, it works fine if done elsewhere.
Either something has changed with how Ghost handles URL/query decoding or something has changed with how Zapier encodes.
Regardless, I can workaround by using raw requests of my own.
1 Like