Atlassian Confluence User API
The Atlassian Confluence User API enables management of user data within Confluence including profiles, groups, and permissions.
The Atlassian Confluence User API enables management of user data within Confluence including profiles, groups, and permissions.
openapi: 3.0.1
info:
title: 'Atlassian wiki/rest/api/user/'
description: Needs description.
termsOfService: https://atlassian.com/terms/
version: 1.0.0
externalDocs:
description: The online and complete version of the Confluence Cloud REST API docs.
url: https://developer.atlassian.com/cloud/confluence/rest/
servers:
- url: //your-domain.atlassian.net
tags:
- name: Content Watches
- name: User Properties
- name: Users
paths:
/wiki/rest/api/user/anonymous:
get:
tags:
- Users
summary: Atlassian Get Anonymous User
description: >-
Returns information about how anonymous users are represented, like
the<br>profile picture and display
name.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianGetanonymoususer
parameters:
- name: expand
in: query
description: |-
A multi-value parameter indicating which properties of the user to
expand.
- `operations` returns the operations that the user is allowed to do.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- operations
responses:
'200':
description: Returned if the anonymous user representation is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/UserAnonymous'
'403':
description: |-
Returned if the calling user does not have permission to use
Confluence.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-user
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-user
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:user:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/user/current:
get:
tags:
- Users
summary: Atlassian Get Current User
description: >-
Returns the currently logged-in user. This includes information
about<br>the user, like the display name, userKey, account ID, profile
picture,<br>and
more.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianGetcurrentuser
parameters:
- name: expand
in: query
description: |-
A multi-value parameter indicating which properties of the user to
expand.
- `operations` returns the operations that the user is allowed to do.
- `personalSpace` returns the user's personal space, if it exists.
- `isExternalCollaborator` returns whether the user is an external collaborator user.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- operations
- personalSpace
- isExternalCollaborator
responses:
'200':
description: Returned if the current user is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'403':
description: |-
Returned if the calling user does not have permission to use
Confluence.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-user
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-user
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/user/memberof:
get:
tags:
- Users
summary: Atlassian Get Group Memberships For User
description: >-
Returns the groups that a user is a member
of.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianGetgroupmembershipsforuser
parameters:
- name: accountId
in: query
description: >-
The account ID of the user. The accountId uniquely identifies the
user across all Atlassian products.
For example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`.
required: true
schema:
type: string
- name: start
in: query
description: The starting index of the returned groups.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of groups to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 200
responses:
'200':
description: Returned if the requested groups are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/GroupArrayWithLinks'
'403':
description: |-
Returned if the calling user does not have permission to use
Confluence.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-user
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-user
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:user:confluence
- read:group:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/user/bulk:
get:
tags:
- Users
summary: Atlassian Get Multiple Users Using Ids
description: >-
Returns user details for the ids provided in
request.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianGetbulkuserlookup
parameters:
- name: accountId
in: query
description: A list of accountId's of users to be returned.
required: true
schema:
type: string
- name: expand
in: query
description: |-
A multi-value parameter indicating which properties of the user to
expand.
- `operations` returns the operations that the user is allowed to do.
- `personalSpace` returns the user's personal space, if it exists.
- `isExternalCollaborator` returns whether the user is an external collaborator user.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- operations
- personalSpace
- isExternalCollaborator
- name: limit
in: query
description: |-
The maximum number of results returned.
Currently API returns 200 results max.
If more that 200 ids are passed first 200 will be returned.
schema:
maximum: 200
minimum: 1
type: integer
format: int32
responses:
'200':
description: Returned if, the list of users is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/BulkUserLookupArray'
'403':
description: |-
Returned if the calling user does not have permission to use
Confluence.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-user
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-user
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/user/watch/content/{contentId}:
get:
tags:
- Content Watches
summary: Atlassian Get Content Watch Status
description: >-
Returns whether a user is watching a piece of content. Choose the user
by<br>doing one of the following:<br><br>- Specify a user via a query
parameter: Use the `accountId` to identify the user.<br>- Do not specify
a user: The currently logged-in user will be
used.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>'Confluence Administrator' global permission if
specifying a user, otherwise<br>permission to access the Confluence site
('Can use' global permission).
operationId: atlassianGetcontentwatchstatus
parameters:
- name: contentId
in: path
description: >-
The ID of the content to be queried for whether the specified user
is
watching it.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'200':
description: Returned if the requested watch status is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/UserWatch'
'403':
description: |-
Returned if;
- The calling user does not have permission to view the
content.
- A user is specified via a query parameter and the calling user is
not a Confluence administrator.
- No content exists for the specified `contentId`.
content: {}
'404':
description: Returned if no `contentId` is specified.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.summary
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.summary
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:watcher:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
post:
tags:
- Content Watches
summary: Atlassian Add Content Watcher
description: >-
Adds a user as a watcher to a piece of content. Choose the user by
doing<br>one of the following:<br><br>- Specify a user via a query
parameter: Use the `accountId` to identify the user.<br>- Do not specify
a user: The currently logged-in user will be used.<br><br>Note, you must
add the `X-Atlassian-Token: no-check` header when making a<br>request,
as this operation has XSRF
protection.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>'Confluence Administrator' global permission if
specifying a user, otherwise<br>permission to access the Confluence site
('Can use' global permission).
operationId: atlassianAddcontentwatcher
parameters:
- name: contentId
in: path
description: The ID of the content to add the watcher to.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'204':
description: >-
Returned if the watcher was successfully created. No response body
is
returned.
content: {}
'403':
description: |-
Returned if;
- The `X-Atlassian-Token: no-check` header is not specified.
- The calling user does not have permission to view the
content.
- A user is specified via a query parameter and the calling user is
not a Confluence administrator.
- No content exists for the specified `contentId`.
content: {}
'404':
description: Returned if no `contentId` 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:watcher:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
delete:
tags:
- Content Watches
summary: Atlassian Remove Content Watcher
description: >-
Removes a user as a watcher from a piece of content. Choose the user
by<br>doing one of the following:<br><br>- Specify a user via a query
parameter: Use the `accountId` to identify the user.<br>- Do not specify
a user: The currently logged-in user will be
used.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>'Confluence Administrator' global permission if
specifying a user, otherwise<br>permission to access the Confluence site
('Can use' global permission).
operationId: atlassianRemovecontentwatcher
parameters:
- name: X-Atlassian-Token
in: header
description: |-
Note, you must add header when making a
request, as this operation has XSRF protection.
required: true
schema:
type: string
default: no-check
- name: contentId
in: path
description: The ID of the content to remove the watcher from.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'204':
description: >-
Returned if the watcher was successfully deleted. No response body
is
returned.
content: {}
'403':
description: |-
Returned if;
- The `X-Atlassian-Token: no-check` header is not specified.
- The calling user does not have permission to view the
content.
- A user is specified via a query parameter and the calling user is
not a Confluence administrator.
- No content exists for the specified `contentId`.
content: {}
'404':
description: Returned if no `contentId` 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:watcher:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/user/watch/label/{labelName}:
get:
tags:
- Content Watches
summary: Atlassian Get Label Watch Status
description: >-
Returns whether a user is watching a label. Choose the user by doing
one<br>of the following:<br><br>- Specify a user via a query parameter:
Use the `accountId` to identify the user.<br>- Do not specify a user:
The currently logged-in user will be
used.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>'Confluence Administrator' global permission if
specifying a user, otherwise<br>permission to access the Confluence site
('Can use' global permission).
operationId: atlassianIswatchinglabel
parameters:
- name: labelName
in: path
description: >-
The name of the label to be queried for whether the specified user
is
watching it.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'200':
description: Returned if the requested watch status is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/UserWatch'
'403':
description: |-
Returned if;
- A user is specified via a query parameter and the calling user is
not a Confluence administrator.
- No label exists for the specified `labelName`.
content: {}
'404':
description: Returned if no `labelName` is specified.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.summary
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.summary
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:watcher:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
post:
tags:
- Content Watches
summary: Atlassian Add Label Watcher
description: >-
Adds a user as a watcher to a label. Choose the user by doing one of
the<br>following:<br><br>- Specify a user via a query parameter: Use the
`accountId` to identify the user.<br>- Do not specify a user: The
currently logged-in user will be used.<br><br>Note, you must add the
`X-Atlassian-Token: no-check` header when making a<br>request, as this
operation has XSRF
protection.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>'Confluence Administrator' global permission if
specifying a user, otherwise<br>permission to access the Confluence site
('Can use' global permission).
operationId: atlassianAddlabelwatcher
parameters:
- name: X-Atlassian-Token
in: header
description: |-
Note, you must add header when making a
request, as this operation has XSRF protection.
required: true
schema:
type: string
default: no-check
- name: labelName
in: path
description: The name of the label to add the watcher to.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'204':
description: >-
Returned if the watcher was successfully created. No response body
is
returned.
content: {}
'403':
description: |-
Returned if;
- The `X-Atlassian-Token: no-check` header is not specified.
- A user is specified via a query parameter and the calling user is
not a Confluence administrator.
- No label exists for the specified `labelName`.
content: {}
'404':
description: Returned if no `labelName` 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:watcher:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: WRITE
delete:
tags:
- Content Watches
summary: Atlassian Remove Label Watcher
description: >-
Removes a user as a watcher from a label. Choose the user by doing one
of<br>the following:<br><br>- Specify a user via a query parameter: Use
the `accountId` to identify the user.<br>- Do not specify a user: The
currently logged-in user will be
used.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>'Confluence Administrator' global permission if
specifying a user, otherwise<br>permission to access the Confluence site
('Can use' global permission).
operationId: atlassianRemovelabelwatcher
parameters:
- name: labelName
in: path
description: The name of the label to remove the watcher from.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'204':
description: >-
Returned if the watcher was successfully deleted. No response body
is
returned.
content: {}
'403':
description: |-
Returned if;
- The `X-Atlassian-Token: no-check` header is not specified.
- A user is specified via a query parameter and the calling user is
not a Confluence administrator.
- No label exists for the specified `labelName`.
content: {}
'404':
description: Returned if no `labelName` 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:watcher:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: WRITE
/wiki/rest/api/user/watch/space/{spaceKey}:
get:
tags:
- Content Watches
summary: Atlassian Get Space Watch Status
description: >-
Returns whether a user is watching a space. Choose the user by<br>doing
one of the following:<br><br>- Specify a user via a query parameter: Use
the `accountId` to identify the user.<br>- Do not specify a user: The
currently logged-in user will be
used.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>'Confluence Administrator' global permission if
specifying a user, otherwise<br>permission to access the Confluence site
('Can use' global permission).
operationId: atlassianIswatchingspace
parameters:
- name: spaceKey
in: path
description: |-
The key of the space to be queried for whether the specified user is
watching it.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'200':
description: Returned if the requested watch status is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/UserWatch'
'403':
description: |-
Returned if;
- The calling user does not have permission to view the
space.
- A user is specified via a query parameter and the calling user is
not a Confluence administrator.
- No space exists for the specified `spaceKey`.
content: {}
'404':
description: Returned if no `spaceKey` is specified.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.summary
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.summary
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:watcher:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
post:
tags:
- Content Watches
summary: Atlassian Add Space Watcher
description: >-
Adds a user as a watcher to a space. Choose the user by doing one of
the<br>following:<br><br>- Specify a user via a query parameter: Use the
`accountId` to identify the user.<br>- Do not specify a user: The
currently logged-in user will be used.<br><br>Note, you must add the
`X-Atlassian-Token: no-check` header when making a<br>request, as this
operation has XSRF
protection.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>'Confluence Administrator' global permission if
specifying a user, otherwise<br>permission to access the Confluence site
('Can use' global permission).
operationId: atlassianAddspacewatcher
parameters:
- name: X-Atlassian-Token
in: header
description: |-
Note, you must add header when making a
request, as this operation has XSRF protection.
required: true
schema:
type: string
default: no-check
- name: spaceKey
in: path
description: The key of the space to add the watcher to.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'204':
description: >-
Returned if the watcher was successfully created. No response body
is
returned.
content: {}
'403':
description: |-
Returned if;
- The `X-Atlassian-Token: no-check` header is not specified.
- The calling user does not have permission to view the
space.
- A user is specified via a query parameter and the calling user is
not a Confluence administrator.
- No space exists for the specified `spaceKey`.
content: {}
'404':
description: Returned if no `spaceKey` 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:watcher:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: WRITE
delete:
tags:
- Content Watches
summary: Atlassian Remove Space Watch
description: >-
Removes a user as a watcher from a space. Choose the user by doing one
of<br>the following:<br><br>- Specify a user via a query parameter: Use
the `accountId` to identify the user.<br>- Do not specify a user: The
currently logged-in user will be
used.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>'Confluence Administrator' global permission if
specifying a user, otherwise<br>permission to access the Confluence site
('Can use' global permission).
operationId: atlassianRemovespacewatch
parameters:
- name: spaceKey
in: path
description: The key of the space to remove the watcher from.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'204':
description: >-
Returned if the watcher was successfully deleted. No response body
is returned.
content: {}
'403':
description: |-
Returned if;
- The `X-Atlassian-Token: no-check` header is not specified.
- The calling user does not have permission to view the space.
- A user is specified via a query parameter and the calling user is
not a Confluence administrator.
- No space exists for the specified `spaceKey`.
content: {}
'404':
description: Returned if no `spaceKey` 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:watcher:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: WRITE
/wiki/rest/api/user/email:
get:
tags:
- Users
summary: Atlassian Get User Email Address
description: >-
Returns a user's email address. This API is only available to apps
approved by<br>Atlassian, according to these
[guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:<br>Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianGetprivacyunsafeuseremail
parameters:
- name: accountId
in: query
description: >-
The account ID of the user, which uniquely identifies the user
across all Atlassian products.
For example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`.
Required.
required: true
schema:
type: string
responses:
'200':
description: Returned if the requested user's email is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/AccountIdEmailRecord'
'400':
description: Returned if the calling app is not approved to use this API.
content: {}
'401':
description: |-
Returned if the authentication credentials
# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/openapi/atlassian-wiki-rest-api-user--openapi-original.yml