• Announcement banner
  • App data policies (EAP)
  • Application roles
  • Audit records
  • Avatars
  • Classification levels
  • Dashboards
  • Filters
  • Filter sharing
  • Group and user picker
  • Groups
  • Issues
  • UI modifications (apps)
  • Issue attachments
  • Issue comments
  • Issue comment properties
  • Issue fields
  • Issue field configurations
  • Issue custom field contexts
  • Issue custom field options
  • Issue custom field options (apps)
  • Issue custom field values (apps)
  • Issue custom field configuration (apps)
  • Issue navigator settings
  • Issue notification schemes
  • Issue priorities
  • Issue properties
  • Issue resolutions
  • Issue security level
  • Issue security schemes
  • Issue types
  • Issue type schemes
  • Issue type screen schemes
  • Issue type properties
  • Issue votes
  • Issue watchers
  • Issue worklogs
  • Issue worklog properties
  • Jira expressions
  • Jira settings
  • JQL
  • JQL functions (apps)
  • Labels
  • License metrics
  • Myself
  • Permissions
  • Permission schemes
  • Projects
  • Project avatars
  • Project categories
  • Project classification levels
  • Project components
  • Project email
  • Project features
  • Project key and name validation
  • Project permission schemes
  • Project properties
  • Project roles
  • Project role actors
  • Project types
  • Project versions
  • Screens
  • Screen tabs
  • Screen tab fields
  • Screen schemes
  • Server info
  • Status
  • Tasks
  • Time tracking
  • Users
  • User properties
  • Webhooks
  • Workflows
  • Workflow transition rules
  • Workflow schemes
  • Workflow scheme project associations
  • Workflow scheme drafts
  • Workflow statuses
  • Workflow status categories
  • Workflow transition properties
  • App properties
  • Dynamic modules
  • App migration
  • Service Registry
Cloud
Jira Cloud platform / Reference / REST API v2

Groups

Postman Collection
OpenAPI
GET

Get groupDeprecated

This operation is deprecated, use group/member.

Returns all users in a group.

Permissions required: either of:

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:read:jira-user
Granular:read:group:jira, read:user:jira, read:avatar:jira

Request

Query parameters

groupname

string

groupId

string

expand

string

Responses

Returned if the request is successful.

application/json

