Skip to content

Atlassian: Find users and groups

Atlassian groupAndUserPicker.findUsersAndGroups: arguments, response, policy and SDK examples.

← Group and user picker operations · Get started

Operation atlassian.findusersandgroups

Provider route: GET /{cloudId}/rest/api/3/groupuserpicker. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/atlassian with npm, or alter-sdk-atlassian with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { AtlassianIntegration } from "@alter-ai/atlassian";
async function execute(input: Parameters<AtlassianIntegration["groupAndUserPicker"]["findUsersAndGroups"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new AtlassianIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.groupAndUserPicker.findUsersAndGroups(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_atlassian import AtlassianIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = AtlassianIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.group_and_user_picker.find_users_and_groups(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.cloudIdstringRequired within parentPattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
queryobjectRequired within parentAdditional keys: not allowed
query.querystringRequired within parent
query.maxResultsintegerOptionalDefault: 50
Format: int32
query.showAvatarbooleanOptionalDefault: false
query.fieldIdstringOptional
query.projectIdarrayOptional
query.projectId[]stringEach item
query.issueTypeIdarrayOptional
query.issueTypeId[]stringEach item
query.avatarSizestringOptionalDefault: xsmall
One of: xsmall, xsmall@2x, xsmall@3x, small, small@2x, small@3x, medium, medium@2x, medium@3x, large, large@2x, large@3x, xlarge, xlarge@2x, xlarge@3x, xxlarge, xxlarge@2x, xxlarge@3x, xxxlarge, xxxlarge@2x, xxxlarge@3x
query.caseInsensitivebooleanOptionalDefault: false
query.excludeConnectAddonsbooleanOptionalDefault: false
query.includeAiAgentsbooleanOptionalDefault: false

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Find users and groups — response body

Referenced models: Find users and groups — response body

Find users and groups — response body
FieldTypePresenceDescription and constraints
$objectRootList of users and groups found in a search.
groupsJSONOptional
groups (anyOf 1)ModelAlternativeExpand Find groups — response body
groups (anyOf 2)nullAlternative
usersJSONOptional
users (anyOf 1)ModelAlternativeExpand Find users for picker — response body
users (anyOf 2)nullAlternative

Referenced models: Find groups — response body, Find users for picker — response body

Find groups — response body
FieldTypePresenceDescription and constraints
$objectRootThe list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched groups.
groupsJSONOptional
groups (anyOf 1)arrayAlternative
groups (anyOf 1)[]ModelEach itemExpand Find groups — response body — groups array item
groups (anyOf 2)nullAlternative
headerJSONOptional
header (anyOf 1)stringAlternativeHeader text indicating the number of groups in the response and the total number of groups found in the search.
header (anyOf 2)nullAlternative
totalJSONOptional
total (anyOf 1)JSONAlternative
total (anyOf 1) (anyOf 1)integerAlternativeThe total number of groups found in the search.
Format: int32
total (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
total (anyOf 2)nullAlternative

Referenced models: Find groups — response body — groups array item

Find users for picker — response body
FieldTypePresenceDescription and constraints
$objectRootThe list of users found in a search, including header text (Showing X of Y matching users) and total of matched users.
headerJSONOptional
header (anyOf 1)stringAlternativeHeader text indicating the number of users in the response and the total number of users found in the search.
header (anyOf 2)nullAlternative
totalJSONOptional
total (anyOf 1)JSONAlternative
total (anyOf 1) (anyOf 1)integerAlternativeThe total number of users found in the search.
Format: int32
total (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
total (anyOf 2)nullAlternative
usersJSONOptional
users (anyOf 1)arrayAlternative
users (anyOf 1)[]ModelEach itemExpand Find users for picker — response body — users array item
users (anyOf 2)nullAlternative

Referenced models: Find users for picker — response body — users array item

Find groups — response body — groups array item
FieldTypePresenceDescription and constraints
$objectRootA group found in a search.
avatarUrlJSONOptional
avatarUrl (anyOf 1)stringAlternativeAvatar url for the group/team if present.
avatarUrl (anyOf 2)nullAlternative
groupIdJSONOptional
groupId (anyOf 1)stringAlternativeThe ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
groupId (anyOf 2)nullAlternative
htmlJSONOptional
html (anyOf 1)stringAlternativeThe group name with the matched query string highlighted with the HTML bold tag.
html (anyOf 2)nullAlternative
labelsJSONOptional
labels (anyOf 1)arrayAlternative
labels (anyOf 1)[]ModelEach itemExpand Find groups — response body — groups array item labels array item
labels (anyOf 2)nullAlternative
managedByJSONOptional
managedBy (anyOf 1)stringAlternativeDescribes who/how the team is managed. The possible values are
\* external - when team is synced from an external directory like SCIM or HRIS, and team members cannot be modified.
\* admins - when a team is managed by an admin (team members can only be modified by admins).
\* team-members - managed by existing team members, new members need to be invited to join.
\* open - anyone can join or modify this team.
Known values: EXTERNAL, ADMINS, TEAM_MEMBERS, OPEN
managedBy (anyOf 2)nullAlternative
nameJSONOptional
name (anyOf 1)stringAlternativeThe name of the group. The name of a group is mutable, to reliably identify a group use ``groupId`.`
name (anyOf 2)nullAlternative
usageTypeJSONOptional
usageType (anyOf 1)stringAlternativeDescribes the type of group. The possible values are
\* team-collaboration - A platform team managed in people directory.
\* userbase-group - a group of users created in adminhub.
\* admin-oversight - currently unused.
Known values: USERBASE_GROUP, TEAM_COLLABORATION, ADMIN_OVERSIGHT
usageType (anyOf 2)nullAlternative

Referenced models: Find groups — response body — groups array item labels array item

Find users for picker — response body — users array item
FieldTypePresenceDescription and constraints
$objectRootA user found in a search.
accountIdJSONOptional
accountId (anyOf 1)stringAlternativeThe account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
accountId (anyOf 2)nullAlternative
accountTypeJSONOptional
accountType (anyOf 1)stringAlternativeThe user account type. Can take the following values:

* `atlassian` regular Atlassian user account
* `app` system account used for Connect applications and OAuth to represent external systems
* `customer` Jira Service Desk account representing an external service desk
Known values: atlassian, app, customer, unknown
accountType (anyOf 2)nullAlternative
avatarUrlJSONOptional
avatarUrl (anyOf 1)stringAlternativeThe avatar URL of the user.
Format: uri
avatarUrl (anyOf 2)nullAlternative
displayNameJSONOptional
displayName (anyOf 1)stringAlternativeThe display name of the user. Depending on the user’s privacy setting, this may be returned as null.
displayName (anyOf 2)nullAlternative
htmlJSONOptional
html (anyOf 1)stringAlternativeThe display name, email address, and key of the user with the matched query string highlighted with the HTML bold tag.
html (anyOf 2)nullAlternative
keyJSONOptional
key (anyOf 1)stringAlternativeThis property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
key (anyOf 2)nullAlternative
nameJSONOptional
name (anyOf 1)stringAlternativeThis property is no longer available . See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
name (anyOf 2)nullAlternative
Find groups — response body — groups array item labels array item
FieldTypePresenceDescription and constraints
$objectRootA group label.
textJSONOptional
text (anyOf 1)stringAlternativeThe group label name.
text (anyOf 2)nullAlternative
titleJSONOptional
title (anyOf 1)stringAlternativeThe title of the group label.
title (anyOf 2)nullAlternative
typeJSONOptional
type (anyOf 1)stringAlternativeThe type of the group label.
Known values: ADMIN, SINGLE, MULTIPLE
type (anyOf 2)nullAlternative

SDK function policy ID: atlassian.findusersandgroups. Catalog operation: findusersandgroups. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Required provider scopes: ["read:jira-work"]

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.