openapi: 3.1.0
info:
title: Atlassian Admin Account Groups API
description: The Atlassian Admin API provides programmatic access to manage Atlassian organizations, users, domains, policies, and events. It enables administrators to automate organization management tasks, integrate with identity providers, and ensure appropriate access to Atlassian products.
version: 1.0.0
contact:
name: Atlassian Developer
url: https://developer.atlassian.com/cloud/admin/
license:
name: Atlassian Developer Terms
url: https://developer.atlassian.com/platform/marketplace/atlassian-developer-terms/
x-logo:
url: https://wac-cdn.atlassian.com/assets/img/favicons/atlassian/favicon.png
servers:
- url: https://api.atlassian.com
description: Atlassian Cloud API
security:
- bearerAuth: []
- oauth2: []
tags:
- name: Groups
description: Manage groups within an organization.
paths:
/v1/orgs/{orgId}/groups:
get:
operationId: getOrganizationGroups
summary: Atlassian Get Organization Groups
description: Returns a list of groups within the organization. Groups are used to organize users and assign collective permissions.
tags:
- Groups
parameters:
- $ref: '#/components/parameters/orgId'
- name: cursor
in: query
description: Cursor for paginated results.
required: false
schema:
type: string
responses:
'200':
description: Successful response containing a paginated list of groups.
content:
application/json:
schema:
$ref: '#/components/schemas/GroupPage'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Organization not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/repositories/{workspace}/{repo_slug}/permissions-config/groups:
parameters:
- name: repo_slug
in: path
description: 'This can either be the repository slug or the UUID of the repository,
surrounded by curly-braces, for example: `{repository UUID}`.
'
required: true
schema:
type: string
- name: workspace
in: path
description: 'This can either be the workspace ID (slug) or the workspace UUID
surrounded by curly-braces, for example: `{workspace UUID}`.
'
required: true
schema:
type: string
get:
tags:
- Groups
description: This API operation retrieves a paginated list of all explicit group permissions that have been configured for a specific Bitbucket repository within a workspace. It returns permission configurations that directly grant access to groups at the repository level, as opposed to inherited or default permissions. The endpoint requires both the workspace identifier and repository slug to be specified in the URL path, and it returns details about which groups have been explicitly granted permissions to access or interact with the repository, along with the specific permission levels assigned to each group.
summary: Atlassian List Explicit Group Permissions for Repository
responses:
'200':
description: Paginated of explicit group permissions on the repository.
content:
application/json:
schema:
$ref: '#/components/schemas/paginated_repository_group_permissions'
examples:
paginated-repository-group-permissions:
$ref: '#/components/examples/paginated-repository-group-permissions'
'401':
description: The user couldn't be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: The requesting user isn't an admin of the repository.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: One or both of the workspace and repository doesn't exist for the given identifiers.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
security:
- oauth2:
- repository:admin
- basic: []
- api_key: []
x-atlassian-oauth2-scopes:
- state: Current
scheme: oauth2
scopes:
- read:repository:bitbucket
- read:user:bitbucket
operationId: listExplicitGroupPermissionsForRepository
x-api-evangelist-processing:
WriteDescription: true
ChooseTags: true
GenerateExampleFromOperationResponseSchema: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/repositories/{workspace}/{repo_slug}/permissions-config/groups/{group_slug}:
parameters:
- name: group_slug
in: path
description: Slug of the requested group.
required: true
schema:
type: string
- name: repo_slug
in: path
description: 'This can either be the repository slug or the UUID of the repository,
surrounded by curly-braces, for example: `{repository UUID}`.
'
required: true
schema:
type: string
- name: workspace
in: path
description: 'This can either be the workspace ID (slug) or the workspace UUID
surrounded by curly-braces, for example: `{workspace UUID}`.
'
required: true
schema:
type: string
delete:
tags:
- Groups
description: This API operation removes an explicitly granted permission for a specific group from a Bitbucket repository. It targets a particular group identified by its slug within a repository (specified by workspace and repository slug) and deletes the permission configuration that was directly assigned to that group. This endpoint is useful when you need to revoke repository access rights that were previously granted to a team or group, requiring authentication and appropriate administrative privileges. The operation uses the DELETE HTTP method and returns a success status when the group permission is successfully removed from the repository's access control list.
summary: Atlassian Delete an Explicit Group Permission for Repository
responses:
'204':
description: Group permission deleted
'401':
description: The user couldn't be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: The requesting user isn't an admin of the repository, or the authentication method was not via app password.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: The workspace does not exist, the repository does not exist, or the group does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
security:
- oauth2:
- repository:admin
- basic: []
- api_key: []
operationId: deleteAnExplicitGroupPermissionForRepository
x-api-evangelist-processing:
WriteDescription: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
get:
tags:
- Groups
description: This API operation retrieves explicit permission settings assigned to a specific group for a given repository in Bitbucket. By providing the workspace identifier, repository slug, and group slug as path parameters, it returns detailed information about the permission level that has been directly granted to that group for accessing and managing the specified repository. This is useful for administrators who need to audit or verify group-level access controls, as it shows only explicitly configured permissions rather than inherited or default permissions. The response typically includes the group's identifier, the permission level (such as read, write, or admin), and potentially additional metadata about when and how the permission was assigned.
summary: Atlassian Get an Explicit Group Permission for Repository
responses:
'200':
description: Group permission for group slug and repository
content:
application/json:
schema:
$ref: '#/components/schemas/repository_group_permission'
examples:
repository-group-permission:
$ref: '#/components/examples/repository-group-permission'
'401':
description: The user couldn't be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: The requesting user isn't an admin of the repository.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: The given user, workspace, and/or repository could not be found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
security:
- oauth2:
- repository:admin
- basic: []
- api_key: []
x-atlassian-oauth2-scopes:
- state: Current
scheme: oauth2
scopes:
- read:repository:bitbucket
- read:user:bitbucket
operationId: getAnExplicitGroupPermissionForRepository
x-api-evangelist-processing:
WriteDescription: true
ChooseTags: true
GenerateExampleFromOperationResponseSchema: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
tags:
- Groups
description: This API operation updates the explicit permission level for a specific group on a Bitbucket repository within a workspace. By sending a PUT request to the endpoint with the workspace identifier, repository slug, and group slug, administrators can modify the access rights granted to that group for the specified repository. The operation allows you to change permission levels such as read, write, or admin access for the group, providing fine-grained control over repository access management. This is particularly useful for managing team permissions and ensuring that user groups have appropriate access levels based on their roles and responsibilities within the organization.
summary: Atlassian Update an Explicit Group Permission for Repository
responses:
'200':
description: Group permission updated
content:
application/json:
schema:
$ref: '#/components/schemas/repository_group_permission'
examples:
repository-group-permission_2:
$ref: '#/components/examples/repository-group-permission_2'
'400':
description: No permission value was provided or the value is invalid(not one of read, write, or admin)
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: The user couldn't be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'402':
description: You have reached your plan's user limit and must upgrade before giving access to additional users.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: The requesting user isn't an admin of the repository, or the authentication method was not via app password.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: The workspace does not exist, the repository does not exist, or the group does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
requestBody:
$ref: '#/components/requestBodies/BitbucketAppsPermissionsSerializersRepoPermissionUpdateSchema'
security:
- oauth2:
- repository:admin
- basic: []
- api_key: []
operationId: updateAnExplicitGroupPermissionForRepository
x-api-evangelist-processing:
WriteDescription: true
ChooseTags: true
GenerateExampleFromOperationResponseSchema: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workspaces/{workspace}/projects/{project_key}/permissions-config/groups:
parameters:
- name: project_key
in: path
description: 'The project in question. This is the actual key assigned to the project.
'
required: true
schema:
type: string
- name: workspace
in: path
description: 'This can either be the workspace ID (slug) or the workspace UUID
surrounded by curly-braces, for example: `{workspace UUID}`.
'
required: true
schema:
type: string
get:
tags:
- Groups
description: This API endpoint retrieves a paginated list of explicit group permissions that have been directly granted to groups for a specific project within a Bitbucket workspace. By making a GET request to this endpoint with the workspace identifier and project key as path parameters, you can view all groups that have been explicitly assigned permissions to the project, along with their corresponding permission levels. This is useful for auditing access control, understanding who has what level of access to a project, and managing team permissions. The response excludes inherited permissions and only shows permissions that have been directly configured at the project level for groups, making it easier to track and manage explicit access grants without the noise of inherited permissions from workspace-level settings.
summary: Atlassian List Explicit Group Permissions for a Project
responses:
'200':
description: Paginated list of project group permissions
content:
application/json:
schema:
$ref: '#/components/schemas/paginated_project_group_permissions'
examples:
paginated-project-group-permissions:
$ref: '#/components/examples/paginated-project-group-permissions'
'401':
description: The user couldn't be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: The user doesn't have admin access to the project.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: One or both of the workspace and project don't exist for the given identifiers or the requesting user is not authenticated
content:
application/json:
schema:
$ref: '#/components/schemas/error'
security:
- oauth2:
- project:admin
- basic: []
- api_key: []
x-atlassian-oauth2-scopes:
- state: Current
scheme: oauth2
scopes:
- read:project:bitbucket
- read:user:bitbucket
operationId: atlassianListExplicitGroupPermissionsForAProject
x-api-evangelist-processing:
WriteDescription: true
ChooseTags: true
GenerateExampleFromOperationResponseSchema: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workspaces/{workspace}/projects/{project_key}/permissions-config/groups/{group_slug}:
parameters:
- name: group_slug
in: path
description: Slug of the requested group.
required: true
schema:
type: string
- name: project_key
in: path
description: 'The project in question. This is the actual key assigned to the project.
'
required: true
schema:
type: string
- name: workspace
in: path
description: 'This can either be the workspace ID (slug) or the workspace UUID
surrounded by curly-braces, for example: `{workspace UUID}`.
'
required: true
schema:
type: string
delete:
tags:
- Groups
description: This API operation removes an explicitly granted group permission from a specific project within a Bitbucket workspace by sending a DELETE request to the designated endpoint, which requires the workspace identifier, project key, and group slug as path parameters to target the exact permission configuration that needs to be revoked, effectively revoking that group's direct access rights to the project while potentially leaving inherited or other permission types intact, allowing workspace administrators to maintain granular control over project-level access by selectively removing group permissions without affecting individual user permissions or other security settings associated with the project.
summary: Atlassian Delete an Explicit Group Permission for a Project
responses:
'204':
description: The project group permission was deleted and no content returned.
'401':
description: The user couldn't be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: The requesting user isn't an admin of the project, or the authentication method was not via app password.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: One or more of the workspace, project, and group doesn't exist for the given identifiers or the requesting user is not authenticated
content:
application/json:
schema:
$ref: '#/components/schemas/error'
security:
- oauth2:
- project:admin
- basic: []
- api_key: []
operationId: atlassianDeleteAnExplicitGroupPermissionForAProject
x-api-evangelist-processing:
WriteDescription: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
get:
tags:
- Groups
description: This API operation retrieves the explicit permission settings assigned to a specific group for a particular project within a Bitbucket workspace. By providing the workspace identifier, project key, and group slug as path parameters, the endpoint returns detailed information about what access level and permissions have been directly granted to that group for the specified project. This is useful for auditing group-level permissions, understanding access control configurations, and managing team-based security policies within Bitbucket projects, as it shows only the permissions explicitly set for the group rather than inherited or default permissions.
summary: Atlassian Get an Explicit Group Permission for a Project
responses:
'200':
description: Project group permission
content:
application/json:
schema:
$ref: '#/components/schemas/project_group_permission'
examples:
project-group-permission:
$ref: '#/components/examples/project-group-permission'
'401':
description: The user couldn't be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: The user doesn't have admin access to the project.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: One or more of the workspace, project, and group doesn't exist for the given identifiers or the requesting user is not authenticated
content:
application/json:
schema:
$ref: '#/components/schemas/error'
security:
- oauth2:
- project:admin
- basic: []
- api_key: []
x-atlassian-oauth2-scopes:
- state: Current
scheme: oauth2
scopes:
- read:project:bitbucket
- read:user:bitbucket
operationId: atlassianGetAnExplicitGroupPermissionForAProject
x-api-evangelist-processing:
WriteDescription: true
ChooseTags: true
GenerateExampleFromOperationResponseSchema: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
tags:
- Groups
description: This API operation updates the explicit permissions assigned to a specific group within a Bitbucket project. By making a PUT request to the endpoint with the workspace identifier, project key, and group slug, administrators can modify the access level granted to that group for the specified project. This allows for fine-grained control over project permissions by adjusting what actions members of a particular group can perform, such as read, write, or admin privileges. The operation requires proper authentication and administrative rights within the workspace, and it directly modifies the existing permission configuration rather than creating a new one, making it useful for maintaining and adjusting team access controls as project requirements evolve.
summary: Atlassian Update an Explicit Group Permission for a Project
responses:
'200':
description: Project group permission updated.
content:
application/json:
schema:
$ref: '#/components/schemas/project_group_permission'
examples:
project-group-permission_2:
$ref: '#/components/examples/project-group-permission_2'
'400':
description: No permission value was provided or the value is invalid(not one of read, write, create-repo, or admin).
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: The user couldn't be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'402':
description: You have reached your plan's user limit and must upgrade before giving access to additional users.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: The requesting user isn't an admin of the project, or the authentication method was not via app password.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: One or more of the workspace, project, and group doesn't exist for the given identifiers or the requesting user is not authenticated
content:
application/json:
schema:
$ref: '#/components/schemas/error'
requestBody:
$ref: '#/components/requestBodies/bitbucket.apps.permissions.serializers.ProjectPermissionUpdateSchema'
security:
- oauth2:
- project:admin
- basic: []
- api_key: []
operationId: atlassianUpdateAnExplicitGroupPermissionForAProject
x-api-evangelist-processing:
WriteDescription: true
ChooseTags: true
GenerateExampleFromOperationResponseSchema: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/group/{groupName}:
get:
tags:
- Groups
summary: Atlassian Get Content Restriction Status for Group
deprecated: true
description: 'The Atlassian Confluence Content API endpoint `/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/group/{groupName}` using the GET method retrieves the restriction status for a specific group on a particular piece of content. This operation allows administrators and authorized users to check whether a designated group has restrictions applied for a specific operation (such as read or update) on content identified by its unique ID. The endpoint requires three path parameters: the content ID, the operation key that defines the type of action being restricted, and the group name for which to check restrictions. The response returns details about whether the specified group is restricted from performing the given operation on the content, helping manage fine-grained access control within Confluence spaces and pages.'
operationId: getContentRestrictionStatusForGroup
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- name: groupName
in: path
description: 'The name of the group to be queried for whether the content restriction
applies to it.'
required: true
schema:
type: string
responses:
'200':
description: 'Returns true if the content restriction applies to the group. The response
will not return a response body.'
content: {}
'400':
description: 'Returned if;
- Group name is missing'
content: {}
'404':
description: 'Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- An invalid operation or group is specified.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
WriteDescription: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
tags:
- Groups
summary: Atlassian Add Group to Content Restriction
deprecated: true
description: 'The PUT operation on the Atlassian Confluence Content API endpoint `/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/group/{groupName}` adds a specified group to an existing content restriction for a particular operation type. This allows administrators to grant a group access to perform specific operations (such as read, update, or delete) on restricted Confluence content by including the group in the restriction''s allowed list. The endpoint requires three path parameters: the content ID identifying the specific page or blog post, the operation key specifying the type of operation being restricted (like ''read'' or ''update''), and the group name identifying which user group should be granted access. This operation is essential for managing collaborative permissions and implementing fine-grained access control within Confluence spaces, enabling teams to secure sensitive content while selectively allowing specific groups to interact with it based on their operational needs.'
operationId: addGroupToContentRestriction
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- name: groupName
in: path
description: The name of the group to add to the content restriction.
required: true
schema:
type: string
responses:
'200':
description: 'Returned if the group is added to the content restriction. The response
body will be empty.'
content: {}
'404':
description: 'Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- An invalid operation or group is specified.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
WriteDescription: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
tags:
- Groups
summary: Atlassian Remove Group From Content Restriction
deprecated: true
description: This API operation removes a specific group from content restrictions for a given operation on a Confluence page or blog post. By sending a DELETE request to this endpoint with the content ID, operation key (such as 'read' or 'update'), and group name, administrators can revoke the specified group's access permissions for that particular operation on the content. This is useful for managing granular access control when you need to remove a group's ability to perform specific actions on restricted content without affecting other groups or individual user restrictions that may be in place.
operationId: removeGroupFromContentRestriction
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- name: groupName
in: path
description: The name of the group to remove from the content restriction.
required: true
schema:
type: string
responses:
'200':
description: 'Returned if the group is removed from the content restriction. The response
body will be empty.'
content: {}
'404':
description: 'Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- The restriction to be deleted does not exist.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
WriteDescription: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/byGroupId/{groupId}:
get:
tags:
- Groups
summary: Atlassian Get Content Restriction Status for Group
description: 'This API endpoint retrieves the restriction status for a specific group on a piece of Confluence content. It requires three path parameters: the content ID, an operation key (typically ''read'' or ''update''), and a group ID. When called, it returns information about whether the specified group has restrictions applied for the given operation on that content, helping administrators and developers understand access control configurations. This is useful for auditing permissions, validating security policies, or building custom permission management interfaces that need to check if a particular group''s access to content is restricted for specific operations.'
operationId: getContentRestrictionStatusForGroup
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- name: groupId
in: path
description: 'The id of the group to be queried for whether the content restriction
applies to it.'
required: true
schema:
type: string
responses:
'200':
description: 'Returns true if the content restriction applies to the group. The response
will not return a response body.'
content: {}
'403':
description: 'Returned if the calling user does not have permission to view the
content.'
content: {}
'404':
description: 'Returned if
- There is no content with the given ID.
- An invalid operation or group is specified.
- Given groupId is blank or has invalid characters'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
WriteDescription: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
tags:
- Groups
summary: Atlassian Add Group to Content Restriction
description: 'This PUT operation adds a specified group to content restrictions for a particular operation on a Confluence page or blog post. The endpoint requires three path parameters: the content ID, an operation key (such as ''read'' or ''update''), and the group ID to be added to the restriction. When executed, it grants the specified group permission to perform the designated operation on the content, effectively managing fine-grained access control at the group level. This is useful for administrators who need to programmatically control which groups can view, edit, or otherwise interact with specific Confluence content while maintaining existing restrictions for other operations or groups.'
operationId: addGroupToContentRestriction
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- name: groupId
in: path
description: The groupId of the group to add to the content restriction.
required: true
schema:
type: string
responses:
'200':
description: 'Returned if the group is added to the content restriction by Group Id. The response
body will be empty.'
content: {}
'400':
description: 'Returned if;
- Group Id is not valid'
content: {}
'403':
description: 'Returned if the calling user does not have permission to update the
content.'
content: {}
'404':
description: 'Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- An invalid operation or group id is specified.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
WriteDescription: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
tags:
- Groups
summary: Atlassian Remove Group From Content Restriction
description: 'This API operation removes a specific group from content restrictions in Atlassian Confluence by deleting the association between a group and an operation-based restriction on a particular piece of content. It requires three path parameters: the content ID identifying the restricted content, the operationKey specifying the type of operation (such as read or update), and the groupId representing the group to be removed from the restriction. When executed successfully, this DELETE request revokes the specified group''s access permissions for the given operation on the content, effectively removing that group from the restriction list without affecting other groups or users who may still have restrictions or permissions on the same content.'
operationId: removeGroupFromContentRestriction
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- name: groupId
in: path
description: The id of the group to remove from the content restriction.
required: true
schema:
type: string
responses:
'200':
description: 'Returned if the group is removed from the content restriction. The response
body will be empty.'
content: {}
'400':
description: Returned if given group id is blank
content: {}
'403':
description: Returned if the calling user does not have permission to view the content.
content: {}
'404':
description: 'Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- The restriction to be deleted does not exist.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
WriteDescription: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/rest/api/3/group/bulk:
get:
deprecated: false
description: Returns a [paginated](#pagination) list of groups.
**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianBulkgetgroups
parameters:
- description: The index of the first item to return in a page of results (page offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 50
format: int32
type: integer
- description: The ID of a group. To specify multiple IDs, pass multiple `groupId` parameters. For example, `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`.
in: query
name: groupId
schema:
example: 3571b9a7-348f-414a-9087-8e1ea03a7df8
items:
default: ''
example: 3571b9a7-348f-414a-9087-8e1ea03a7df8
type: string
type: array
uniqueItems: true
x-showInExample: 'true'
- description: The name of a group. To specify multiple names, pass multiple `groupName` parameters. For example, `groupName=administrators&groupName=jira-software-users`.
in: query
name: groupName
schema:
items:
default: ''
type: string
type: array
uniqueItems: true
- description: 'The access level of a group. Valid values: ''site-admin'', ''admin'', ''user''.'
in: query
name: accessType
schema:
type: string
- description: 'The application key of the product user groups to search for. Valid values: ''jira-servicedesk'', ''jira-software'', ''jira-product-discovery'', ''jira-core''.'
in: query
name: applicationKey
schema:
type: string
responses:
'200':
content:
application/json:
example: '{"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"}]}'
schema:
$ref: '#/components/schemas/PageBeanGroupDetails'
description: Returned if the request is successful.
'400':
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: '{"errorMessages":["Browse users and groups permission is required to view groups."],"errors":{}}'
description: Returned if the user does not have the necessary permission.
'500':
content:
application/json:
example: '{"errorMessages":["Couldn''t retrieve groups with the site-admin accessType."],"errors":{}}'
description: Returned if the group with the given access level can't be retrieved.
security:
- basicAuth: []
- OAuth2:
- read:jira-user
summary: Atlassian Bulk Get Groups
tags:
- Groups
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-user
state: Current
- scheme: OAuth2
scopes:
- read:group:jira
state: Beta
x-experimental: true
x-atlassian-connect-scope: READ
/rest/api/3/group/member:
get:
deprecated: false
description: Returns a [paginated](#pagination) 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](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetusersfromgroup
parameters:
- description: "As a group's name can change, use of `groupId` is recommended to identify a group. \nThe name of the group. This parameter cannot be used with the `groupId` parameter."
in: query
name: groupname
schema:
type: string
- description: The ID of the group. This parameter cannot be used with the `groupName` parameter.
in: query
name: groupId
schema:
type: string
x-showInExample: 'true'
- description: Include inactive users.
in: query
name: includeInactiveUsers
schema:
default: false
type: boolean
- description: The index of the first item to return in a page of results (page offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 50
format: int32
type: integer
responses:
'200':
content:
application/json:
example: '{"isLast":false,"maxResults":2,"nextPage":"https://your-domain.atlassian.net/rest/api/3/group/member?groupId=276f955c-63d7-42c8-9520-92d01dca0625&includeInactiveUsers=false&startAt=4&maxResults=2","self":"https://your-domain.atlassian.net/rest/api/3/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/3/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/3/user?accountId=5b10a0effa615349cb016cd8","timeZone":"Australia/Sydney"}]}'
schema:
$ref: '#/components/schemas/PageBeanUserDetails'
description: Returned if the request is successful.
'400':
description: Returned if the group name is not specified.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: Returned if the calling user does not have the Administer Jira global permission.
'404':
description: Returned if the group is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Get Users From Group
tags:
- Groups
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:group:jira
- read:user:jira
- read:avatar:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/group/user:
delete:
deprecated: false
description: Removes a user from a group.
**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).
operationId: atlassianRemoveuserfromgroup
parameters:
- description: "As a group's name can change, use of `groupId` is recommended to identify a group. \nThe name of the group. This parameter cannot be used with the `groupId` parameter."
in: query
name: groupname
schema:
type: string
- description: The ID of the group. This parameter cannot be used with the `groupName` parameter.
in: query
name: groupId
schema:
type: string
x-showInExample: 'true'
- description: This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
in: query
name: username
schema:
type: string
- description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
in: query
name: accountId
required: true
schema:
example: 5b10ac8d82e05b22cc7d4ef5
maxLength: 128
type: string
x-showInExample: 'true'
responses:
'200':
description: Returned if the request is successful.
'400':
description: "Returned if:\n\n * `groupName` is missing.\n * `accountId` is missing."
'401':
description: Returned if the authentication credentials are incorrect or missing from the request.
'403':
description: Returned if the user does not have the necessary permission.
'404':
description: Returned if the group or user are not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Remove User From Group
tags:
- Groups
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:group:jira
state: Beta
x-atlassian-connect-scope: INACCESSIBLE
post:
deprecated: false
description: Adds a user to a group.
**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).
operationId: atlassianAddusertogroup
parameters:
- description: "As a group's name can change, use of `groupId` is recommended to identify a group. \nThe name of the group. This parameter cannot be used with the `groupId` parameter."
in: query
name: groupname
schema:
type: string
- description: The ID of the group. This parameter cannot be used with the `groupName` parameter.
in: query
name: groupId
schema:
type: string
x-showInExample: 'true'
requestBody:
content:
application/json:
example:
accountId: 5b10ac8d82e05b22cc7d4ef5
schema:
$ref: '#/components/schemas/UpdateUserToGroupBean'
description: The user to add to the group.
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
description: Returned if the request is successful.
'400':
description: "Returned if:\n\n * `groupname` is not provided.\n * `accountId` is missing."
'401':
description: Returned if the authentication credentials are incorrect or missing from the request.
'403':
description: Returned if the calling user does not have the necessary permission.
'404':
description: Returned if the group or user are not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Add User To Group
tags:
- Groups
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:group:jira
- read:avatar:jira
- read:group:jira
- read:user:jira
state: Beta
x-atlassian-connect-scope: INACCESSIBLE
/rest/api/3/groups/picker:
get:
deprecated: false
description: 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](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg). Anonymous calls and calls by users without the required permission return an empty list.
*Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Without this permission, calls where query is not an exact match to an existing group will return an empty list.
operationId: atlassianFindgroups
parameters:
- description: This parameter is deprecated, setting it does not affect the results. To find groups containing a particular user, use [Get user groups](#api-rest-api-3-user-groups-get).
in: query
name: accountId
schema:
type: string
- description: The string to find in group names.
in: query
name: query
schema:
example: query
type: string
- description: "As a group's name can change, use of `excludeGroupIds` is recommended to identify a group. \nA group to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, `exclude=group1&exclude=group2`. This parameter cannot be used with the `excludeGroupIds` parameter."
in: query
name: exclude
schema:
items:
type: string
type: array
- description: A group ID to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, `excludeId=group1-id&excludeId=group2-id`. This parameter cannot be used with the `excludeGroups` parameter.
in: query
name: excludeId
schema:
items:
type: string
type: array
- description: The maximum number of groups to return. The maximum number of groups that can be returned is limited by the system property `jira.ajax.autocomplete.limit`.
in: query
name: maxResults
schema:
format: int32
type: integer
- description: Whether the search for groups should be case insensitive.
in: query
name: caseInsensitive
schema:
default: false
type: boolean
- description: This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
in: query
name: userName
schema:
type: string
responses:
'200':
content:
application/json:
example: '{"groups":[{"groupId":"276f955c-63d7-42c8-9520-92d01dca0625","html":"jdog-developers","name":"jdog-developers"},{"groupId":"6e87dc72-4f1f-421f-9382-2fee8b652487","html":"juvenal-bot","name":"juvenal-bot"}],"header":"Showing 20 of 25 matching groups","total":25}'
schema:
$ref: '#/components/schemas/FoundGroups'
description: Returned if the request is successful.
security:
- basicAuth: []
- OAuth2:
- read:jira-user
- {}
summary: Atlassian Find Groups
tags:
- Groups
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-user
state: Current
- scheme: OAuth2
scopes:
- read:group:jira
state: Beta
x-atlassian-connect-scope: READ
/rest/api/3/group:
delete:
deprecated: false
description: Deletes a group.
**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* strategic [group](https://confluence.atlassian.com/x/24xjL)).
operationId: atlassianRemovegroup
parameters:
- in: query
name: groupname
schema:
type: string
- description: The ID of the group. This parameter cannot be used with the `groupname` parameter.
in: query
name: groupId
schema:
type: string
x-showInExample: 'true'
- description: "As a group's name can change, use of `swapGroupId` is recommended to identify a group. \nThe group to transfer restrictions to. Only comments and worklogs are transferred. If restrictions are not transferred, comments and worklogs are inaccessible after the deletion. This parameter cannot be used with the `swapGroupId` parameter."
in: query
name: swapGroup
schema:
type: string
- description: The ID of the group to transfer restrictions to. Only comments and worklogs are transferred. If restrictions are not transferred, comments and worklogs are inaccessible after the deletion. This parameter cannot be used with the `swapGroup` parameter.
in: query
name: swapGroupId
schema:
type: string
responses:
'200':
description: Returned if the request is successful.
'400':
description: Returned if the group name is not specified.
'401':
description: Returned if the authentication credentials are incorrect or missing from the request.
'403':
description: Returned if the user does not have the necessary permission.
'404':
description: Returned if the group is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Remove Group
tags:
- Groups
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- delete:group:jira
state: Beta
x-atlassian-connect-scope: INACCESSIBLE
get:
deprecated: true
description: This operation is deprecated, use [`group/member`](#api-rest-api-3-group-member-get).
Returns all users in a group.
**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetgroup
parameters:
- description: "As a group's name can change, use of `groupId` is recommended to identify a group. \nThe name of the group. This parameter cannot be used with the `groupId` parameter."
in: query
name: groupname
schema:
type: string
- description: The ID of the group. This parameter cannot be used with the `groupName` parameter.
in: query
name: groupId
schema:
type: string
x-showInExample: 'true'
- description: List of fields to expand.
in: query
name: expand
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Group_2'
description: Returned if the request is successful.
'400':
description: Returned if the group name is not specified.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: Returned if the calling user does not have the Administer Jira global permission.
'404':
description: Returned if the group is not found.
security:
- basicAuth: []
- OAuth2:
- read:jira-user
summary: Atlassian Get Group
tags:
- Groups
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-user
state: Current
- scheme: OAuth2
scopes:
- read:group:jira
- read:user:jira
- read:avatar:jira
state: Beta
x-atlassian-connect-scope: ADMIN
post:
deprecated: false
description: Creates a group.
**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).
operationId: atlassianCreategroup
parameters: []
requestBody:
content:
application/json:
example:
name: power-users
schema:
$ref: '#/components/schemas/AddGroupBean'
description: The name of the group.
required: true
responses:
'201':
content:
application/json:
example: '{"expand":"users","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","name":"power-users","self":"https://your-domain.atlassian.net/rest/api/3/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/3/user?accountId=5b10a2844c20165700ede21g"}],"max-results":50,"size":1,"start-index":0}}'
schema:
$ref: '#/components/schemas/Group_2'
description: Returned if the request is successful.
'400':
description: Returned if group name is not specified or the group name is in use.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: Returned if the user does not have the necessary permission.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Create Group
tags:
- Groups
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:group:jira
- read:user:jira
- write:group:jira
- read:avatar:jira
state: Beta
x-atlassian-connect-scope: INACCESSIBLE
components:
schemas:
paginated_repository_group_permissions:
type: object
title: Paginated Repository Group Permissions
description: A paginated list of repository group permissions.
properties:
size:
type: integer
description: Total number of objects in the response. This is an optional element that is not provided in all responses, as it can be expensive to compute.
minimum: 0
example: 10
page:
type: integer
description: Page number of the current results. This is an optional element that is not provided in all responses.
minimum: 1
example: 10
pagelen:
type: integer
description: Current number of objects on the existing page. The default value is 10 with 100 being the maximum allowed value. Individual APIs may enforce different values.
minimum: 1
example: 10
next:
type: string
description: Link to the next page if it exists. The last page of a collection does not have this value. Use this link to navigate the result set and refrain from constructing your own URLs.
format: uri
example: https://www.example.com
previous:
type: string
description: Link to previous page if it exists. A collections first page does not have this value. This is an optional element that is not provided in all responses. Some result sets strictly support forward navigation and never provide previous links. Clients must anticipate that backwards navigation is not always available. Use this link to navigate the result set and refrain from constructing your own URLs.
format: uri
example: https://www.example.com
values:
type: array
items:
$ref: '#/components/schemas/repository_group_permission'
minItems: 0
uniqueItems: true
example: []
additionalProperties: false
account:
allOf:
- $ref: '#/components/schemas/object'
- type: object
title: Account
description: An account object.
properties:
links:
$ref: '#/components/schemas/account_links'
created_on:
type: string
format: date-time
display_name:
type: string
username:
type: string
pattern: ^[a-zA-Z0-9_\-]+$
uuid:
type: string
additionalProperties: true
participant:
allOf:
- $ref: '#/components/schemas/object'
- type: object
title: Participant
description: Object describing a user's role on resources like commits or pull requests.
properties:
user:
$ref: '#/components/schemas/account'
role:
type: string
enum:
- PARTICIPANT
- REVIEWER
approved:
type: boolean
state:
type: string
enum:
- approved
- changes_requested
- null
participated_on:
type: string
description: The ISO8601 timestamp of the participant's action. For approvers, this is the time of their approval. For commenters and pull request reviewers who are not approvers, this is the time they last commented, or null if they have not commented.
format: date-time
additionalProperties: true
team_links:
allOf:
- $ref: '#/components/schemas/account_links'
- type: object
title: Team Links
description: Links related to a Team.
properties:
self:
$ref: '#/components/schemas/link'
html:
$ref: '#/components/schemas/link'
members:
$ref: '#/components/schemas/link'
projects:
$ref: '#/components/schemas/link'
repositories:
$ref: '#/components/schemas/link'
additionalProperties: true
project:
allOf:
- $ref: '#/components/schemas/object'
- type: object
title: Project
description: "A Bitbucket project.\n Projects are used by teams to organize repositories."
properties:
links:
type: object
properties:
html:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
avatar:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
additionalProperties: false
uuid:
type: string
description: The project's immutable id.
key:
type: string
description: The project's key.
owner:
$ref: '#/components/schemas/team'
name:
type: string
description: The name of the project.
description:
type: string
is_private:
type: boolean
description: '
Indicates whether the project is publicly accessible, or whether it is
private to the team and consequently only visible to team members.
Note that private projects cannot contain public repositories.'
created_on:
type: string
format: date-time
updated_on:
type: string
format: date-time
has_publicly_visible_repos:
type: boolean
description: '
Indicates whether the project contains publicly visible repositories.
Note that private projects cannot contain public repositories.'
additionalProperties: true
error:
type: object
title: Error
description: Base type for most resource objects. It defines the common `type` element that identifies an object's type. It also identifies the element as Swagger's `discriminator`.
properties:
type:
type: string
example: example_value
error:
type: object
properties:
message:
type: string
detail:
type: string
data:
type: object
description: Optional structured data that is endpoint-specific.
properties: {}
additionalProperties: true
required:
- message
additionalProperties: false
example: example_value
required:
- type
additionalProperties: true
GroupPage:
type: object
description: A paginated list of groups.
properties:
data:
type: array
items:
$ref: '#/components/schemas/Group'
description: The list of groups.
example: []
links:
$ref: '#/components/schemas/PaginationLinks'
ErrorResponse:
type: object
description: Standard error response.
properties:
code:
type: integer
description: The HTTP status code.
example: 10
message:
type: string
description: A human-readable error message.
example: example_value
errors:
type: array
description: Detailed error information.
items:
type: object
properties:
code:
type: string
description: A machine-readable error code.
message:
type: string
description: A human-readable description of the error.
example: []
PagedListUserDetailsApplicationUser:
additionalProperties: false
description: A paged list. To access additional details append `[start-index:end-index]` to the expand request. For example, `?expand=sharedUsers[10:40]` returns a list starting at item 10 and finishing at item 40.
properties:
end-index:
description: The index of the last item returned on the page.
format: int32
readOnly: true
type: integer
xml:
attribute: true
name: end-index
items:
description: The list of items.
items:
$ref: '#/components/schemas/UserDetails'
readOnly: true
type: array
max-results:
description: The maximum number of results that could be on the page.
format: int32
readOnly: true
type: integer
xml:
attribute: true
name: max-results
size:
description: The number of items on the page.
format: int32
readOnly: true
type: integer
xml:
attribute: true
start-index:
description: The index of the first item returned on the page.
format: int32
readOnly: true
type: integer
xml:
attribute: true
name: start-index
type: object
AddGroupBean:
additionalProperties: true
properties:
name:
description: The name of the group.
type: string
required:
- name
type: object
group:
allOf:
- $ref: '#/components/schemas/object'
- type: object
title: Group
description: A group object
properties:
links:
type: object
properties:
self:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
html:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
additionalProperties: false
owner:
$ref: '#/components/schemas/account'
workspace:
$ref: '#/components/schemas/workspace'
name:
type: string
slug:
type: string
description: 'The "sluggified" version of the group''s name. This contains only ASCII
characters and can therefore be slightly different than the name'
full_slug:
type: string
description: 'The concatenation of the workspace''s slug and the group''s slug,
separated with a colon (e.g. `acme:developers`)
'
additionalProperties: true
UserDetails:
additionalProperties: false
description: "User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:\n\n * 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).\n * 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.\n * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values."
properties:
accountId:
description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
maxLength: 128
type: string
accountType:
description: The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user)
readOnly: true
type: string
active:
description: Whether the user is active.
readOnly: true
type: boolean
avatarUrls:
allOf:
- $ref: '#/components/schemas/AvatarUrlsBean'
description: The avatars of the user.
readOnly: true
displayName:
description: The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.
readOnly: true
type: string
emailAddress:
description: The email address of the user. Depending on the user’s privacy settings, this may be returned as null.
readOnly: true
type: string
key:
description: This 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.
readOnly: true
type: string
name:
description: This 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.
readOnly: true
type: string
self:
description: The URL of the user.
readOnly: true
type: string
timeZone:
description: The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.
readOnly: true
type: string
type: object
author:
allOf:
- $ref: '#/components/schemas/object'
- type: object
title: Author
description: The author of a change in a repository
properties:
raw:
type: string
description: The raw author value from the repository. This may be the only value available if the author does not match a user in Bitbucket.
user:
$ref: '#/components/schemas/account'
additionalProperties: true
project_group_permission:
type: object
title: Project Group Permission
description: A group's permission for a given project.
properties:
type:
type: string
example: example_value
links:
type: object
properties:
self:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
additionalProperties: false
example: example_value
permission:
type: string
enum:
- read
- write
- create-repo
- admin
- none
example: read
group:
$ref: '#/components/schemas/group'
project:
$ref: '#/components/schemas/project'
required:
- type
additionalProperties: true
team:
allOf:
- $ref: '#/components/schemas/account'
- type: object
title: Team
description: A team object.
properties:
links:
$ref: '#/components/schemas/team_links'
additionalProperties: true
Group_2:
additionalProperties: false
properties:
expand:
description: Expand options that include additional group details in the response.
readOnly: true
type: string
xml:
attribute: true
groupId:
description: The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
nullable: true
type: string
name:
description: The name of group.
type: string
self:
description: The URL for these group details.
format: uri
readOnly: true
type: string
users:
allOf:
- $ref: '#/components/schemas/PagedListUserDetailsApplicationUser'
description: A paginated list of the users that are members of the group. A maximum of 50 users is returned in the list, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 50 users, use`?expand=users[51:100]`.
readOnly: true
type: object
workspace:
allOf:
- $ref: '#/components/schemas/object'
- type: object
title: Workspace
description: "A Bitbucket workspace.\n Workspaces are used to organize repositories."
properties:
links:
type: object
properties:
avatar:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
html:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
members:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
owners:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
projects:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
repositories:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
snippets:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
self:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
additionalProperties: false
uuid:
type: string
description: The workspace's immutable id.
name:
type: string
description: The name of the workspace.
slug:
type: string
description: The short label that identifies this workspace.
is_private:
type: boolean
description: 'Indicates whether the workspace is publicly accessible, or whether it is
private to the members and consequently only visible to members.'
created_on:
type: string
format: date-time
updated_on:
type: string
format: date-time
additionalProperties: true
Group:
type: object
description: Represents a group within an organization.
properties:
id:
type: string
description: The unique identifier of the group.
example: abc123
type:
type: string
description: The resource type.
enum:
- group
example: group
attributes:
type: object
description: The attributes of the group.
properties:
name:
type: string
description: The display name of the group.
description:
type: string
description: A description of the group.
member_count:
type: integer
description: The number of members in the group.
example: example_value
PageBeanGroupDetails:
additionalProperties: false
description: A page of items.
properties:
isLast:
description: Whether this is the last page.
readOnly: true
type: boolean
maxResults:
description: The maximum number of items that could be returned.
format: int32
readOnly: true
type: integer
nextPage:
description: If there is another page of results, the URL of the next page.
format: uri
readOnly: true
type: string
self:
description: The URL of the page.
format: uri
readOnly: true
type: string
startAt:
description: The index of the first item returned.
format: int64
readOnly: true
type: integer
total:
description: The number of items returned.
format: int64
readOnly: true
type: integer
values:
description: The list of items.
items:
$ref: '#/components/schemas/GroupDetails'
readOnly: true
type: array
type: object
object:
type: object
description: Base type for most resource objects. It defines the common `type` element that identifies an object's type. It also identifies the element as Swagger's `discriminator`.
properties:
type:
type: string
example: example_value
required:
- type
additionalProperties: true
discriminator:
propertyName: type
repository:
allOf:
- $ref: '#/components/schemas/object'
- type: object
title: Repository
description: A Bitbucket repository.
properties:
links:
type: object
properties:
self:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
html:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
avatar:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
pullrequests:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
commits:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
forks:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
watchers:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
downloads:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
clone:
type: array
items:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
hooks:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
additionalProperties: false
uuid:
type: string
description: The repository's immutable id. This can be used as a substitute for the slug segment in URLs. Doing this guarantees your URLs will survive renaming of the repository by its owner, or even transfer of the repository to a different user.
full_name:
type: string
description: The concatenation of the repository owner's username and the slugified name, e.g. "evzijst/interruptingcow". This is the same string used in Bitbucket URLs.
is_private:
type: boolean
parent:
$ref: '#/components/schemas/repository'
scm:
type: string
enum:
- git
owner:
$ref: '#/components/schemas/account'
name:
type: string
description:
type: string
created_on:
type: string
format: date-time
updated_on:
type: string
format: date-time
size:
type: integer
language:
type: string
has_issues:
type: boolean
description: '
The issue tracker for this repository is enabled. Issue Tracker
features are not supported for repositories in workspaces
administered through admin.atlassian.com.
'
has_wiki:
type: boolean
description: '
The wiki for this repository is enabled. Wiki
features are not supported for repositories in workspaces
administered through admin.atlassian.com.
'
fork_policy:
type: string
description: "\nControls the rules for forking this repository.\n\n* **allow_forks**: unrestricted forking\n* **no_public_forks**: restrict forking to private forks (forks cannot\n be made public later)\n* **no_forks**: deny all forking\n"
enum:
- allow_forks
- no_public_forks
- no_forks
project:
$ref: '#/components/schemas/project'
mainbranch:
$ref: '#/components/schemas/branch'
additionalProperties: true
account_links:
type: object
title: Account Links
description: Links related to an Account.
properties:
avatar:
$ref: '#/components/schemas/link'
additionalProperties: true
UpdateUserToGroupBean:
additionalProperties: true
properties:
accountId:
description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
maxLength: 128
type: string
name:
description: This 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.
type: string
type: object
FoundGroup:
additionalProperties: false
description: A group found in a search.
properties:
groupId:
description: The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
type: string
html:
description: The group name with the matched query string highlighted with the HTML bold tag.
type: string
labels:
items:
$ref: '#/components/schemas/GroupLabel'
type: array
name:
description: The name of the group. The name of a group is mutable, to reliably identify a group use ``groupId`.`
type: string
type: object
xml:
name: group
PageBeanUserDetails:
additionalProperties: false
description: A page of items.
properties:
isLast:
description: Whether this is the last page.
readOnly: true
type: boolean
maxResults:
description: The maximum number of items that could be returned.
format: int32
readOnly: true
type: integer
nextPage:
description: If there is another page of results, the URL of the next page.
format: uri
readOnly: true
type: string
self:
description: The URL of the page.
format: uri
readOnly: true
type: string
startAt:
description: The index of the first item returned.
format: int64
readOnly: true
type: integer
total:
description: The number of items returned.
format: int64
readOnly: true
type: integer
values:
description: The list of items.
items:
$ref: '#/components/schemas/UserDetails'
readOnly: true
type: array
type: object
link:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
example: https://www.example.com
name:
type: string
example: Example Title
additionalProperties: false
GroupLabel:
additionalProperties: false
description: A group label.
properties:
text:
description: The group label name.
type: string
title:
description: The title of the group label.
type: string
type:
description: The type of the group label.
enum:
- ADMIN
- SINGLE
- MULTIPLE
type: string
type: object
xml:
name: grouplabel
base_commit:
allOf:
- $ref: '#/components/schemas/object'
- type: object
title: Base Commit
description: The common base type for both repository and snippet commits.
properties:
hash:
type: string
pattern: '[0-9a-f]{7,}?'
date:
type: string
format: date-time
author:
$ref: '#/components/schemas/author'
message:
type: string
summary:
type: object
properties:
raw:
type: string
description: The text as it was typed by a user.
markup:
type: string
description: The type of markup language the raw content is to be interpreted in.
enum:
- markdown
- creole
- plaintext
html:
type: string
description: The user's content rendered as HTML.
additionalProperties: false
parents:
type: array
items:
$ref: '#/components/schemas/base_commit'
minItems: 0
additionalProperties: true
PaginationLinks:
type: object
description: Links for cursor-based pagination.
properties:
self:
type: string
format: uri
description: Link to the current page.
example: https://www.example.com
next:
type: string
format: uri
description: Link to the next page of results.
example: https://www.example.com
prev:
type: string
format: uri
description: Link to the previous page of results.
example: https://www.example.com
repository_group_permission:
type: object
title: Repository Group Permission
description: A group's permission for a given repository.
properties:
type:
type: string
example: example_value
links:
type: object
properties:
self:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
additionalProperties: false
example: example_value
permission:
type: string
enum:
- read
- write
- admin
- none
example: read
group:
$ref: '#/components/schemas/group'
repository:
$ref: '#/components/schemas/repository'
required:
- type
additionalProperties: true
branch:
allOf:
- $ref: '#/components/schemas/ref'
- type: object
title: Branch
description: A branch object, representing a branch in a repository.
properties:
merge_strategies:
type: array
description: Available merge strategies for pull requests targeting this branch.
items:
type: string
enum:
- merge_commit
- squash
- fast_forward
default_merge_strategy:
type: string
description: The default merge strategy for pull requests targeting this branch.
additionalProperties: true
FoundGroups:
additionalProperties: false
description: The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched groups.
properties:
groups:
items:
$ref: '#/components/schemas/FoundGroup'
type: array
header:
description: Header text indicating the number of groups in the response and the total number of groups found in the search.
type: string
total:
description: The total number of groups found in the search.
format: int32
type: integer
type: object
xml:
name: groupsuggestions
paginated_project_group_permissions:
type: object
title: Paginated Project Group Permissions
description: A paginated list of project group permissions.
properties:
size:
type: integer
description: Total number of objects in the response. This is an optional element that is not provided in all responses, as it can be expensive to compute.
minimum: 0
example: 10
page:
type: integer
description: Page number of the current results. This is an optional element that is not provided in all responses.
minimum: 1
example: 10
pagelen:
type: integer
description: Current number of objects on the existing page. The default value is 10 with 100 being the maximum allowed value. Individual APIs may enforce different values.
minimum: 1
example: 10
next:
type: string
description: Link to the next page if it exists. The last page of a collection does not have this value. Use this link to navigate the result set and refrain from constructing your own URLs.
format: uri
example: https://www.example.com
previous:
type: string
description: Link to previous page if it exists. A collections first page does not have this value. This is an optional element that is not provided in all responses. Some result sets strictly support forward navigation and never provide previous links. Clients must anticipate that backwards navigation is not always available. Use this link to navigate the result set and refrain from constructing your own URLs.
format: uri
example: https://www.example.com
values:
type: array
items:
$ref: '#/components/schemas/project_group_permission'
minItems: 0
uniqueItems: true
example: []
additionalProperties: false
commit:
allOf:
- $ref: '#/components/schemas/base_commit'
- type: object
title: Commit
description: A repository commit object.
properties:
repository:
$ref: '#/components/schemas/repository'
participants:
type: array
items:
$ref: '#/components/schemas/participant'
minItems: 0
additionalProperties: true
GroupDetails:
additionalProperties: false
description: Details about a group.
properties:
groupId:
description: The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
nullable: true
type: string
name:
description: The name of the group.
type: string
type: object
AvatarUrlsBean:
additionalProperties: false
properties:
16x16:
description: The URL of the item's 16x16 pixel avatar.
format: uri
type: string
24x24:
description: The URL of the item's 24x24 pixel avatar.
format: uri
type: string
32x32:
description: The URL of the item's 32x32 pixel avatar.
format: uri
type: string
48x48:
description: The URL of the item's 48x48 pixel avatar.
format: uri
type: string
type: object
ref:
type: object
title: Ref
description: A ref object, representing a branch or tag in a repository.
properties:
type:
type: string
example: example_value
links:
type: object
properties:
self:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
commits:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
html:
type: object
title: Link
description: A link to a resource related to this object.
properties:
href:
type: string
format: uri
name:
type: string
additionalProperties: false
additionalProperties: false
example: example_value
name:
type: string
description: The name of the ref.
example: Example Title
target:
$ref: '#/components/schemas/commit'
required:
- type
additionalProperties: true
parameters:
orgId:
name: orgId
in: path
required: true
description: The unique identifier of the organization.
schema:
type: string
requestBodies:
BitbucketAppsPermissionsSerializersRepoPermissionUpdateSchema:
content:
application/json:
schema:
title: object
description: The permission to grant
required: true
examples:
paginated-project-group-permissions:
size: 42
page: 1
pagelen: 10
next: https://api.example.com/project-groups/permissions?page=2
previous: https://api.example.com/project-groups/permissions?page=0
values: []
project-group-permission:
type: project-group-permission
links:
self:
href: https://api.example.com/projects/123/permissions/groups/456
name: Project Group Permission
permission: admin
group:
name: developers
id: 456
project:
key: PROJ
name: Example Project
id: 123
project-group-permission_2:
type: project-group-permission
links:
self:
href: https://api.example.com/projects/123/permissions/groups/456
name: Project Group Permission
permission: write
group:
name: developers
id: 456
project:
key: PROJ
id: 123
name: Example Project
repository-group-permission:
type: repository_group_permission
links:
self:
href: https://api.example.com/repositories/my-repo/permissions/groups/developers
name: developers-permission
permission: write
group:
slug: developers
name: Developers
repository:
slug: my-repo
name: My Repository
repository-group-permission_2:
type: repository_group_permission
links:
self:
href: https://api.example.com/repositories/my-repo/permissions/groups/developers
name: self
permission: write
group:
type: group
name: developers
slug: developers
repository:
type: repository
name: my-repository
slug: my-repository
full_name: myworkspace/my-repository
paginated-repository-group-permissions:
size: 42
page: 1
pagelen: 10
next: https://api.example.com/repositories/groups/permissions?page=2
previous: https://api.example.com/repositories/groups/permissions?page=0
values: []
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: API Key
description: Use an Atlassian API key as a Bearer token. Create API keys at https://admin.atlassian.com.
oauth2:
type: oauth2
description: OAuth 2.0 authorization for Atlassian Cloud APIs.
flows:
authorizationCode:
authorizationUrl: https://auth.atlassian.com/authorize
tokenUrl: https://auth.atlassian.com/oauth/token
scopes:
read:org:admin: Read organization information.
write:org:admin: Modify organization settings.
read:user:admin: Read user information.
write:user:admin: Modify user accounts.
read:policy:admin: Read organization policies.
write:policy:admin: Modify organization policies.
read:event:admin: Read organization events.
externalDocs:
description: Atlassian Admin REST API Documentation
url: https://developer.atlassian.com/cloud/admin/organization/rest/intro/