Skip to content

Atlassian: Find users

Atlassian userSearch.findUsers: arguments, response, policy and SDK examples.

← User search operations · Get started

Operation atlassian.findusers

Provider route: GET /{cloudId}/rest/api/3/user/search. 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["userSearch"]["findUsers"]>[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.userSearch.findUsers(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.user_search.find_users(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}$
queryobjectOptionalAdditional keys: not allowed
query.querystringOptional
query.usernamestringOptional
query.accountIdstringOptionalMaximum length: 128
query.startAtintegerOptionalDefault: 0
Format: int32
query.maxResultsintegerOptionalDefault: 50
Format: int32
query.propertystringOptional

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

FieldTypePresenceDescription and constraints
$arrayRoot
$[]ModelEach itemExpand Get user — response body

Referenced models: Get user — response body

2 more schemas are linked from the tables above, on the schema pages.

Get user — response body
FieldTypePresenceDescription and constraints
$objectRootA user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:

* User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank).
* User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values.
* User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.
accountIdJSONOptional
accountId (anyOf 1)stringAlternativeThe account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required in requests.
Maximum length: 128
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
Read only: true
accountType (anyOf 2)nullAlternative
activeJSONOptional
active (anyOf 1)booleanAlternativeWhether the user is active.
Read only: true
active (anyOf 2)nullAlternative
appTypeJSONOptional
appType (anyOf 1)stringAlternativeThe app type of the user account when accountType is 'app'. Can take the following values:

* `service` Service Account
* `agent` Rovo Agent Account
* `unknown` Unknown app type
Read only: true
appType (anyOf 2)nullAlternative
applicationRolesJSONOptional
applicationRoles (anyOf 1)ModelAlternativeExpand Get user — response body — application Roles callback, items, max-results, paging Callback, size
The application roles the user is assigned to.
Read only: true
applicationRoles (anyOf 2)nullAlternative
avatarUrlsJSONOptional
avatarUrls (anyOf 1)ModelAlternativeExpand Get user — response body — avatar Urls 16x16, 24x24, 32x32, 48x48
The avatars of the user.
Read only: true
avatarUrls (anyOf 2)nullAlternative
displayNameJSONOptional
displayName (anyOf 1)stringAlternativeThe display name of the user. Depending on the user’s privacy setting, this may return an alternative value.
Read only: true
displayName (anyOf 2)nullAlternative
emailAddressJSONOptional
emailAddress (anyOf 1)stringAlternativeThe email address of the user. Depending on the user’s privacy setting, this may be returned as null.
Read only: true
emailAddress (anyOf 2)nullAlternative
expandJSONOptional
expand (anyOf 1)stringAlternativeExpand options that include additional user details in the response.
Read only: true
expand (anyOf 2)nullAlternative
groupsJSONOptional
groups (anyOf 1)ModelAlternativeExpand Get user — response body — groups callback, items, max-results, paging Callback, size
The groups that the user belongs to.
Read only: true
groups (anyOf 2)nullAlternative
guestJSONOptional
guest (anyOf 1)booleanAlternativeWhether the user is a guest.
Read only: true
guest (anyOf 2)nullAlternative
keyJSONOptional
key (anyOf 1)stringAlternativeThis property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
key (anyOf 2)nullAlternative
localeJSONOptional
locale (anyOf 1)stringAlternativeThe locale of the user. Depending on the user’s privacy setting, this may be returned as null.
Read only: true
locale (anyOf 2)nullAlternative
nameJSONOptional
name (anyOf 1)stringAlternativeThis property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
name (anyOf 2)nullAlternative
selfJSONOptional
self (anyOf 1)stringAlternativeThe URL of the user.
Format: uri
Read only: true
self (anyOf 2)nullAlternative
timeZoneJSONOptional
timeZone (anyOf 1)stringAlternativeThe time zone specified in the user's profile. If the user's time zone is not visible to the current user (due to user's profile setting), or if a time zone has not been set, the instance's default time zone will be returned.
Read only: true
timeZone (anyOf 2)nullAlternative

Referenced models: Get user — response body — avatar Urls 16x16, 24x24, 32x32, 48x48, Get user — response body — application Roles callback, items, max-results, paging Callback, size, Get user — response body — groups callback, items, max-results, paging Callback, size

Get user — response body — avatar Urls 16x16, 24x24, 32x32, 48x48
FieldTypePresenceDescription and constraints
$objectRoot
16x16JSONOptional
16x16 (anyOf 1)stringAlternativeThe URL of the item's 16x16 pixel avatar.
Format: uri
16x16 (anyOf 2)nullAlternative
24x24JSONOptional
24x24 (anyOf 1)stringAlternativeThe URL of the item's 24x24 pixel avatar.
Format: uri
24x24 (anyOf 2)nullAlternative
32x32JSONOptional
32x32 (anyOf 1)stringAlternativeThe URL of the item's 32x32 pixel avatar.
Format: uri
32x32 (anyOf 2)nullAlternative
48x48JSONOptional
48x48 (anyOf 1)stringAlternativeThe URL of the item's 48x48 pixel avatar.
Format: uri
48x48 (anyOf 2)nullAlternative
Get user — response body — application Roles callback, items, max-results, paging Callback, size
FieldTypePresenceDescription and constraints
$objectRoot
callbackJSONOptional
callback (anyOf 1)ModelAlternativeExpand Get user — response body — groups callback, items, max-results, paging Callback, size callback object
callback (anyOf 2)nullAlternative
itemsJSONOptional
items (anyOf 1)arrayAlternative
items (anyOf 1)[]ModelEach itemExpand Get application role — response body
items (anyOf 2)nullAlternative
max-resultsJSONOptional
max-results (anyOf 1)JSONAlternative
max-results (anyOf 1) (anyOf 1)integerAlternativeFormat: int32
max-results (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
max-results (anyOf 2)nullAlternative
pagingCallbackJSONOptional
pagingCallback (anyOf 1)ModelAlternativeExpand Get user — response body — groups callback, items, max-results, paging Callback, size callback object
pagingCallback (anyOf 2)nullAlternative
sizeJSONOptional
size (anyOf 1)JSONAlternative
size (anyOf 1) (anyOf 1)integerAlternativeFormat: int32
size (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
size (anyOf 2)nullAlternative

Referenced models: Get application role — response body, Get user — response body — groups callback, items, max-results, paging Callback, size callback object

Get user — response body — groups callback, items, max-results, paging Callback, size callback object
FieldTypePresenceDescription and constraints
$objectRoot
Get user groups — response body — item
FieldTypePresenceDescription and constraints
$objectRootDetails about a group.
groupIdJSONOptional
groupId (anyOf 1)JSONAlternative
groupId (anyOf 1) (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 1) (anyOf 2)nullAlternative
groupId (anyOf 2)nullAlternative
nameJSONOptional
name (anyOf 1)stringAlternativeThe name of group.
name (anyOf 2)nullAlternative
selfJSONOptional
self (anyOf 1)stringAlternativeThe URL for these group details.
Format: uri
Read only: true
self (anyOf 2)nullAlternative

SDK function policy ID: atlassian.findusers. Catalog operation: findusers. 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-user"]

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.