Hi Simon,
Great question, and totally understandable why this is confusing!
The query parameter is not listed in the official Jira Cloud REST API documentation for GET /rest/api/3/filter/search. The documented parameters for this endpoint are: filterName, accountId, owner, groupname, groupId, projectId, id, expand, overrideSharePermissions, startAt, and maxResults.
Since query is undocumented:
-
Its behavior is not officially specified : what it searches on (name, description, JQL, etc.) is not guaranteed.
-
It offers no stability guarantee
-
It’s not recommended for production use for these reasons.
For a reliable, supported approach, use the filterName parameter to search filters by name:
GET /rest/api/3/filter/search?filterName=myQuery
For Example, filterName returns exactly 1 match
$ curl -s -u "$EMAIL:$API_TOKEN"
"https://YOUR-SITE.atlassian.net/rest/api/3/filter/search?filterName=CBB&maxResults=5" | python3 -m json.tool
{
"self": "https://YOUR-SITE.atlassian.net/rest/api/3/filter/search?maxResults=5&filterName=CBB&startAt=0",
"maxResults": 5,
"startAt": 0,
"total": 1,
"isLast": true,
"values": [
{
"expand": "description,owner,jql,viewUrl,searchUrl,favourite,favouritedCount,sharePermissions,editPermissions,isWritable,approximateLastUsed,subscriptions",
"self": "https://YOUR-SITE.atlassian.net/rest/api/3/filter/10012",
"id": "10012",
"name": "Filter for CBB board"
}
]
}
Where as query results 27 entries with max 5 results incorrect match
$ curl -s -u "$EMAIL:$API_TOKEN"
"https://YOUR-SITE.atlassian.net/rest/api/3/filter/search?query=CBB&maxResults=5" | python3 -m json.tool
{
"self": "https://YOUR-SITE.atlassian.net/rest/api/3/filter/search?maxResults=5&query=CBB&startAt=0",
"nextPage": "https://YOUR-SITE.atlassian.net/rest/api/3/filter/search?maxResults=5&query=CBB&startAt=5",
"maxResults": 5,
"startAt": 0,
"total": 27,
"isLast": false,
"values": [
{
"expand": "description,owner,jql,viewUrl,searchUrl,favourite,favouritedCount,sharePermissions,editPermissions,isWritable,approximateLastUsed,subscriptions",
"self": "https://YOUR-SITE.atlassian.net/rest/api/3/filter/10076",
"id": "10076",
"name": "dashboard_check"
},
{
"expand": "description,owner,jql,viewUrl,searchUrl,favourite,favouritedCount,sharePermissions,editPermissions,isWritable,approximateLastUsed,subscriptions",
"self": "https://YOUR-SITE.atlassian.net/rest/api/3/filter/10075",
"id": "10075",
"name": "dashboard_test"
},
{
"expand": "description,owner,jql,viewUrl,searchUrl,favourite,favouritedCount,sharePermissions,editPermissions,isWritable,approximateLastUsed,subscriptions",
"self": "https://YOUR-SITE.atlassian.net/rest/api/3/filter/10243",
"id": "10243",
"name": "Filter for CATTST1 board"
},
{
"expand": "description,owner,jql,viewUrl,searchUrl,favourite,favouritedCount,sharePermissions,editPermissions,isWritable,approximateLastUsed,subscriptions",
"self": "https://YOUR-SITE.atlassian.net/rest/api/3/filter/10244",
"id": "10244",
"name": "Filter for CATTST2 board"
},
{
"expand": "description,owner,jql,viewUrl,searchUrl,favourite,favouritedCount,sharePermissions,editPermissions,isWritable,approximateLastUsed,subscriptions",
"self": "https://YOUR-SITE.atlassian.net/rest/api/3/filter/10012",
"id": "10012",
"name": "Filter for CBB board"
}
]
}
If you need broader, multi-field search capabilities, it’s worth raising a feature request on the Jira Cloud issue tracker — that’s the best way to get it prioritized and potentially officially documented.
Hope this helps clarify things! 