Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How to Filter accountType="app" Users via Jira Cloud REST API?

Korhan Keser
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
June 19, 2025

Hi everyone,

I'm trying to list only the users with accountType = "app" (e.g., installed apps like Forge or Connect apps) using the Jira Cloud REST API v3 — specifically the /rest/api/3/user/search endpoint.

However, I couldn’t find a way to filter these users directly via query parameters.
Using query=. returns all users, but I have to filter client-side after retrieving all results.

Is there a way to:

  • Filter by accountType=app server-side?

  • Or perform this via any property, custom field, or advanced method?

If not supported directly, any workarounds or best practices are welcome.
Thanks in advance!

1 answer

0 votes
Oleksii Melnyk _MOY Apps_
Community Champion
June 24, 2025

Jira Cloud REST API v3 does not support server-side filtering by accountType=app via the /rest/api/3/user/search endpoint.

Current Workaround: Client-Side Filtering

You're doing it the correct way:

  1. Call /rest/api/3/user/search?query=. (or any minimal character to match all users).
  2. Paginate through all results (startAt, maxResults).
  3. Filter users where:
 "user.accountType === 'app'"

 Снимок экрана 2025-06-24 в 12.44.19.png

Python script: 

import requests

JIRA_URL = "https://your-domain.atlassian.net"
API_TOKEN = "your-api-token"
EMAIL = "your-email@example.com"

auth = (EMAIL, API_TOKEN)
headers = {"Accept": "application/json"}
app_users = []

start_at = 0
max_results = 100

while True:
url = f"{JIRA_URL}/rest/api/3/user/search?query=.&startAt={start_at}&maxResults={max_results}"
response = requests.get(url, headers=headers, auth=auth)
response.raise_for_status()
users = response.json()

app_users.extend([u for u in users if u.get("accountType") == "app"])

if len(users) < max_results:
break
start_at += max_results

print(f"Found {len(app_users)} app users:")
for user in app_users:
print(f"- {user['displayName']} ({user['accountId']})")

 

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
PREMIUM
TAGS
AUG Leaders

Atlassian Community Events