Query string hash/JWT for JQL queries

Hi folks, building a new Atlassian Connect application and have hit a snag; I’m able to generate a valid jwt just fine for non-querystring requests, but have not been able to crack the magic formula that would allow me to use jql. Does anyone have an example of a full canonical request, or could someone encode this request so I can figure out what I’m missing?
Example:
non-canonical -
subdomain.atlassian.net/rest/api/latest/search?jql=issuetype=Story+AND+project+in+(FOO)&maxresults=50&startAt=0

what i have that’s wrong, apparently, please fix!:
GET&/rest/latest/issue/search&jql=issueType%3DStory%2BAND%2Bproject%2Bin%2B%28FOO%29&maxresults=50&startAt=0&

@DavidFisher can you try encoding the space as a %20 instead of %2B?

Adding: When you use a %2B, it is decoded as a literal + sign in JQL, which is a reserved word/operator. It’s a bit confusing, but when you see + sign in a browser location bar, that’s actually encoded as a %20 before its sent to the server.

Not sure if it is a typo, but the actual path appears different in your non canonical and canonical versions. You are missing api in the canonical version and have added issue

GET&/rest/api/latest/search&jql=issueType%3DStory%2BAND%2Bproject%2Bin%2B%28FOO%29&maxresults=50&startAt=0&

this ended up being the “solution”, although it’s not a satisfying one. There’s nothing i can tell that should make the + character less usable than a space, but it did put me on track. Thanks!

typo - good catch - but the issue persisted until i switch from + to space, for anyone that comes back to look for help in the future. Thanks!

When you use a %2B, it is decoded as a literal + sign in JQL, which is a reserved word/operator. It’s a bit confusing, but when you see + sign in a browser location bar, that’s actually encoded as a %20 before its sent to the server.