Group
GET/rest/api/2/group
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/group?groupId={groupId}`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 { "expand": "<string>", "groupId": "<string>", "name": "<string>", "self": "<string>", "users": { "end-index": 48, "items": [ { "accountId": "<string>", "accountType": "<string>", "active": true, "avatarUrls": {}, "displayName": "<string>", "emailAddress": "<string>", "key": "<string>", "name": "<string>", "self": "<string>", "timeZone": "<string>" } ], "max-results": 56, "size": 32, "start-index": 49 } }
POST

Create group

Creates a group.

Permissions required: Site administration (that is, member of the site-admin group).

Data Security Policy: Exempt from app access rules
Scopes

Connect apps cannot access this REST resource.

ClassicRECOMMENDED:manage:jira-configuration
Granular:read:group:jira, read:user:jira, write:group:jira, read:avatar:jira

Request

Request bodyapplication/json

The name of the group.

name

string

Required
Additional Properties

any

Responses

Returned if the request is successful.

application/json

Group
POST/rest/api/2/group
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "name": "power-users" }`; const response = await api.asUser().requestJira(route`/rest/api/2/group`, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
201Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 { "expand": "users", "groupId": "276f955c-63d7-42c8-9520-92d01dca0625", "name": "power-users", "self": "https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625", "users": { "end-index": 0, "items": [ { "accountId": "5b10a2844c20165700ede21g", "active": false, "displayName": "Mia Krystof", "self": "https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g" } ], "max-results": 50, "size": 1, "start-index": 0 } }
DEL

Remove group

Deletes a group.

Permissions required: Site administration (that is, member of the site-admin strategic group).

Data Security Policy: Exempt from app access rules
Scopes

Connect apps cannot access this REST resource.

ClassicRECOMMENDED:manage:jira-configuration
Granular:delete:group:jira

Request

Query parameters

groupname

string

groupId

string

swapGroup

string

swapGroupId

string

Responses

Returned if the request is successful.

DEL/rest/api/2/group
1 2 3 4 5 6 7 8 9 10 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/group?groupId={groupId}`, { method: 'DELETE' }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.text());
GET

Bulk get groupsExperimental

Returns a paginated list of groups.

Permissions required: Browse users and groups global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredREAD

ClassicRECOMMENDED:read:jira-user
Granular:read:group:jira

Request

Query parameters

startAt

integer

maxResults

integer

groupId

array<string>

groupName

array<string>

accessType

string

applicationKey

string

Responses

Returned if the request is successful.

application/json

PageBeanGroupDetails

A page of items.

GET/rest/api/2/group/bulk
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/group/bulk?groupId={groupId}`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 { "isLast": true, "maxResults": 10, "startAt": 0, "total": 2, "values": [ { "groupId": "276f955c-63d7-42c8-9520-92d01dca0625", "name": "jdog-developers" }, { "groupId": "6e87dc72-4f1f-421f-9382-2fee8b652487", "name": "juvenal-bot" } ] }
GET

Get users from group

Returns a paginated list of all users in a group.

Note that users are ordered by username, however the username is not returned in the results due to privacy reasons.

Permissions required: either of:

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:read:group:jira, read:user:jira, read:avatar:jira

Request

Query parameters

groupname

string

groupId

string

includeInactiveUsers

boolean

startAt

integer

maxResults

integer

Responses

Returned if the request is successful.

application/json

PageBeanUserDetails

A page of items.

GET/rest/api/2/group/member
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/group/member?groupId={groupId}`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 { "isLast": false, "maxResults": 2, "nextPage": "https://your-domain.atlassian.net/rest/api/2/group/member?groupId=276f955c-63d7-42c8-9520-92d01dca0625&includeInactiveUsers=false&startAt=4&maxResults=2", "self": "https://your-domain.atlassian.net/rest/api/2/group/member?groupId=276f955c-63d7-42c8-9520-92d01dca0625&includeInactiveUsers=false&startAt=2&maxResults=2", "startAt": 3, "total": 5, "values": [ { "accountId": "5b10a2844c20165700ede21g", "accountType": "atlassian", "active": true, "avatarUrls": {}, "displayName": "Mia", "emailAddress": "mia@example.com", "key": "", "name": "", "self": "https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g", "timeZone": "Australia/Sydney" }, { "accountId": "5b10a0effa615349cb016cd8", "accountType": "atlassian", "active": false, "avatarUrls": {}, "displayName": "Will", "emailAddress": "will@example.com", "key": "", "name": "", "self": "https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a0effa615349cb016cd8", "timeZone": "Australia/Sydney" } ] }
POST

Add user to group

Adds a user to a group.

Permissions required: Site administration (that is, member of the site-admin group).

Data Security Policy: Exempt from app access rules
Scopes

Connect apps cannot access this REST resource.

ClassicRECOMMENDED:manage:jira-configuration
Granular:write:group:jira, read:avatar:jira, read:group:jira, read:user:jira

Request

Query parameters

groupname

string

groupId

string

Request bodyapplication/json

The user to add to the group.

accountId

string

name

string

Additional Properties

any

Responses

Returned if the request is successful.

application/json

Group
POST/rest/api/2/group/user
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "accountId": "5b10ac8d82e05b22cc7d4ef5" }`; const response = await api.asUser().requestJira(route`/rest/api/2/group/user?groupId={groupId}`, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
201Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 { "expand": "<string>", "groupId": "<string>", "name": "<string>", "self": "<string>", "users": { "end-index": 48, "items": [ { "accountId": "<string>", "accountType": "<string>", "active": true, "avatarUrls": {}, "displayName": "<string>", "emailAddress": "<string>", "key": "<string>", "name": "<string>", "self": "<string>", "timeZone": "<string>" } ], "max-results": 56, "size": 32, "start-index": 49 } }
DEL

Remove user from group

Removes a user from a group.

Permissions required: Site administration (that is, member of the site-admin group).

Data Security Policy: Exempt from app access rules
Scopes

Connect apps cannot access this REST resource.

ClassicRECOMMENDED:manage:jira-configuration
Granular:write:group:jira

Request

Query parameters

groupname

string

groupId

string

username

string

accountId

string

Required

Responses

Returned if the request is successful.

DEL/rest/api/2/group/user
1 2 3 4 5 6 7 8 9 10 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/group/user?groupId={groupId}&accountId=5b10ac8d82e05b22cc7d4ef5`, { method: 'DELETE' }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.text());
GET

Find groups

Returns a list of groups whose names contain a query string. A list of group names can be provided to exclude groups from the results.

The primary use case for this resource is to populate a group picker suggestions list. To this end, the returned object includes the html field where the matched query term is highlighted in the group name with the HTML strong tag. Also, the groups list is wrapped in a response object that contains a header for use in the picker, specifically Showing X of Y matching groups.

The list returns with the groups sorted. If no groups match the list criteria, an empty list is returned.

This operation can be accessed anonymously.

Permissions required: Browse projects project permission. Anonymous calls and calls by users without the required permission return an empty list.

Browse users and groups global permission. Without this permission, calls where query is not an exact match to an existing group will return an empty list.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredREAD

ClassicRECOMMENDED:read:jira-user
Granular:read:group:jira

Request

Query parameters

accountId

string

query

string

exclude

array<string>

excludeId

array<string>

maxResults

integer

caseInsensitive

boolean

userName

string

Responses

Returned if the request is successful.

application/json

FoundGroups

The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched groups.

GET/rest/api/2/groups/picker
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/groups/picker`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 { "groups": [ { "groupId": "276f955c-63d7-42c8-9520-92d01dca0625", "html": "<b>j</b>dog-developers", "name": "jdog-developers" }, { "groupId": "6e87dc72-4f1f-421f-9382-2fee8b652487", "html": "<b>j</b>uvenal-bot", "name": "juvenal-bot" } ], "header": "Showing 20 of 25 matching groups", "total": 25 }

Rate this page: