Confluence is a team collaboration and knowledge management platform that helps teams create, organize, and share content. Integrate Confluence with Superblocks to automate content creation, manage spaces and pages, and build powerful knowledge management workflows.
To get started you'll need a Confluence API token. To generate a token:
Once you have an access token, you're ready to set up your Superblocks integration.
Once your Confluence Cloud integration is created, you can start calling
Confluence Cloud actions in Superblocks APIs.
Confluence Cloud actions are REST requests. To learn more about REST requests in
Superblocks, see the
Building REST requests guide.
Get audit records
Returns all records in the audit log, optionally for a certain date range.
This contains information about events like space exports, group membership
changes, app installations, etc. For more information, see
[Audit log](https://confluence.atlassian.com/confcloud/audit-log-802164269.html)
in the Confluence administrator's guide.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Confluence Administrator' global permission.Create audit record
Creates a record in the audit log.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Confluence Administrator' global permission.Export audit records
Exports audit records as a CSV file or ZIP file.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Confluence Administrator' global permission.Get retention period
Returns the retention period for records in the audit log. The retention
period is how long an audit record is kept for, from creation date until
it is deleted.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Confluence Administrator' global permission.Set retention period
Sets the retention period for records in the audit log. The retention period
can be set to a maximum of 1 year.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Confluence Administrator' global permission.Get audit records for time period
Returns records from the audit log, for a time period back from the current
date. For example, you can use this method to get the last 3 months of records.
This contains information about events like space exports, group membership
changes, app installations, etc. For more information, see
[Audit log](https://confluence.atlassian.com/confcloud/audit-log-802164269.html)
in the Confluence administrator's guide.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Confluence Administrator' global permission.Archive pages
Archives a list of pages. The pages to be archived are specified as a list of content IDs.
This API accepts the archival request and returns a task ID.
The archival process happens asynchronously.
Use the /longtask/<taskId> REST API to get the copy task status.
Each content ID needs to resolve to page objects that are not already in an archived state.
The content IDs need not belong to the same space.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Archive' permission for each of the pages in the corresponding space it belongs to.Publish legacy draft
Publishes a legacy draft of a page created from a blueprint. Legacy drafts
will eventually be removed in favor of shared drafts. For now, this method
works the same as [Publish shared draft](#api-content-blueprint-instance-draftId-put).
By default, the following objects are expanded: `body.storage`, `history`, `space`, `version`, `ancestors`.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the draft and 'Add' permission for the space that
the content will be created in.Publish shared draft
Publishes a shared draft of a page created from a blueprint.
By default, the following objects are expanded: `body.storage`, `history`, `space`, `version`, `ancestors`.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the draft and 'Add' permission for the space that
the content will be created in.Search content by CQL
Returns the list of content that matches a Confluence Query Language
(CQL) query. For information on CQL, see:
[Advanced searching using CQL](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/).
Example initial call:
```
/wiki/rest/api/content/search?cql=type=page&limit=25
```
Example response:
```
{
"results": [
{ ... },
{ ... },
...
{ ... }
],
"limit": 25,
"size": 25,
...
"_links": {
"base": "<url>",
"context": "<url>",
"next": "/rest/api/content/search?cql=type=page&limit=25&cursor=raNDoMsTRiNg",
"self": "<url>"
}
}
```
When additional results are available, returns `next` and `prev` URLs to retrieve them in subsequent calls. The URLs each contain a cursor that points to the appropriate set of results. Use `limit` to specify the number of results returned in each call.
Example subsequent call (taken from example response):
```
/wiki/rest/api/content/search?cql=type=page&limit=25&cursor=raNDoMsTRiNg
```
The response to this will have a `prev` URL similar to the `next` in the example response.
If the expand query parameter is used with the `body.export_view` and/or `body.styled_view` properties, then the query limit parameter will be restricted to a maximum value of 25.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).
Only content that the user has permission to view will be returned.Delete page tree
Moves a pagetree rooted at a page to the space's trash:
- If the content's type is `page` and its status is `current`, it will be trashed including
all its descendants.
- For every other combination of content type and status, this API is not supported.
This API accepts the pageTree delete request and returns a task ID.
The delete process happens asynchronously.
Response example:
<pre><code>
{
"id" : "1180606",
"links" : {
"status" : "/rest/api/longtask/1180606"
}
}
</code></pre>
Use the `/longtask/<taskId>` REST API to get the copy task status.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Delete' permission for the space that the content is in.Move a page to a new location relative to a target page
Move a page to a new location relative to a target page:
* `before` - move the page under the same parent as the target, before the target in the list of children
* `after` - move the page under the same parent as the target, after the target in the list of children
* `append` - move the page to be a child of the target
Caution: This API can move pages to the top level of a space. Top-level pages are difficult to find in the UI
because they do not show up in the page tree display. To avoid this, never use `before` or `after` positions
when the `targetId` is a top-level page.Create attachment
Adds an attachment to a piece of content. This method only adds a new
attachment. If you want to update an existing attachment, use
[Create or update attachments](#api-content-id-child-attachment-put).
Note, you must set a `X-Atlassian-Token: nocheck` header on the request
for this method, otherwise it will be blocked. This protects against XSRF
attacks, which is necessary as this method accepts multipart/form-data.
The media type 'multipart/form-data' is defined in [RFC 7578](https://www.ietf.org/rfc/rfc7578.txt).
Most client libraries have classes that make it easier to implement
multipart posts, like the [MultipartEntityBuilder](https://hc.apache.org/httpcomponents-client-5.1.x/current/httpclient5/apidocs/)
Java class provided by Apache HTTP Components.
Note, according to [RFC 7578](https://tools.ietf.org/html/rfc7578#section-4.5),
in the case where the form data is text,
the charset parameter for the "text/plain" Content-Type may be used to
indicate the character encoding used in that part. In the case of this
API endpoint, the `comment` body parameter should be sent with `type=text/plain`
and `charset=utf-8` values. This will force the charset to be UTF-8.
Example: This curl command attaches a file ('example.txt') to a container
(id='123') with a comment and `minorEdits`=true.
``` bash
curl -D- \
-u admin:admin \
-X POST \
-H 'X-Atlassian-Token: nocheck' \
-F 'file=@"example.txt"' \
-F 'minorEdit="true"' \
-F 'comment="Example attachment comment"; type=text/plain; charset=utf-8' \
https://myhost/wiki/rest/api/content/123/child/attachment
```
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to update the content.Create or update attachment
Adds an attachment to a piece of content. If the attachment already exists
for the content, then the attachment is updated (i.e. a new version of the
attachment is created).
Note, you must set a `X-Atlassian-Token: nocheck` header on the request
for this method, otherwise it will be blocked. This protects against XSRF
attacks, which is necessary as this method accepts multipart/form-data.
The media type 'multipart/form-data' is defined in [RFC 7578](https://www.ietf.org/rfc/rfc7578.txt).
Most client libraries have classes that make it easier to implement
multipart posts, like the [MultipartEntityBuilder](https://hc.apache.org/httpcomponents-client-5.1.x/current/httpclient5/apidocs/)
Java class provided by Apache HTTP Components.
Note, according to [RFC 7578](https://tools.ietf.org/html/rfc7578#section-4.5),
in the case where the form data is text,
the charset parameter for the "text/plain" Content-Type may be used to
indicate the character encoding used in that part. In the case of this
API endpoint, the `comment` body parameter should be sent with `type=text/plain`
and `charset=utf-8` values. This will force the charset to be UTF-8.
Example: This curl command attaches a file ('example.txt') to a piece of
content (id='123') with a comment and `minorEdits`=true. If the 'example.txt'
file already exists, it will update it with a new version of the attachment.
``` bash
curl -D- \
-u admin:admin \
-X PUT \
-H 'X-Atlassian-Token: nocheck' \
-F 'file=@"example.txt"' \
-F 'minorEdit="true"' \
-F 'comment="Example attachment comment"; type=text/plain; charset=utf-8' \
http://myhost/rest/api/content/123/child/attachment
```
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to update the content.Update attachment properties
Updates the attachment properties, i.e. the non-binary data of an attachment
like the filename, media-type, comment, and parent container.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to update the content.Update attachment data
Updates the binary data of an attachment, given the attachment ID, and
optionally the comment and the minor edit field.
This method is essentially the same as [Create or update attachments](#api-content-id-child-attachment-put),
except that it matches the attachment ID rather than the name.
Note, you must set a `X-Atlassian-Token: nocheck` header on the request
for this method, otherwise it will be blocked. This protects against XSRF
attacks, which is necessary as this method accepts multipart/form-data.
The media type 'multipart/form-data' is defined in [RFC 7578](https://www.ietf.org/rfc/rfc7578.txt).
Most client libraries have classes that make it easier to implement
multipart posts, like the [MultipartEntityBuilder](https://hc.apache.org/httpcomponents-client-5.1.x/current/httpclient5/apidocs/)
Java class provided by Apache HTTP Components.
Note, according to [RFC 7578](https://tools.ietf.org/html/rfc7578#section-4.5),
in the case where the form data is text,
the charset parameter for the "text/plain" Content-Type may be used to
indicate the character encoding used in that part. In the case of this
API endpoint, the `comment` body parameter should be sent with `type=text/plain`
and `charset=utf-8` values. This will force the charset to be UTF-8.
Example: This curl command updates an attachment (id='att456') that is attached
to a piece of content (id='123') with a comment and `minorEdits`=true.
``` bash
curl -D- \
-u admin:admin \
-X POST \
-H 'X-Atlassian-Token: nocheck' \
-F 'file=@"example.txt"' \
-F 'minorEdit="true"' \
-F 'comment="Example attachment comment"; type=text/plain; charset=utf-8' \
http://myhost/rest/api/content/123/child/attachment/att456/data
```
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to update the content.Get URI to download attachment
Redirects the client to a URL that serves an attachment's binary data.Get content descendants
Returns a map of the descendants of a piece of content. This is similar
to [Get content children](#api-content-id-child-get), except that this
method returns child pages at all levels, rather than just the direct
child pages.
A piece of content has different types of descendants, depending on its type:
- `page`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`
- `whiteboard`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`
- `database`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`
- `embed`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`
- `folder`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`
- `blogpost`: descendant is `comment`, `attachment`
- `attachment`: descendant is `comment`
- `comment`: descendant is `attachment`
The map will always include all descendant types that are valid for the content.
However, if the content has no instances of a descendant type, the map will
contain an empty array for that descendant type.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'View' permission for the space, and permission to view the content if it
is a page.Get content descendants by type
Returns all descendants of a given type, for a piece of content. This is
similar to [Get content children by type](#api-content-id-child-type-get),
except that this method returns child pages at all levels, rather than just
the direct child pages.
A piece of content has different types of descendants, depending on its type:
- `page`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`
- `whiteboard`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`
- `database`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`
- `embed`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`
- `folder`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`
- `blogpost`: descendant is `comment`, `attachment`
- `attachment`: descendant is `comment`
- `comment`: descendant is `attachment`
Custom content types that are provided by apps can also be returned.
If the expand query parameter is used with the `body.export_view` and/or `body.styled_view` properties, then the query limit parameter will be restricted to a maximum value of 25.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'View' permission for the space, and permission to view the content if it
is a page.Get macro body by macro ID
Returns the body of a macro in storage format, for the given macro ID.
This includes information like the name of the macro, the body of the macro,
and any macro parameters. This method is mainly used by Cloud apps.
About the macro ID: When a macro is created in a new version of content,
Confluence will generate a random ID for it, unless an ID is specified
(by an app). The macro ID will look similar to this: '50884bd9-0cb8-41d5-98be-f80943c14f96'.
The ID is then persisted as new versions of content are created, and is
only modified by Confluence if there are conflicting IDs.
For Forge macros, the value for macro ID is the "local ID" of that particular ADF node.
This value can be retrieved either client-side by calling view.getContext() and accessing "localId"
on the resulting object, or server-side by examining the "local-id" parameter node inside the "parameters" node.
Note that there are other attributes named "local-id", but only this particular one is used to store the macro ID.
Example:
<ac:adf-node type="extension">
<ac:adf-attribute key="extension-type">com.atlassian.ecosystem</ac:adf-attribute>
<ac:adf-attribute key="parameters">
<ac:adf-parameter key="local-id">e9c4aa10-73fa-417c-888d-48c719ae4165</ac:adf-parameter>
</ac:adf-parameter>
</ac:adf-node>
Note, to preserve backwards compatibility this resource will also match on
the hash of the macro body, even if a macro ID is found. This check will
eventually become redundant, as macro IDs are generated for pages and
transparently propagate out to all instances.
This backwards compatibility logic does not apply to Forge macros; those
can only be retrieved by their ID.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the content that the macro is in.Get macro body by macro ID and convert the representation synchronously
Returns the body of a macro in format specified in path, for the given macro ID.
This includes information like the name of the macro, the body of the macro,
and any macro parameters.
About the macro ID: When a macro is created in a new version of content,
Confluence will generate a random ID for it, unless an ID is specified
(by an app). The macro ID will look similar to this: '50884bd9-0cb8-41d5-98be-f80943c14f96'.
The ID is then persisted as new versions of content are created, and is
only modified by Confluence if there are conflicting IDs.
For Forge macros, the value for macro ID is the "local ID" of that particular ADF node.
This value can be retrieved either client-side by calling view.getContext() and accessing "localId"
on the resulting object, or server-side by examining the "local-id" parameter node inside the "parameters" node.
Note that there are other attributes named "local-id", but only this particular one is used to store the macro ID.
Example:
<ac:adf-node type="extension">
<ac:adf-attribute key="extension-type">com.atlassian.ecosystem</ac:adf-attribute>
<ac:adf-attribute key="parameters">
<ac:adf-parameter key="local-id">e9c4aa10-73fa-417c-888d-48c719ae4165</ac:adf-parameter>
</ac:adf-parameter>
</ac:adf-node>
Note, to preserve backwards compatibility this resource will also match on
the hash of the macro body, even if a macro ID is found. This check will
eventually become redundant, as macro IDs are generated for pages and
transparently propagate out to all instances.
This backwards compatibility logic does not apply to Forge macros; those
can only be retrieved by their ID.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the content that the macro is in.Get macro body by macro ID and convert representation Asynchronously
Returns Async Id of the conversion task which will convert the macro into a content body of the desired format.
The result will be available for 5 minutes after completion of the conversion.
About the macro ID: When a macro is created in a new version of content,
Confluence will generate a random ID for it, unless an ID is specified
(by an app). The macro ID will look similar to this: '884bd9-0cb8-41d5-98be-f80943c14f96'.
The ID is then persisted as new versions of content are created, and is
only modified by Confluence if there are conflicting IDs.
For Forge macros, the value for macro ID is the "local ID" of that particular ADF node.
This value can be retrieved either client-side by calling view.getContext() and accessing "localId"
on the resulting object, or server-side by examining the "local-id" parameter node inside the "parameters" node.
Note that there are other attributes named "local-id", but only this particular one is used to store the macro ID.
Example:
<ac:adf-node type="extension">
<ac:adf-attribute key="extension-type">com.atlassian.ecosystem</ac:adf-attribute>
<ac:adf-attribute key="parameters">
<ac:adf-parameter key="local-id">e9c4aa10-73fa-417c-888d-48c719ae4165</ac:adf-parameter>
</ac:adf-parameter>
</ac:adf-node>
Note, to preserve backwards compatibility this resource will also match on
the hash of the macro body, even if a macro ID is found. This check will
eventually become redundant, as macro IDs are generated for pages and
transparently propagate out to all instances.
This backwards compatibility logic does not apply to Forge macros; those
can only be retrieved by their ID.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the content that the macro is in.Add labels to content
Adds labels to a piece of content. Does not modify the existing labels.
Notes:
- Labels can also be added when creating content ([Create content](#api-content-post)).
- Labels can be updated when updating content ([Update content](#api-content-id-put)).
This will delete the existing labels and replace them with the labels in
the request.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to update the content.Remove label from content using query parameter
Removes a label from a piece of content. Labels can't be deleted from archived content.
This is similar to [Remove label from content](#api-content-id-label-label-delete)
except that the label name is specified via a query parameter.
Use this method if the label name has "/" characters, as
[Remove label from content using query parameter](#api-content-id-label-delete)
does not accept "/" characters for the label name.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to update the content.Remove label from content
Removes a label from a piece of content. Labels can't be deleted from archived content.
This is similar to [Remove label from content using query parameter](#api-content-id-label-delete)
except that the label name is specified via a path parameter.
Use this method if the label name does not have "/" characters, as the path
parameter does not accept "/" characters for security reasons. Otherwise,
use [Remove label from content using query parameter](#api-content-id-label-delete).
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to update the content.Get watches for page
Returns the watches for a page. A user that watches a page will receive
receive notifications when the page is updated.
If you want to manage watches for a page, use the following `user` methods:
- [Get content watch status for user](#api-user-watch-content-contentId-get)
- [Add content watch](#api-user-watch-content-contentId-post)
- [Remove content watch](#api-user-watch-content-contentId-delete)
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Get watches for space
Returns all space watches for the space that the content is in. A user that
watches a space will receive receive notifications when any content in the
space is updated.
If you want to manage watches for a space, use the following `user` methods:
- [Get space watch status for user](#api-user-watch-space-spaceKey-get)
- [Add space watch](#api-user-watch-space-spaceKey-post)
- [Remove space watch](#api-user-watch-space-spaceKey-delete)
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Copy page hierarchy
Copy page hierarchy allows the copying of an entire hierarchy of pages and their associated properties, permissions and attachments.
The id path parameter refers to the content id of the page to copy, and the new parent of this copied page is defined using the destinationPageId in the request body.
The titleOptions object defines the rules of renaming page titles during the copy;
for example, search and replace can be used in conjunction to rewrite the copied page titles.
Response example:
<pre><code>
{
"id" : "1180606",
"links" : {
"status" : "/rest/api/longtask/1180606"
}
}
</code></pre>
Use the /longtask/<taskId> REST API to get the copy task status.Copy single page
Copies a single page and its associated properties, permissions, attachments, and custom contents.
The `id` path parameter refers to the content ID of the page to copy. The target of the page to be copied
is defined using the `destination` in the request body and can be one of the following types.
- `space`: page will be copied to the specified space as a root page on the space
- `parent_page`: page will be copied as a child of the specified parent page
- `parent_content`: page will be copied as a child of the specified parent content
- `existing_page`: page will be copied and replace the specified page
By default, the following objects are expanded: `space`, `history`, `version`.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**: 'Add' permission for the space that the content will be copied in and permission to update the content if copying to an `existing_page`.Check content permissions
Check if a user or a group can perform an operation to the specified content. The `operation` to check
must be provided. The user’s account ID or the ID of the group can be provided in the `subject` to check
permissions against a specified user or group. The following permission checks are done to make sure that the
user or group has the proper access:
- site permissions
- space permissions
- content restrictions
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission) if checking permission for self,
otherwise 'Confluence Administrator' global permission is required.Get restrictions
Returns the restrictions on a piece of content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the content.Add restrictions
Adds restrictions to a piece of content. Note, this does not change any
existing restrictions on the content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to edit the content.Update restrictions
Updates restrictions for a piece of content. This removes the existing
restrictions and replaces them with the restrictions in the request.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to edit the content.Delete restrictions
Removes all restrictions (read and update) on a piece of content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to edit the content.Get restrictions by operation
Returns restrictions on a piece of content by operation. This method is
similar to [Get restrictions](#api-content-id-restriction-get) except that
the operations are properties of the return object, rather than items in
a results array.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the content.Get restrictions for operation
Returns the restictions on a piece of content for a given operation (read
or update).
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the content.Get content restriction status for group
Returns whether the specified content restriction applies to a group.
For example, if a page with `id=123` has a `read` restriction for the `123456` group id,
the following request will return `true`:
`/wiki/rest/api/content/123/restriction/byOperation/read/byGroupId/123456`
Note that a response of `true` does not guarantee that the group can view the page, as it does not account for
account-inherited restrictions, space permissions, or even product access. For more
information, see [Confluence permissions](https://confluence.atlassian.com/x/_AozKw).
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the content.Add group to content restriction
Adds a group to a content restriction by Group Id. That is, grant read or update
permission to the group for a piece of content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to edit the content.Remove group from content restriction
Removes a group from a content restriction. That is, remove read or update
permission for the group for a piece of content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to edit the content.Get content restriction status for user
Returns whether the specified content restriction applies to a user.
For example, if a page with `id=123` has a `read` restriction for a user with an account ID of
`384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`, the following request will return `true`:
`/wiki/rest/api/content/123/restriction/byOperation/read/user?accountId=384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`
Note that a response of `true` does not guarantee that the user can view the page, as it does not account for
account-inherited restrictions, space permissions, or even product access. For more
information, see [Confluence permissions](https://confluence.atlassian.com/x/_AozKw).
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the content.Add user to content restriction
Adds a user to a content restriction. That is, grant read or update
permission to the user for a piece of content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to edit the content.Remove user from content restriction
Removes a group from a content restriction. That is, remove read or update
permission for the group for a piece of content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to edit the content.Get content state
Gets the current content state of the draft or current version of content. To specify the draft version, set
the parameter status to draft, otherwise archived or current will get the relevant published state.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the content.Set the content state of a content and publishes a new version of the content.
Sets the content state of the content specified and creates a new version
(publishes the content without changing the body) of the content with the new state.
You may pass in either an id of a state, or the name and color of a desired new state.
If all 3 are passed in, id will be used.
If the name and color passed in already exist under the current user's existing custom states, the existing state will be reused.
If custom states are disabled in the space of the content (which can be determined by getting the content state space settings of the content's space)
then this set will fail.
You may not remove a content state via this PUT request. You must use the DELETE method. A specified state is required in the body of this request.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to edit the content.Removes the content state of a content and publishes a new version.
Removes the content state of the content specified and creates a new version
(publishes the content without changing the body) of the content with the new status.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to edit the content.Gets available content states for content.
Gets content states that are available for the content to be set as.
Will return all enabled Space Content States.
Will only return most the 3 most recently published custom content states to match UI editor list.
To get all custom content states, use the /content-states endpoint.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to edit the content.Restore content version
Restores a historical version to be the latest version. That is, a new version
is created with the content of the historical version.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to update the content.Delete content version
Delete a historical version. This does not delete the changes made to the
content in that version, rather the changes for the deleted version are
rolled up into the next version. Note, you cannot delete the current version.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to update the content.Get Custom Content States
Get custom content states that authenticated user has created.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**
Must have user authentication.Asynchronously convert content body
Converts a content body from one format to another format asynchronously.
Returns the asyncId for the asynchronous task.
Supported conversions:
- atlas_doc_format: editor, export_view, storage, styled_view, view
- storage: atlas_doc_format, editor, export_view, styled_view, view
- editor: storage
No other conversions are supported at the moment.
Once a conversion is completed, it will be available for 5 minutes at the result endpoint.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
If request specifies 'contentIdContext', 'View' permission for the space, and permission to view the content.Get asynchronously converted content body from the id or the current status of the task.
Returns the asynchronous content body for the corresponding id if the task is complete
or returns the status of the task.
After the task is completed, the result can be obtained for 5 minutes, or until an identical conversion request is made again,
with allowCache query param set to false.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
If request specifies 'contentIdContext', 'View' permission for the space, and permission to view the content.Get asynchronous content body conversion task result in bulk
Returns the content body for the corresponding `asyncId` of a completed conversion task. If
the task is not completed, the task status is returned instead.
Once a conversion task is completed, the result can be obtained for up to 5 minutes, or
until an identical conversion request is made again with the `allowCache` parameter set to
false.
Note that there is a maximum limit of 50 task results per request to this endpoint.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Create asynchronous content body conversion tasks in bulk
Asynchronously converts content bodies from one format to another format in bulk. Use the Content body
REST API to get the status of conversion tasks. Note that there is a maximum limit of 10 conversions per
request to this endpoint.
Supported conversions:
- storage: editor, export_view, styled_view, view
- editor: storage
Once a conversion task is completed, it is available for polling for up to 5 minutes.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'View' permission for the space, and permission to view the content if the `spaceKeyContext` or
`contentIdContext` are present.Get label information
Returns label information and a list of contents associated with the label.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission). Only contents
that the user is permitted to view is returned.Get groups
Returns all user groups. The returned groups are ordered alphabetically in
ascending order by group name.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Create new user group
Creates a new user group.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
User must be a site admin.Get group
Returns a user group for a given group id.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Delete user group
Delete user group.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
User must be a site admin.Search groups by partial query
Get search results of groups by partial query provided.Get group members
Returns the users that are members of a group.
Use updated Get group API
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Add member to group by groupId
Adds a user as a member in a group represented by its groupId
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
User must be a site admin.Remove member from group using group id
Remove user as a member from a group.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
User must be a site admin.Get long-running tasks
Returns information about all active long-running tasks (e.g. space export),
such as how long each task has been running and the percentage of each task
that has completed.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Get long-running task
Returns information about an active long-running task (e.g. space export),
such as how long it has been running and the percentage of the task that
has completed.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Find target entities related to a source entity
Returns all target entities that have a particular relationship to the
source entity. Note, relationships are one way.
For example, the following method finds all content that the current user
has an 'ignore' relationship with:
`GET /wiki/rest/api/relation/ignore/from/user/current/to/content`
Note, 'ignore' is an example custom relationship type.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view both the target entity and source entity.Find relationship from source to target
Find whether a particular type of relationship exists from a source
entity to a target entity. Note, relationships are one way.
For example, you can use this method to find whether the current user has
selected a particular page as a favorite (i.e. 'save for later'):
`GET /wiki/rest/api/relation/favourite/from/user/current/to/content/123`
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view both the target entity and source entity.Create relationship
Creates a relationship between two entities (user, space, content). The
'favourite' relationship is supported by default, but you can use this method
to create any type of relationship between two entities.
For example, the following method creates a 'sibling' relationship between
two pieces of content:
`PUT /wiki/rest/api/relation/sibling/from/content/123/to/content/456`
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Delete relationship
Deletes a relationship between two entities (user, space, content).
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).
For favourite relationships, the current user can only delete their own
favourite relationships. A space administrator can delete favourite
relationships for any user.Find source entities related to a target entity
Returns all target entities that have a particular relationship to the
source entity. Note, relationships are one way.
For example, the following method finds all users that have a 'collaborator'
relationship to a piece of content with an ID of '1234':
`GET /wiki/rest/api/relation/collaborator/to/content/1234/from/user`
Note, 'collaborator' is an example custom relationship type.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view both the target entity and source entity.Search content
Searches for content using the
[Confluence Query Language (CQL)](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/).
**Note that CQL input queries submitted through the `/wiki/rest/api/search` endpoint no longer support user-specific fields like `user`, `user.fullname`, `user.accountid`, and `user.userkey`.**
See this [deprecation notice](https://developer.atlassian.com/cloud/confluence/deprecation-notice-search-api/) for more details.
Example initial call:
```
/wiki/rest/api/search?cql=type=page&limit=25
```
Example response:
```
{
"results": [
{ ... },
{ ... },
...
{ ... }
],
"limit": 25,
"size": 25,
...
"_links": {
"base": "<url>",
"context": "<url>",
"next": "/rest/api/search?cql=type=page&limit=25&cursor=raNDoMsTRiNg",
"self": "<url>"
}
}
```
When additional results are available, returns `next` and `prev` URLs to retrieve them in subsequent calls. The URLs each contain a cursor that points to the appropriate set of results. Use `limit` to specify the number of results returned in each call.
Example subsequent call (taken from example response):
```
/wiki/rest/api/search?cql=type=page&limit=25&cursor=raNDoMsTRiNg
```
The response to this will have a `prev` URL similar to the `next` in the example response.
If the expand query parameter is used with the `body.export_view` and/or `body.styled_view` properties, then the query limit parameter will be restricted to a maximum value of 25.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the entities. Note, only entities that the user has
permission to view will be returned.Search users
Searches for users using user-specific queries from the
[Confluence Query Language (CQL)](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/).
Note that CQL input queries submitted through the `/wiki/rest/api/search/user` endpoint only support user-specific fields like `user`, `user.fullname`, `user.accountid`, and `user.userkey`.
Note that some user fields may be set to null depending on the user's privacy settings.
These are: email, profilePicture, displayName, and timeZone.Get look and feel settings
Returns the look and feel settings for the site or a single space. This
includes attributes such as the color scheme, padding, and border radius.
The look and feel settings for a space can be inherited from the global
look and feel settings or provided by a theme.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
NoneSelect look and feel settings
Sets the look and feel settings to the default (global) settings, the
custom settings, or the current theme's settings for a space.
The custom and theme settings can only be selected if there is already
a theme set for a space. Note, the default space settings are inherited
from the current global settings.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space.Update look and feel settings
Updates the look and feel settings for the site or for a single space.
If custom settings exist, they are updated. If no custom settings exist,
then a set of custom settings is created.
Note, if a theme is selected for a space, the space look and feel settings
are provided by the theme and cannot be overridden.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space.Reset look and feel settings
Resets the custom look and feel settings for the site or a single space.
This changes the values of the custom settings to be the same as the
default settings. It does not change which settings (default or custom)
are selected. Note, the default space settings are inherited from the
current global settings.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space.Get system info
Returns the system information for the Confluence Cloud tenant. This
information is used by Atlassian.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Get themes
Returns all themes, not including the default theme.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**: NoneGet global theme
Returns the globally assigned theme.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**: NoneGet theme
Returns a theme. This includes information about the theme name,
description, and icon.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**: NoneCreate space
Creates a new space. Note, currently you cannot set space labels when
creating a space.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Create Space(s)' global permission.Create private space
Creates a new space that is only visible to the creator. This method is
the same as the [Create space](#api-space-post) method with permissions
set to the current user only. Note, currently you cannot set space
labels when creating a space.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Create Space(s)' global permission.Update space
Updates the name, description, or homepage of a space.
- For security reasons, permissions cannot be updated via the API and
must be changed via the user interface instead.
- Currently you cannot set space labels when updating a space.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space.Delete space
Permanently deletes a space without sending it to the trash. Note, the space will be deleted in a long running task.
Therefore, the space may not be deleted yet when this method has
returned. Clients should poll the status link that is returned in the
response until the task completes.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space.Add new permission to space
Adds new permission to space.
If the permission to be added is a group permission, the group can be identified
by its group name or group id.
Note: Apps cannot access this REST resource - including when utilizing user impersonation.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space.Add new custom content permission to space
Adds new custom content permission to space.
If the permission to be added is a group permission, the group can be identified
by its group name or group id.
Note: Only apps can access this REST resource and only make changes to the respective app permissions.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space.Remove a space permission
Removes a space permission. Note that removing Read Space permission for a user or group will remove all
the space permissions for that user or group.
Note: Apps cannot access this REST resource - including when utilizing user impersonation.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space.Get space settings
Returns the settings of a space. Currently only the
`routeOverrideEnabled` setting can be returned.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'View' permission for the space.Update space settings
Updates the settings for a space. Currently only the
`routeOverrideEnabled` setting can be updated.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space.Get space suggested content states
Get content states that are suggested in the space.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'View' permission for the space.Get content state settings for space
Get object describing whether content states are allowed at all, if custom content states or space content states
are restricted, and a list of space content states allowed for the space if they are not restricted.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space.Get content in space with given content state
Returns all content that has the provided content state in a space.
If the expand query parameter is used with the `body.export_view` and/or `body.styled_view` properties, then the query limit parameter will be restricted to a maximum value of 25.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'View' permission for the space.Get space theme
Returns the theme selected for a space, if one is set. If no space
theme is set, this means that the space is inheriting the global look
and feel settings.
**[Permissions required](https://confluence.atlassian.com/x/_AozKw)**: ‘View’ permission for the space.Set space theme
Sets the theme for a space. Note, if you want to reset the space theme to
the default Confluence theme, use the 'Reset space theme' method instead
of this method.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space.Reset space theme
Resets the space theme. This means that the space will inherit the
global look and feel settings
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space.Get space watchers
Returns a list of watchers of a spaceGet Space Labels
Returns a list of labels associated with a space. Can provide a prefix as well as other filters to
select different types of labels.Add labels to a space
Adds labels to a piece of content. Does not modify the existing labels.
Notes:
- Labels can also be added when creating content ([Create content](#api-content-post)).
- Labels can be updated when updating content ([Update content](#api-content-id-put)).
This will delete the existing labels and replace them with the labels in
the request.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to update the content.Remove label from a space
Create content template
Creates a new content template. Note, blueprint templates cannot be created via the REST API.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space to create a space template or 'Confluence Administrator'
global permission to create a global template.Update content template
Updates a content template. Note, blueprint templates cannot be updated
via the REST API.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space to update a space template or 'Confluence Administrator'
global permission to update a global template.Get blueprint templates
Returns all templates provided by blueprints. Use this method to retrieve
all global blueprint templates or all blueprint templates in a space.
Note, all global blueprints are inherited by each space. Space blueprints
can be customised without affecting the global blueprints.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'View' permission for the space to view blueprints for the space and permission
to access the Confluence site ('Can use' global permission) to view global blueprints.Get content templates
Returns all content templates. Use this method to retrieve all global
content templates or all content templates in a space.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'View' permission for the space to view space templates and permission to
access the Confluence site ('Can use' global permission) to view global templates.Get content template
Returns a content template. This includes information about template,
like the name, the space or blueprint that the template is in, the body
of the template, and more.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'View' permission for the space to view space templates and permission to
access the Confluence site ('Can use' global permission) to view global templates.Remove template
Deletes a template. This results in different actions depending on the
type of template:
- If the template is a content template, it is deleted.
- If the template is a modified space-level blueprint template, it reverts
to the template inherited from the global-level blueprint template.
- If the template is a modified global-level blueprint template, it reverts
to the default global-level blueprint template.
Note, unmodified blueprint templates cannot be deleted.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
'Admin' permission for the space to delete a space template or 'Confluence Administrator'
global permission to delete a global template.Get user
Returns a user. This includes information about the user, such as the
display name, account ID, profile picture, and more. The information returned may be
restricted by the user's profile visibility settings.
**Note:** to add, edit, or delete users in your organization, see the
[user management REST API](/cloud/admin/user-management/about/).
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Get anonymous user
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).Get current user
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).Get group memberships for user
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).Get multiple users using ids
Returns user details for the ids provided in the request.
Currently this API returns a maximum of 100 results.
If more than 100 account ids are passed in, then the first 100 will be returned.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Get content watch status
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).Add content watcher
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).Remove content watcher
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).Get label watch status
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).Add label watcher
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).Remove label watcher
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).Get space watch status
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).Add space watcher
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).Remove space watch
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).Get user email address
Returns a user's email address regardless of the user’s profile visibility settings. For Connect apps, 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).
For Forge apps, this API only supports access via asApp() requests.
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to access the Confluence site ('Can use' global permission).Get user email addresses in batch
Returns a user's email address regardless of the user’s profile visibility settings. For Connect apps, 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).
For Forge apps, this API only supports access via asApp() requests.
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).Get modules
Returns all modules registered dynamically by the calling app.
**[Permissions](#permissions) required:** Only Connect apps can make this request.Register modules
Registers a list of modules. For the list of modules that support dynamic registration, see [Dynamic modules](https://developer.atlassian.com/cloud/confluence/dynamic-modules/).
**[Permissions](#permissions) required:** Only Connect apps can make this request.Remove modules
Remove all or a list of modules registered by the calling app.
**[Permissions](#permissions) required:** Only Connect apps can make this request.Get views
Get the total number of views a piece of content has.Get viewers
Get the total number of distinct viewers a piece of content has.Get user properties
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).Get user property
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).Create user property by key
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).Update user property
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).Delete user property
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).and 115 more
To use this action simply add the method, path, required query parameters, and body for the desired endpoint.