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
profile picture and display
name.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
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
the user, like the display name, userKey, account ID, profile
picture,
and
more.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
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.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
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.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
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
doing one of the following:
- Specify a user via a query
parameter: Use the `accountId` to identify the user.
- Do not specify
a user: The currently logged-in user will be
used.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'Confluence Administrator' global permission if
specifying a user, otherwise
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
one of the following:
- Specify a user via a query
parameter: Use the `accountId` to identify the user.
- Do not specify
a user: The currently logged-in user will be used.
Note, you must
add the `X-Atlassian-Token: no-check` header when making a
request,
as this operation has XSRF
protection.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'Confluence Administrator' global permission if
specifying a user, otherwise
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
doing one of the following:
- Specify a user via a query
parameter: Use the `accountId` to identify the user.
- Do not specify
a user: The currently logged-in user will be
used.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'Confluence Administrator' global permission if
specifying a user, otherwise
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
of the following:
- Specify a user via a query parameter:
Use the `accountId` to identify the user.
- Do not specify a user:
The currently logged-in user will be
used.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'Confluence Administrator' global permission if
specifying a user, otherwise
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
following:
- Specify a user via a query parameter: Use the
`accountId` to identify the user.
- Do not specify a user: The
currently logged-in user will be used.
Note, you must add the
`X-Atlassian-Token: no-check` header when making a
request, as this
operation has XSRF
protection.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'Confluence Administrator' global permission if
specifying a user, otherwise
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
the following:
- Specify a user via a query parameter: Use
the `accountId` to identify the user.
- Do not specify a user: The
currently logged-in user will be
used.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'Confluence Administrator' global permission if
specifying a user, otherwise
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
doing
one of the following:
- Specify a user via a query parameter: Use
the `accountId` to identify the user.
- Do not specify a user: The
currently logged-in user will be
used.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'Confluence Administrator' global permission if
specifying a user, otherwise
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
following:
- Specify a user via a query parameter: Use the
`accountId` to identify the user.
- Do not specify a user: The
currently logged-in user will be used.
Note, you must add the
`X-Atlassian-Token: no-check` header when making a
request, as this
operation has XSRF
protection.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'Confluence Administrator' global permission if
specifying a user, otherwise
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
the following:
- Specify a user via a query parameter: Use
the `accountId` to identify the user.
- Do not specify a user: The
currently logged-in user will be
used.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'Confluence Administrator' global permission if
specifying a user, otherwise
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
Atlassian, according to these
[guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
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 are incorrect or missing
from the request.
content: {}
'404':
description: Returned if a user with the given accountId does not exist.
content: {}
'501':
description: Indicates that the API is not currently enabled.
content: {}
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: ACCESS_EMAIL_ADDRESSES
/wiki/rest/api/user/email/bulk:
get:
tags:
- Users
summary: Atlassian Get User Email Addresses In Batch
description: >-
Returns user email addresses for a set of accountIds. This API is only
available to apps approved by
Atlassian, according to these
[guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).
Any
accounts which are not available will not be included in the
result.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianGetprivacyunsafeuseremailbulk
parameters:
- name: accountId
in: query
description: The account IDs of the users.
required: true
style: form
explode: false
schema:
type: array
items:
type: string
responses:
'200':
description: Returned if the request is successful.
content:
application/json:
schema:
$ref: '#/components/schemas/AccountIdEmailRecordArray'
'400':
description: Returned if the calling app is not approved to use this API.
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'501':
description: Indicates that the API is not currently enabled.
content: {}
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: ACCESS_EMAIL_ADDRESSES
/wiki/rest/api/user/{userId}/property:
get:
tags:
- User Properties
summary: Atlassian Get User Properties
description: >-
Returns the properties for a user as list of property keys. For more
information
about user properties, see [Confluence entity
properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).
`Note`,
these properties stored against a user are on a Confluence site level
and not space/content
level.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianGetuserproperties
parameters:
- name: userId
in: path
description: The account ID of the user to be queried for its properties.
required: true
schema:
type: string
- name: start
in: query
description: The starting index of the returned properties.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of properties to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
maximum: 25
type: integer
format: int32
default: 5
responses:
'200':
description: Returned if the requested properties are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/UserPropertyKeyArray'
'400':
description: >-
Returned if request has malformed syntax or userId is not a valid
user id.
content: {}
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: Returned if the user does not have the correct permissions.
content: {}
'404':
description: Returned if there is no user with the given user ID.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:user.property:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:user.property:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/user/{userId}/property/{key}:
get:
tags:
- User Properties
summary: Atlassian Get User Property
description: >-
Returns the property corresponding to `key` for a user. For more
information
about user properties, see [Confluence entity
properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).
`Note`,
these properties stored against a user are on a Confluence site level
and not space/content
level.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianGetuserproperty
parameters:
- name: userId
in: path
description: The account ID of the user to be queried for its properties.
required: true
schema:
type: string
- name: key
in: path
description: The key of the user property.
required: true
schema:
type: string
pattern: ^[-_a-zA-Z0-9]+$
responses:
'200':
description: Returned if the requested properties are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/UserProperty'
'400':
description: |-
Returned if;
- The key is too long.
- Request has malformed syntax or userId is not a valid user id.
content: {}
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: Returned if the user does not have the correct permissions.
content: {}
'404':
description: |-
Returned if;
- There is no user with the given user ID
- There is no user property with the given key
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:user.property:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:user.property:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
put:
tags:
- User Properties
summary: Atlassian Update User Property
description: >-
Updates a property for the given user. Note, you cannot update the key
of a user property, only the value.
For more information about user
properties, see
[Confluence entity
properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).
`Note`,
these properties stored against a user are on a Confluence site level
and not space/content
level.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianUpdateuserproperty
parameters:
- name: userId
in: path
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: key
in: path
description: The key of the user property.
required: true
schema:
type: string
pattern: ^[-_a-zA-Z0-9]+$
requestBody:
description: The user property to be updated.
content:
application/json:
schema:
$ref: '#/components/schemas/UserPropertyUpdate'
required: true
responses:
'204':
description: Returned if the user property is updated.
'400':
description: |-
Returned if;
- The key is too long.
- The value is empty.
- The value is too long.
- Request has malformed syntax or userId is not a valid user id.
content: {}
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: Returned if the user does not have the correct permissions.
content: {}
'404':
description: |-
Returned if;
- There is no user property with the given key.
- There is no user with the given user id.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:user.property:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:user.property:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
post:
tags:
- User Properties
summary: Atlassian Create User Property By Key
description: >-
Creates a property for a user. For more information about user
properties, see [Confluence entity
properties]
(https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).
`Note`,
these properties stored against a user are on a Confluence site level
and not space/content level.
`Note:` the number of properties
which could be created per app in a tenant for each user might
be
restricted by fixed system
limits.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianCreateuserproperty
parameters:
- name: userId
in: path
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: key
in: path
description: The key of the user property.
required: true
schema:
type: string
pattern: ^[-_a-zA-Z0-9]+$
requestBody:
description: The user property to be created.
content:
application/json:
schema:
$ref: '#/components/schemas/UserPropertyCreate'
required: true
responses:
'201':
description: Returned if the user property is created.
'400':
description: |-
Returned if;
- The key is too long.
- The value is empty.
- The value is too long.
- Request has malformed syntax or userId is not a valid user id.
content: {}
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: Returned if the user does not have the correct permissions.
content: {}
'404':
description: Returned if there is no user with the given user id.
content: {}
'409':
description: Returned if the key already exists for the user.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:user.property:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:user.property:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
delete:
tags:
- User Properties
summary: Atlassian Delete User Property
description: >-
Deletes a property for the given user.
For more information about
user properties, see
[Confluence entity
properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).
`Note`,
these properties stored against a user are on a Confluence site level
and not space/content
level.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianDeleteuserproperty
parameters:
- name: userId
in: path
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: key
in: path
description: The key of the user property.
required: true
schema:
type: string
pattern: ^[-_a-zA-Z0-9]+$
responses:
'204':
description: Returned if the user property is deleted.
'400':
description: |-
Returned if;
- The key is too long.
- Request has malformed syntax or userId is not a valid user id.
content: {}
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: Returned if the user does not have the correct permissions.
content: {}
'404':
description: |-
Returned if;
- There is no user property with the given key
- There is no user with the given user id
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:user.property:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:user.property:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: WRITE
components:
schemas:
UserAnonymous:
required:
- _links
- displayName
- profilePicture
- type
type: object
properties:
type:
type: string
profilePicture:
$ref: '#/components/schemas/Icon'
displayName:
type: string
operations:
type: array
items:
$ref: '#/components/schemas/OperationCheckResult'
isExternalCollaborator:
type: boolean
description: Whether the user is an external collaborator user
_expandable:
type: object
properties:
operations:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
User:
required:
- type
type: object
additionalProperties: true
nullable: true
properties:
type:
type: string
enum:
- known
- unknown
- anonymous
- user
username:
$ref: '#/components/schemas/GenericUserName'
userKey:
$ref: '#/components/schemas/GenericUserKey'
accountId:
$ref: '#/components/schemas/GenericAccountId'
accountType:
type: string
description: >-
The account type of the user, may return empty string if
unavailable. App is if the user is a bot user created on behalf of
an Atlassian app.
enum:
- atlassian
- app
- ''
email:
nullable: true
type: string
description: >-
The email address of the user. Depending on the user's privacy
setting, this may return an empty string.
publicName:
type: string
description: >-
The public name or nickname of the user. Will always contain a
value.
profilePicture:
$ref: '#/components/schemas/Icon'
displayName:
nullable: true
type: string
description: >-
The displays name of the user. Depending on the user's privacy
setting, this may be the same as publicName.
timeZone:
nullable: true
type: string
description: >-
This displays user time zone. Depending on the user's privacy
setting, this may return null.
isExternalCollaborator:
type: boolean
description: Whether the user is an external collaborator user
externalCollaborator:
type: boolean
description: Whether the user is an external collaborator user
operations:
nullable: true
type: array
items:
$ref: '#/components/schemas/OperationCheckResult'
details:
$ref: '#/components/schemas/UserDetails'
personalSpace:
$ref: '#/components/schemas/Space'
_expandable:
type: object
properties:
operations:
type: string
details:
type: string
personalSpace:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
GroupArrayWithLinks:
description: Same as GroupArray but with `_links` property.
required:
- limit
- results
- size
- start
- _links
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Group'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
totalSize:
type: integer
format: int64
default: 0
description: >-
This property will return total count of the objects before
pagination is applied.
This value is returned if `shouldReturnTotalSize` is set to `true`.
_links:
$ref: '#/components/schemas/GenericLinks'
BulkUserLookupArray:
required:
- _links
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/BulkUserLookup'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
UserWatch:
required:
- watching
type: object
properties:
watching:
type: boolean
AccountIdEmailRecord:
required:
- accountId
- email
type: object
properties:
accountId:
type: string
email:
type: string
AccountIdEmailRecordArray:
type: array
items:
$ref: '#/components/schemas/AccountIdEmailRecord'
UserPropertyKeyArray:
required:
- results
type: object
properties:
results:
type: array
items:
type: object
properties:
key:
type: string
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
UserProperty:
required:
- key
- value
- id
- lastModifiedDate
- createdDate
type: object
properties:
key:
type: string
value:
type: object
additionalProperties: true
properties: {}
description: The value of the content property.
id:
type: string
description: a unique identifier for the user property
lastModifiedDate:
type: string
format: date-time
description: >-
datetime when the property was last modified such as
`2022-02-01T12:00:00.111Z`
createdDate:
type: string
format: date-time
description: >-
datetime when the property was created such as
`2022-01-01T12:00:00.111Z`
_links:
$ref: '#/components/schemas/GenericLinks'
x-atlassian-narrative:
documents:
- title: About
anchor: about
body: >-
This is the reference for the Confluence Cloud REST API. This API is the
primary way to get and
modify data in Confluence Cloud, whether you are developing an app or
any other integration.
Use it to interact with Confluence entities, like pages and blog posts,
spaces, users, groups,
and more.
- title: Authentication and authorization
anchor: auth
body: >-
**Authentication:** If you are building a Cloud app, authentication is
implemented via JWT or OAuth 2.0, depending on what you are building
(see [Security
overview](https://developer.atlassian.com/cloud/confluence/security-overview/)).
Otherwise, if you are authenticating directly against the REST API, the
REST API supports basic auth (see [Basic auth for REST
APIs](https://developer.atlassian.com/cloud/confluence/basic-auth-for-rest-apis/)).
**Authorization:** If you are building a Cloud app, authorization can be
implemented by
[scopes](https://developer.atlassian.com/cloud/confluence/scopes/) or by
[OAuth 2.0 user
impersonation](https://developer.atlassian.com/cloud/confluence/oauth-2-jwt-bearer-tokens-for-apps).
Otherwise, if you are making calls directly against the REST API,
authorization is based on the user used in the authentication process.
See [Security
overview](https://developer.atlassian.com/cloud/confluence/security-overview/)
for more details on authentication and authorization.
- title: Status codes
anchor: status-code
body: >-
The Confluence REST API uses the [standard HTTP status
codes](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).
Responses that return an error status code will also return a response
body, similar to the following:
```json
{
"statusCode": 404,
"data": {
"authorized": false,
"valid": false,
"errors": [
{
"message": {
"translation": "This is an example error message.",
"args": []
}
}
],
"successful": false
},
"message": "This is an example error message."
}
```
- title: Using the REST API
anchor: using
body: >-
**Expansion:** The Confluence REST API uses resource expansion: some
parts of a resource are not returned unless explicitly specified. This
simplifies responses and minimizes network traffic.
To expand part of a resource in a request, use the `expand` query
parameter and specify the entities to be expanded. If you need to expand
nested entities, use the `.` dot notation. For example, the following
request will expand information about the requested content's space and
labels:
```
GET /wiki/rest/api/content/{id}?expand=space,metadata.labels
```
**Pagination:** The Confluence REST API uses pagination: a method that
returns a response with multiple objects can only return a limited
number at one time. This limits the size of responses and conserves
server resources.
Use the 'limit' and 'start' query parameters to specify pagination:
- `limit` is the number of objects to return per page. This may be
restricted by system limits.
- `start` is the index of the first item returned in the page of
results. The base index is 0.
For example, the following request will return ten content objects,
starting from the fifth object.
```
GET /wiki/rest/api/content?start=4&limit=10
```
**Special headers:**
- `X-Atlassian-Token: no-check` request header must be specified for
methods
that are protected from Cross Site Request Forgery (XSRF/CSRF) attacks.
This is
stated in the method description, if required. For more information, see
this
[KB
article](https://confluence.atlassian.com/cloudkb/xsrf-check-failed-when-calling-cloud-apis-826874382.html).
- title: Capabilities
anchor: capabilities
body: >-
**Webhooks:** A webhook is a user-defined callback over HTTP. You can
use Confluence webhooks to notify your app or web application when
certain events occur in Confluence. For example, when a page is created
or updated. To learn more, see
[Webhooks](https://developer.atlassian.com/cloud/confluence/modules/webhook/).
**Content properties:** Content properties are a key-value storage
associated with a piece of Confluence content. If you are building an
app, this is one form of persistence that you can use. You can use the
Confluence REST API to get, update, and delete content properties. To
learn more, see [Content properties in the REST
API](https://developer.atlassian.com/cloud/confluence/content-properties/).
**CQL:** The Confluence Query Language (CQL) allows you to perform
complex searches for content using an SQL-like syntax in the `search`
resource. To learn more, see [Advanced searching using
CQL](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/).