openapi: 3.0.1
info:
title: Atlassian The Confluence Cloud REST API
description: >-
This document describes the REST API and resources provided by Confluence.
The REST APIs are for developers who want to integrate Confluence into their
application and for administrators who want to script interactions with the
Confluence server.Confluence's REST APIs provide access to resources (data
entities) via URI paths. To use a REST API, your application will make an
HTTP request and parse the response. The response format is JSON. Your
methods will be the standard HTTP methods like GET, PUT, POST and DELETE.
Because the REST API is based on open standards, you can use any web
development language to access the API.
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: Analytics
description: ''
- name: Audit
description: ''
- name: Content
description: ''
- name: Content - Attachments
description: ''
- name: Content - Children and Descendants
description: ''
- name: Content - Macro Body
description: ''
- name: Content Body
- name: Content Comments
- name: Content Labels
- name: Content Permissions
- name: Content Properties
- name: Content Restrictions
- name: Content States
- name: Content Versions
- name: Content Watches
- name: Dynamic Modules
description: ''
- name: Experimental
description: APIs in this section can change without any prior deprecation notice.
- name: Group
- name: Inline Tasks
description: ''
- name: Label Info
- name: Long-Running Task
description: ''
- name: Relation
description: ''
- name: Search
description: ''
- name: Settings
description: ''
- name: Space
description: ''
- name: Space Permissions
description: ''
- name: Space Properties
description: ''
- name: Space Settings
description: ''
- name: Template
- name: Themes
description: ''
- name: User Properties
description: ''
- name: Users
description: ''
paths:
/wiki/rest/api/audit:
get:
tags:
- Audit
summary: Atlassian Get Audit Records
description: >-
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.
operationId: atlassianGetauditrecords
parameters:
- name: startDate
in: query
description: >-
Filters the results to the records on or after the `startDate`.
The `startDate` must be specified as [epoch
time](https://www.epochconverter.com/) in milliseconds.
schema:
type: string
- name: endDate
in: query
description: >-
Filters the results to the records on or before the `endDate`.
The `endDate` must be specified as [epoch
time](https://www.epochconverter.com/) in milliseconds.
schema:
type: string
- name: searchString
in: query
description: |-
Filters the results to records that have string property values
matching the `searchString`.
schema:
type: string
- name: start
in: query
description: The starting index of the returned records.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of records to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 1000
responses:
'200':
description: Returned if the requested records are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/AuditRecordArray'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: >-
Returned if the calling user does not have permission to view the
audit
log.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:audit-log:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:audit-log:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: INACCESSIBLE
post:
tags:
- Audit
summary: Atlassian Create Audit Record
description: >-
Creates a record in the audit
log.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'Confluence Administrator' global permission.
operationId: atlassianCreateauditrecord
requestBody:
description: The record to be created in the audit log.
content:
application/json:
schema:
$ref: '#/components/schemas/AuditRecordCreate'
required: true
responses:
'200':
description: Returned if the record is created in the audit log.
content:
application/json:
schema:
$ref: '#/components/schemas/AuditRecord'
'400':
description: Returned if the `remoteAddress` property is not specified.
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:audit-log:confluence
- write:audit-log:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:audit-log:confluence
- write:audit-log:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: INACCESSIBLE
/wiki/rest/api/audit/export:
get:
tags:
- Audit
summary: Atlassian Export Audit Records
description: >-
Exports audit records as a CSV file or ZIP
file.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'Confluence Administrator' global permission.
operationId: atlassianExportauditrecords
parameters:
- name: startDate
in: query
description: >-
Filters the exported results to the records on or after the
`startDate`.
The `startDate` must be specified as [epoch
time](https://www.epochconverter.com/) in milliseconds.
schema:
type: string
- name: endDate
in: query
description: >-
Filters the exported results to the records on or before the
`endDate`.
The `endDate` must be specified as [epoch
time](https://www.epochconverter.com/) in milliseconds.
schema:
type: string
- name: searchString
in: query
description: >-
Filters the exported results to records that have string property
values
matching the `searchString`.
schema:
type: string
- name: format
in: query
description: The format of the export file for the audit records.
schema:
type: string
default: csv
enum:
- csv
- zip
responses:
'200':
description: Returned if the requested export of the audit records is returned.
content:
application/zip:
schema:
type: string
format: binary
text/csv:
schema:
type: string
format: binary
'403':
description: >-
Returned if the calling user does not have permission to view the
audit
log.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:audit-log:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:audit-log:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: INACCESSIBLE
/wiki/rest/api/audit/retention:
get:
tags:
- Audit
summary: Atlassian Get Retention Period
description: >-
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.
operationId: atlassianGetretentionperiod
responses:
'200':
description: Returned if the requested retention period is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/RetentionPeriod'
'403':
description: >-
Returned if the calling user does not have permission to view the
audit
log.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:audit-log:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:audit-log:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: INACCESSIBLE
put:
tags:
- Audit
summary: Atlassian Set Retention Period
description: >-
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.
operationId: atlassianSetretentionperiod
requestBody:
description: The updated retention period.
content:
application/json:
schema:
$ref: '#/components/schemas/RetentionPeriod'
required: true
responses:
'200':
description: Returned if the retention period is updated.
content:
application/json:
schema:
$ref: '#/components/schemas/RetentionPeriod'
'403':
description: >-
Returned if the calling user does not have permission to view the
audit
log.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:audit-log:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:audit-log:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: INACCESSIBLE
/wiki/rest/api/audit/since:
get:
tags:
- Audit
summary: Atlassian Get Audit Records For Time Period
description: >-
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.
operationId: atlassianGetauditrecordsfortimeperiod
parameters:
- name: number
in: query
description: The number of units for the time period.
schema:
type: integer
format: int64
default: 3
- name: units
in: query
description: The unit of time that the time period is measured in.
schema:
type: string
default: MONTHS
enum:
- NANOS
- MICROS
- MILLIS
- SECONDS
- MINUTES
- HOURS
- HALF_DAYS
- DAYS
- WEEKS
- MONTHS
- YEARS
- DECADES
- CENTURIES
- name: searchString
in: query
description: |-
Filters the results to records that have string property values
matching the `searchString`.
schema:
type: string
- name: start
in: query
description: The starting index of the returned records.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of records to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 1000
responses:
'200':
description: Returned if the requested records are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/AuditRecordArray'
'403':
description: >-
Returned if the calling user does not have permission to view the
audit
log.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:audit-log:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:audit-log:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: INACCESSIBLE
/wiki/rest/api/content:
get:
tags:
- Content
summary: Atlassian Get Content
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
all content in a Confluence instance.
By default, the following
objects are expanded: `space`, `history`,
`version`.
**[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.
operationId: atlassianGetcontent
parameters:
- name: type
in: query
description: |-
The type of content to return. For example:
- page
- blogpost
schema:
type: string
default: page
- name: spaceKey
in: query
description: The key of the space to be queried for its content.
schema:
type: string
- name: title
in: query
description: >-
The title of the page to be returned. Required for page
type.
schema:
type: string
- name: status
in: query
description: >-
Filter the results to a set of content based on their status. If set
to `any`,
content with any status is returned. Note, the `historical` status
is currently
not supported.
style: form
explode: true
schema:
type: array
items:
type: string
default:
- current
enum:
- current
- trashed
- deleted
- historical
- draft
- any
- name: postingDay
in: query
description: |-
The posting date of the blog post to be returned. Required for
blogpost type. Format: yyyy-mm-dd.
schema:
type: string
- $ref: '#/components/parameters/contentExpandWithSubExpandLimit'
- name: trigger
in: query
description: >-
If set to `viewed`, the request will trigger a 'viewed' event for
the content.
When this event is triggered, the page/blogpost will appear on the
'Recently visited'
tab of the user's Confluence dashboard.
schema:
type: string
enum:
- viewed
- name: orderby
in: query
description: >-
Orders the content by a particular field. Specify the field and sort
direction for
this parameter, as follows: 'fieldpath asc/desc'. For example,
'history.createdDate desc'.
schema:
type: string
- name: start
in: query
description: The starting index of the returned content.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of content objects to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
responses:
'200':
description: Returned if the requested list of content is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentArray'
'400':
description: Returned if sub-expansions limit exceeds.
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 correct permission to read this
content.
content: {}
'404':
description: |-
Returned if the calling user does not have permission to view the
requested content.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
post:
tags:
- Content
summary: Atlassian Create Content
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Creates
a new piece of content or publishes an existing draft.
To publish
a draft, add the `id` and `status` properties to the body of the
request.
Set the `id` to the ID of the draft and set the `status` to
'current'. When the
request is sent, a new piece of content will be
created and the metadata from the
draft will be transferred into
it.
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
created in, and permission to view the draft if publishing a draft.
operationId: atlassianCreatecontent
parameters:
- name: status
in: query
description: Filter the returned content by status.
schema:
type: string
default: current
- $ref: '#/components/parameters/contentExpandWithSubExpandLimit'
requestBody:
description: >-
The new content to be created. Set the `representation` to the name of
the body
format type. For example, if you use `storage` for the body format,
set
'`representation`=`storage`'. See
[Confluence storage
format](https://confluence.atlassian.com/x/AJkiLw).
If you are not sure how to generate the different formats, you can
create a page in the
Confluence application, retrieve the content using [Get
content](#api-content-get),
and expand the desired content format, e.g. `expand=body.storage`.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentCreate'
required: true
responses:
'200':
description: Returned if the content is created.
content:
application/json:
schema:
$ref: '#/components/schemas/Content'
'400':
description: |-
Returned if;
- The content type is invalid.
- The sub-expansions limit exceeds.
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: >-
Returned if;
- The space that the content is being created in does not exist.
- If the requesting user does not have permission to create content
in it.
content: {}
'404':
description: >-
Returned if;
- The parent content is invalid -- user does not have permission or
it does not exist.
'413':
description: >-
Returned if request is too large. Requests for this resource can be
at most 5242880 bytes
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: content
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/archive:
post:
tags:
- Content
summary: Atlassian Archive Pages
description: >-
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/ 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.
operationId: atlassianArchivepages
requestBody:
description: The pages to be archived.
content:
application/json:
schema:
type: object
properties:
pages:
type: array
items:
type: object
required:
- id
properties:
id:
type: integer
format: int64
description: The `id` of the page to be archived.
responses:
'202':
description: Returned if the archive request has been submitted.
content:
application/json:
schema:
$ref: '#/components/schemas/LongTask'
'400':
description: >-
Returned if:
- there is an archival job already running for the tenant.
- the number of pages to archive is larger than the limit of 300.
- any of the content IDs specified in the array do not resolve to
pages.
- any of the specified pages are already archived.
- the request is coming from a free edition tenant.
- the request is coming from a non premium edition tenant with more
than 1 page ID
in the archive request.
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.metadata:confluence
- write:page:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-experimental: true
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/blueprint/instance/{draftId}:
put:
tags:
- Content
summary: Atlassian Publish Shared Draft
description: >-
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.
operationId: atlassianPublishshareddraft
parameters:
- name: draftId
in: path
description: |-
The ID of the draft page that was created from a blueprint.
You can find the `draftId` in the Confluence application by
opening the draft page and checking the page URL.
required: true
schema:
type: string
- name: status
in: query
description: |-
The status of the content to be updated, i.e. the draft. This is set
to 'draft' by default, so you shouldn't need to specify it.
schema:
type: string
default: draft
- $ref: '#/components/parameters/contentExpand'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContentBlueprintDraft'
required: true
responses:
'200':
description: Returned if the draft was successfully published.
content:
application/json:
schema:
$ref: '#/components/schemas/Content'
'400':
description: |-
Returned if a title is not specified or a page with the
title already exists.
content: {}
'409':
description: Returned if the version is not set to 1.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
post:
tags:
- Content
summary: Atlassian Publish Legacy Draft
description: >-
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.
operationId: atlassianPublishlegacydraft
parameters:
- name: draftId
in: path
description: |-
The ID of the draft page that was created from a blueprint.
You can find the `draftId` in the Confluence application by
opening the draft page and checking the page URL.
required: true
schema:
type: string
- name: status
in: query
description: |-
The status of the content to be updated, i.e. the draft. This is set
to 'draft' by default, so you shouldn't need to specify it.
schema:
type: string
default: draft
- $ref: '#/components/parameters/contentExpand'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContentBlueprintDraft'
required: true
responses:
'200':
description: Returned if the draft was successfully published.
content:
application/json:
schema:
$ref: '#/components/schemas/Content'
'400':
description: |-
Returned if a title is not specified or a page with the
title already exists.
content: {}
'409':
description: Returned if the version is not set to 1.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/search:
get:
tags:
- Content
summary: Atlassian Search Content By Cql
description: >-
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": "",
"context":
"",
"next":
"/rest/api/content/search?cql=type=page&limit=25&cursor=raNDoMsTRiNg",
"self": ""
}
}
```
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.
**[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.
operationId: atlassianSearchcontentbycql
parameters:
- name: cql
in: query
description: The CQL string that is used to find the requested content.
required: true
schema:
type: string
- name: cqlcontext
in: query
description: >-
The space, content, and content status to execute the search
against.
Specify this as an object with the following properties:
- `spaceKey` Key of the space to search against. Optional.
- `contentId` ID of the content to search against. Optional. Must
be in the space spacified by `spaceKey`.
- `contentStatuses` Content statuses to search against. Optional.
schema:
type: string
- $ref: '#/components/parameters/contentExpand'
- name: cursor
in: query
description: >-
Pointer to a set of search results, returned as part of the `next`
or `prev` URL from the previous search call.
schema:
type: string
- name: limit
in: query
description: |-
The maximum number of content objects to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
responses:
'200':
description: Returned if the requested list of content is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentArray'
'400':
description: Returned if the CQL is invalid or missing.
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- search:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- search:confluence
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}:
get:
tags:
- Content
summary: Atlassian Get Content By Id
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
a single piece of content, like a page or a blog post.
By
default, the following objects are expanded: `space`, `history`,
`version`.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to view the content. If the content is a blog
post, 'View' permission
for the space is required.
operationId: atlassianGetcontentbyid
parameters:
- name: id
in: path
description: >-
The ID of the content to be returned. If you don't know the content
ID,
use [Get content](#api-content-get) and filter the results.
required: true
schema:
type: string
- name: status
in: query
description: |-
Filter the results to a set of content based on their status.
If set to `any`, content with any status is returned. Note, the
`historical` status is currently not supported.
style: form
explode: true
schema:
type: array
items:
type: string
default:
- current
enum:
- current
- trashed
- deleted
- historical
- draft
- any
- name: version
in: query
description: The version number of the content to be returned.
schema:
type: integer
format: int32
- name: embeddedContentRender
in: query
description: >-
The version of embedded content (e.g. attachments) to render.
- current renders the latest version of the embedded
content.
- version-at-save renders the version of the embedded
content
at the time of save.
schema:
type: string
default: current
enum:
- current
- version-at-save
- $ref: '#/components/parameters/contentExpandWithSubExpandLimit'
- name: trigger
in: query
description: >-
If set to `viewed`, the request will trigger a 'viewed' event for
the content.
When this event is triggered, the page/blogpost will appear on the
'Recently visited'
tab of the user's Confluence dashboard.
schema:
type: string
enum:
- viewed
responses:
'200':
description: Returned if the requested content is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Content'
'400':
description: |-
Returned if;
- The content id is invalid.
- The sub-expansions limit exceeds.
content: {}
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: Returned if the calling user can not view the content.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The requesting user does not have permission to view the content.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
put:
tags:
- Content
summary: Atlassian Update Content
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Updates
a piece of content. Use this method to update the title or body
of a
piece of content, change the status, change the parent page, and
more.
Note, updating draft content is currently not
supported.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to update the content.
operationId: atlassianUpdatecontent
parameters:
- name: id
in: path
description: The ID of the content to be updated.
required: true
schema:
type: string
- name: status
in: query
description: >-
The updated status of the content. Use this parameter to change the
status of a piece of content without passing the entire request
body.
schema:
type: string
default: current
enum:
- current
- trashed
- deleted
- historical
- draft
- name: conflictPolicy
in: query
description: |-
The action that should be taken when conflicts are discovered.
Only used when publishing a draft page.
schema:
type: string
default: abort
enum:
- abort
requestBody:
description: The updated content.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentUpdate'
required: true
responses:
'200':
description: Returned if the content is updated.
content:
application/json:
schema:
$ref: '#/components/schemas/Content'
'400':
description: >-
Returned if;
- The request body is missing required parameters (version, type,
title).
- The type property has been set incorrectly.
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: >-
Returned if the calling user can not update the content with
specified id.
content: {}
'404':
description: >-
Returned if a draft with current content cannot be found when
setting the status
parameter to draft and the content status is current.
content: {}
'409':
description: |-
Returned if;
- The page is a draft (draft pages cannot be updated).
- The version property has not been set correctly for the content
type.
content: {}
'501':
description: >-
Indicates that the server does not support the functionality needed
to serve the request.
For example,
- trying to publish edit draft and passing content status as
historical.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: content
x-atlassian-connect-scope: WRITE
delete:
tags:
- Content
summary: Atlassian Delete Content
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Moves
a piece of content to the space's trash or purges it from the
trash,
depending on the content's type and status:
- If the
content's type is `page`,`blogpost`, or `attachment` and its status is
`current`,
it will be trashed.
- If the content's type is
`page`,`blogpost`, or `attachment` and its status is `trashed`,
the
content will be purged from the trash and deleted permanently.
Note,
you must also set the `status` query parameter to `trashed` in
your request.
- If the content's type is `comment`, it will be
deleted
permanently without being
trashed.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'Delete' permission for the space that the content is in.
operationId: atlassianDeletecontent
parameters:
- name: id
in: path
description: The ID of the content to be deleted.
required: true
schema:
type: string
- name: status
in: query
description: >-
Set this to `trashed`, if the content's status is `trashed` and you
want to purge it.
schema:
type: string
responses:
'204':
description: Returned if the content is successfully trashed or purged.
content: {}
'400':
description: Returned if the content id is invalid.
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: >-
Returned if the calling user can not delete the content with
specified id.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The requesting user does not have permission to trash or purge the
content.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- delete:content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: DELETE
/wiki/rest/api/content/{id}/pageTree:
delete:
tags:
- Experimental
summary: Atlassian Delete Page Tree
description: >-
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:
{
"id" : "1180606",
"links" : {
"status"
: "/rest/api/longtask/1180606"
}
}
Use the
`/longtask/` 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.
operationId: atlassianDeletepagetree
parameters:
- name: id
in: path
description: >-
The ID of the content which forms root of the page tree, to be
deleted.
required: true
schema:
type: string
responses:
'202':
description: >-
Returned if the request to trash content and all its current page
descendants, is successfully accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/LongTask'
'400':
description: >-
Returned if the content id is invalid or id does not represents a
'CURRENT' page.
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: >-
Returned if the calling user can not delete the content with
specified id.
content: {}
'404':
description: >-
Returned if;
- There is no content with the given ID.
- The requesting user does not have permission to trash the content
or any of it's descendant pages.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- delete:content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: DELETE
/wiki/rest/api/content/{id}/child:
get:
tags:
- Content - Children and Descendants
summary: Atlassian Get Content Children
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
a map of the direct children of a piece of content. A piece of
content
has different types of child content, depending on its type.
These are
the default parent-child content type
relationships:
- `page`: child content is `page`, `comment`,
`attachment`
- `blogpost`: child content is `comment`,
`attachment`
- `attachment`: child content is `comment`
-
`comment`: child content is `attachment`
Apps can override these
default relationships. Apps can also introduce
new content types that
create new parent-child content relationships.
Note, the map will
always include all child content types that are valid
for the
content. However, if the content has no instances of a child
content
type, the map will contain an empty array for that child
content
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.
operationId: atlassianGetcontentchildren
parameters:
- name: id
in: path
description: The ID of the content to be queried for its children.
required: true
schema:
type: string
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the children
to expand, where:
- `attachment` returns all attachments for the content.
- `comments` returns all comments for the content.
- `page` returns all child pages of the content.
- Custom content types that are provided by apps are also supported.
style: form
explode: false
schema:
type: array
items:
type: string
- name: parentVersion
in: query
description: |-
The version of the parent content to retrieve children for.
Currently, this only works for the latest version.
schema:
type: integer
format: int32
default: 0
responses:
'200':
description: Returned if the requested content children are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentChildren'
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{pageId}/move/{position}/{targetId}:
put:
tags:
- Content - Children and Descendants
summary: Atlassian Move A Page To A New Location Relative To A Target Page
description: >-
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.
operationId: atlassianMovepage
parameters:
- name: pageId
in: path
description: The ID of the page to be moved
required: true
schema:
type: string
- name: position
in: path
description: >-
The position to move the page to relative to the 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
required: true
schema:
type: string
enum:
- before
- after
- append
- name: targetId
in: path
description: The ID of the target page for this operation
required: true
schema:
type: string
responses:
'200':
description: Page was successfully moved
content:
application/json:
schema:
type: object
properties:
pageId:
$ref: '#/components/schemas/ContentId'
'400':
description: >-
Returned if;
- A page already exists in the target space with the same name.
User is advised to rename page before moving.
- The move would create a parent-child loop (page becomes a
descendant and ancestor of itself)
- The page has permission restrictions that the user does not have
permission to create in the target space.
User is advised to remove restrictions before moving.
content: {}
'403':
description: |-
Returned if;
- User does not have permission to remove page from current space
- User does not have permission to create a page in target space
content: {}
'404':
description: |-
Returned if;
- The id or targetId refer to non-existent pages
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:page:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/child/attachment:
get:
tags:
- Content - Attachments
summary: Atlassian Get Attachments
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
the attachments for a piece of content.
By default, the following
objects are expanded:
`metadata`.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to view the content. If the content is a blog
post, 'View' permission
for the space is required.
operationId: atlassianGetattachments
parameters:
- name: id
in: path
description: The ID of the content to be queried for its attachments.
required: true
schema:
type: string
- $ref: '#/components/parameters/contentExpand'
- name: start
in: query
description: The starting index of the returned attachments.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of attachments to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
- name: filename
in: query
description: Filter the results to attachments that match the filename.
schema:
type: string
- name: mediaType
in: query
description: Filter the results to attachments that match the media type.
schema:
type: string
responses:
'200':
description: Returned if the requested attachments are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentArray'
'404':
description: >-
Returned if;
- There is no parent content with the given ID.
- The calling user does not have permission to view the parent
content.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
put:
tags:
- Content - Attachments
summary: Atlassian Create Or Update Attachment
description: >-
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.
operationId: atlassianCreateorupdateattachments
parameters:
- name: id
in: path
description: The ID of the content to add the attachment to.
required: true
schema:
type: string
- name: status
in: query
description: |-
The status of the content that the attachment is being added to.
This should always be set to 'current'.
schema:
type: string
default: current
enum:
- current
- draft
requestBody:
content:
multipart/form-data:
schema:
required:
- file
- minorEdit
properties:
file:
type: string
description: >-
The relative location and name of the attachment to be added
to
the content.
format: binary
comment:
type: string
description: >-
The comment for the attachment that is being added.
If you specify a comment, then every file must have a
comment and
the comments must be in the same order as the files.
Alternatively,
don't specify any comments.
format: binary
minorEdit:
type: string
description: >-
If `minorEdits` is set to 'true', no notification email or
activity stream
will be generated when the attachment is added to the
content.
format: binary
required: true
responses:
'200':
description: Returned if the attachments were added to the content.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentArray'
'403':
description: >-
Returned if;
- Attachments are disabled.
- The calling user does not have permission to add attachments to
the
content.
content: {}
'404':
description: |-
Returned if;
- The requested content is not found.
- The user does not have permission to view it.
- The attachment exceeds the maximum configured attachment size.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-file
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-file
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:attachment:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
post:
tags:
- Content - Attachments
summary: Atlassian Create Attachment
description: >-
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'
\
http://myhost/rest/api/content/123/child/attachment
```
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to update the content.
operationId: atlassianCreateattachment
parameters:
- name: id
in: path
description: The ID of the content to add the attachment to.
required: true
schema:
type: string
- name: status
in: query
description: The status of the content that the attachment is being added to.
schema:
type: string
default: current
enum:
- current
- draft
requestBody:
content:
multipart/form-data:
schema:
required:
- file
- minorEdit
properties:
file:
type: string
description: >-
The relative location and name of the attachment to be added
to
the content.
format: binary
comment:
type: string
description: >-
The comment for the attachment that is being added.
If you specify a comment, then every file must have a
comment and
the comments must be in the same order as the files.
Alternatively,
don't specify any comments.
format: binary
minorEdit:
type: string
description: >-
If `minorEdits` is set to 'true', no notification email or
activity stream
will be generated when the attachment is added to the
content.
format: binary
required: true
responses:
'200':
description: Returned if the attachments were added to the content.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentArray'
'400':
description: >-
Returned if the content already has an attachment with the same
filename.
content: {}
'403':
description: >-
Returned if;
- Attachments are disabled in Confluence.
- The calling user does not have permission to add attachments to
the
content.
content: {}
'404':
description: |-
Returned if;
- The requested content is not found.
- The user does not have permission to view it
- The attachment exceeds the maximum configured attachment size.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-file
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-file
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:attachment:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/child/attachment/{attachmentId}:
put:
tags:
- Content - Attachments
summary: Atlassian Update Attachment Properties
description: >-
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.
operationId: atlassianUpdateattachmentproperties
parameters:
- name: id
in: path
description: The ID of the content that the attachment is attached to.
required: true
schema:
type: string
- name: attachmentId
in: path
description: The ID of the attachment to update.
required: true
schema:
type: string
requestBody:
description: The details of the attachment to be updated.
content:
application/json:
schema:
$ref: '#/components/schemas/AttachmentPropertiesUpdateBody'
required: true
responses:
'200':
description: Returned if the attachment is updated.
content:
application/json:
schema:
$ref: '#/components/schemas/Content'
'400':
description: |-
Returned if;
- The attachment id is invalid.
- The attachment version number is invalid.
content: {}
'403':
description: >-
Returned if;
- The calling user is not permitted to update or move the
attachment.
- The attachment is being moved to an invalid content type.
content: {}
'404':
description: Returned if no attachment is found for the attachment ID.
content: {}
'409':
description: |-
Returned if the version of the supplied attachment does not match
the version of the attachment stored in the database.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-file
- write:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-file
- write:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:attachment:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/child/attachment/{attachmentId}/data:
post:
tags:
- Content - Attachments
summary: Atlassian Update Attachment Data
description: >-
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.
operationId: atlassianUpdateattachmentdata
parameters:
- name: id
in: path
description: The ID of the content that the attachment is attached to.
required: true
schema:
type: string
- name: attachmentId
in: path
description: The ID of the attachment to update.
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
required:
- file
- minorEdit
properties:
file:
type: string
description: >-
The relative location and name of the attachment to be added
to
the content.
format: binary
comment:
type: string
description: >-
The comment for the attachment that is being added.
If you specify a comment, then every file must have a
comment and
the comments must be in the same order as the files.
Alternatively,
don't specify any comments.
format: binary
minorEdit:
type: string
description: >-
If `minorEdits` is set to 'true', no notification email or
activity stream
will be generated when the attachment is added to the
content.
format: binary
required: true
responses:
'200':
description: Returned if the attachment is updated.
content:
application/json:
schema:
$ref: '#/components/schemas/Content'
'400':
description: Returned if the attachment id is invalid.
content: {}
'404':
description: Returned if no attachment is found for the attachment ID.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-file
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-file
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:attachment:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/child/attachment/{attachmentId}/download:
get:
tags:
- Content - Attachments
summary: Atlassian Get Uri To Download Attachment
description: Redirects the client to a URL that serves an attachment's binary data.
operationId: atlassianDownloadattatchment
parameters:
- name: id
in: path
description: The ID of the content that the attachment is attached to.
required: true
schema:
type: string
- name: attachmentId
in: path
description: The ID of the attachment to download.
required: true
schema:
type: string
- name: version
in: query
description: >-
The version of the attachment. If this parameter is absent, the
redirect URI will download the latest version of the attachment.
schema:
type: integer
responses:
'302':
description: Returned if download URL is found.
'400':
description: >-
Returned if version number is greater than attachment's latest
version number or an invalid value.
'401':
description: Returned if there are authentication issues in request.
'404':
description: >-
Returned if;
- No content is found with the specified content ID.
- The specified content does not contain an attachment with the
specified attachment ID.
- The calling user does not have permission to view the attachment.
security:
- basicAuth: []
- oAuthDefinitions:
- readonly:content.attachment:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- readonly:content.attachment:confluence
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:attachment:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/child/comment:
get:
tags:
- Content Comments
summary: Atlassian Get Content Comments
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
the comments on a piece of
content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**: 'View' permission for the space,
and permission to view
the content if it is a page.
operationId: atlassianGetcontentcomments
parameters:
- name: id
in: path
description: The ID of the content to be queried for its comments.
required: true
schema:
type: string
- $ref: '#/components/parameters/contentExpand'
- name: parentVersion
in: query
description: |-
The version of the parent content to retrieve children for.
Currently, this only works for the latest version.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: start
in: query
description: The starting index of the returned comments.
schema:
type: integer
format: int32
- name: limit
in: query
description: |-
The maximum number of comments to return per page. Note,
this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
- name: location
in: query
description: >-
The location of the comments in the page. Multiple locations can be
specified.
If no location is specified, comments from all locations are
returned.
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- inline
- footer
- resolved
- name: depth
in: query
description: |-
Currently, this parameter is not used.
Comments are returned at the root level only.
schema:
type: string
responses:
'200':
description: Returned if the requested comments are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentArray'
'404':
description: >-
Returned if;
- There is no parent content with the given ID.
- The calling user does not have permission to view the parent
content.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/child/{type}:
get:
tags:
- Content - Children and Descendants
summary: Atlassian Get Content Children By Type
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
all children of a given type, for a piece of content.
A piece of
content has different types of child content, depending on its
type:
- `page`: child content is `page`, `comment`,
`attachment`
- `blogpost`: child content is `comment`,
`attachment`
- `attachment`: child content is `comment`
-
`comment`: child content is `attachment`
Custom content types
that are provided by apps can also be returned.
Note, this method
only returns direct children. To return children at all
levels, use
[Get descendants by
type](#api-content-id-descendant-type-get).
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**: 'View' permission for the space,
and permission to view
the content if it is a page.
operationId: atlassianGetcontentchildrenbytype
parameters:
- name: id
in: path
description: The ID of the content to be queried for its children.
required: true
schema:
type: string
- name: type
in: path
description: The type of children to return.
required: true
schema:
type: string
- $ref: '#/components/parameters/contentExpand'
- name: parentVersion
in: query
description: |-
The version of the parent content to retrieve children for.
Currently, this only works for the latest version.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: start
in: query
description: The starting index of the returned content.
schema:
type: integer
format: int32
- name: limit
in: query
description: |-
The maximum number of content to return per page. Note,
this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
responses:
'200':
description: Returned if the requested content is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentArray'
'400':
description: >-
Returned if the parent type and desired child content type are not
compatible.
Eg: Cannot find `page` children of a `blogpost`.
content: {}
'404':
description: |-
Returned if:
- There is no content with the given ID.
- The calling user does not have permission to view the content.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/descendant:
get:
tags:
- Content - Children and Descendants
summary: Atlassian Get Content Descendants
description: >-
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`, `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.
operationId: atlassianGetcontentdescendants
parameters:
- name: id
in: path
description: The ID of the content to be queried for its descendants.
required: true
schema:
type: string
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the children
to
expand, where:
- `attachment` returns all attachments for the content.
- `comments` returns all comments for the content.
- `page` returns all child pages of the content.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- attachment
- comment
- page
responses:
'200':
description: Returned if the requested descendants are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentChildren'
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/descendant/{type}:
get:
tags:
- Content - Children and Descendants
summary: Atlassian Get Content Descendants By Type
description: >-
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`, `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.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'View' permission for the space, and permission to view
the content if it
is a page.
operationId: atlassianGetdescendantsoftype
parameters:
- name: id
in: path
description: The ID of the content to be queried for its descendants.
required: true
schema:
type: string
- name: type
in: path
description: The type of descendants to return.
required: true
schema:
type: string
enum:
- page
- comment
- attachment
- name: depth
in: query
description: >-
Filter the results to descendants upto a desired level of the
content. Note, the maximum value supported is 100. root level of the
content means immediate (level 1) descendants of the type requested.
all represents returning all descendants of the type requested.
schema:
type: string
default: all
enum:
- all
- root
-
- $ref: '#/components/parameters/contentExpand'
- name: start
in: query
description: The starting index of the returned content.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of content to return per page. Note,
this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
responses:
'200':
description: Returned if the requested content is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentArray'
'400':
description: >-
Returned if;
- Any of the required request params are missing.
- The request is invalid such as negative start param, a format
besides int32 for limit etc.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/history:
get:
tags:
- Content
summary: Atlassian Get Content History
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
the most recent update for a piece of
content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**: Permission to view the content.
operationId: atlassianGethistoryforcontent
parameters:
- name: id
in: path
description: The ID of the content to be queried for its history.
required: true
schema:
type: string
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
history to expand.
Maximum sub-expansions allowed is `8`.
- `lastUpdated` returns information about the most recent update of
the content,
including who updated it and when it was updated.
- `previousVersion` returns information about the update prior to
the current content
update. For this method, it contains the same information as
`lastUpdated`.
- `contributors` returns all of the users who have contributed to
the content.
- `nextVersion` This parameter is not used for this method.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- lastUpdated
- previousVersion
- contributors
- nextVersion
responses:
'200':
description: Returned if the requested content history is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentHistory'
'400':
description: Returned if sub-expansions limit exceeds.
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
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:content.metadata:confluence
- read:user:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/history/{version}/macro/id/{macroId}:
get:
tags:
- Content - Macro Body
summary: Atlassian Get Macro Body By Macro Id
description: >-
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.
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.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to view the content that the macro is in.
operationId: atlassianGetmacrobodybymacroid
parameters:
- name: id
in: path
description: The ID for the content that contains the macro.
required: true
schema:
type: string
- name: version
in: path
description: >-
The version of the content that contains the macro. Specifying `0`
as the `version` will return
the macro body for the latest content version.
required: true
schema:
type: integer
format: int32
- name: macroId
in: path
description: >-
The ID of the macro. This is usually passed by the app that the
macro is in. Otherwise, find the macro ID by querying the desired
content and version, then expanding the body in storage format.
For example,
'/content/196611/version/7?expand=content.body.storage'.
required: true
schema:
type: string
responses:
'200':
description: Returned if the requested macro body is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/MacroInstance'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- The macro does not exist in the specified version.
- There is no macro matching the given macro ID or hash.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.metadata:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/history/{version}/macro/id/{macroId}/convert/{to}:
get:
tags:
- Content - Macro Body
summary: Atlassian Get Macro Body By Macro Id And Convert The Representation Synchronously
description: >-
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.
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.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to view the content that the macro is in.
operationId: atlassianGetandconvertmacrobodybymacroid
parameters:
- name: id
in: path
description: The ID for the content that contains the macro.
required: true
schema:
type: string
- name: version
in: path
description: >-
The version of the content that contains the macro. Specifying `0`
as the `version` will return
the macro body for the latest content version.
required: true
schema:
type: integer
format: int32
- name: macroId
in: path
description: >-
The ID of the macro. This is usually passed by the app that the
macro is in. Otherwise, find the macro ID by querying the desired
content and version, then expanding the body in storage format.
For example,
'/content/196611/version/7?expand=content.body.storage'.
required: true
schema:
type: string
- name: to
in: path
required: true
description: The content representation to return the macro in.
schema:
type: string
- $ref: '#/components/parameters/bodyConversionExpand'
- name: spaceKeyContext
in: query
description: >-
The space key used for resolving embedded content (page includes,
files, and links) in the content body. For example, if the source
content
contains the link ``
and the `spaceKeyContext=TEST` parameter is provided, then the link
will be converted to a link to the "Example page" page in the "TEST"
space.
schema:
type: string
- name: embeddedContentRender
in: query
description: >-
Mode used for rendering embedded content, like attachments.
- `current` renders the embedded content using the latest version.
- `version-at-save` renders the embedded content using the version
at
the time of save.
schema:
type: string
default: current
enum:
- current
- version-at-save
responses:
'200':
description: Returned if the requested content body is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentBody'
'400':
description: >-
Returned if invalid content representation is requested, or context
is missing.
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- The macro does not exist in the specified version.
- There is no macro matching the given macro ID or hash.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.metadata:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/history/{version}/macro/id/{macroId}/convert/async/{to}:
get:
tags:
- Content - Macro Body
summary: Atlassian Get Macro Body By Macro Id And Convert Representation Asynchronously
description: >-
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.
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.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to view the content that the macro is in.
operationId: atlassianGetandasyncconvertmacrobodybymacroid
parameters:
- name: id
in: path
description: The ID for the content that contains the macro.
required: true
schema:
type: string
- name: version
in: path
description: >-
The version of the content that contains the macro. Specifying `0`
as the `version` will return
the macro body for the latest content version.
required: true
schema:
type: integer
format: int32
- name: macroId
in: path
description: >-
The ID of the macro. For apps, this is passed to the macro by the
Connect/Forge framework.
Otherwise, find the macro ID by querying the desired
content and version, then expanding the body in storage format.
For example,
'/content/196611/version/7?expand=content.body.storage'.
required: true
schema:
type: string
- name: to
in: path
required: true
description: |-
The content representation to return the macro in.
Currently, the following conversions are allowed:
- `export_view`
- `styled_view`
- `view`
schema:
type: string
enum:
- export_view
- view
- styled_view
- $ref: '#/components/parameters/bodyConversionExpand'
- name: allowCache
in: query
description: >-
If this field is false, the cache will erase its current value and
begin a conversion.
If this field is true, the cache will not erase its current value,
and will set the status of the
result in cache to RERUNNING. Once the data is updated, the status
will change to COMPLETED.
Large macros that take long to convert, and who want to show
intermediate, but potentially stale data, immediately should set
this field to true.
Cache values are stored per macro per user per content and
expansions.
schema:
type: boolean
default: false
- name: spaceKeyContext
in: query
description: >-
The space key used for resolving embedded content (page includes,
files, and links) in the content body. For example, if the source
content
contains the link ``
and the `spaceKeyContext=TEST` parameter is provided, then the link
will be converted to a link to the "Example page" page in the "TEST"
space.
schema:
type: string
- name: embeddedContentRender
in: query
description: >-
Mode used for rendering embedded content, like attachments.
- `current` renders the embedded content using the latest version.
- `version-at-save` renders the embedded content using the version
at
the time of save.
schema:
type: string
default: current
enum:
- current
- version-at-save
responses:
'200':
description: Returned if the requested macro conversion request is created.
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncId'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- The macro does not exist in the specified version.
- There is no macro matching the given macro ID or hash.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.metadata:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/label:
get:
tags:
- Content Labels
summary: Atlassian Get Labels For Content
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
the labels on a piece of
content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'View' permission for the space and permission to view
the content if it is a page.
operationId: atlassianGetlabelsforcontent
parameters:
- name: id
in: path
description: The ID of the content to be queried for its labels.
required: true
schema:
type: string
- name: prefix
in: query
description: >-
Filters the results to labels with the specified prefix. If this
parameter
is not specified, then labels with any prefix will be returned.
- `global` prefix is used by default when a user adds a label
via the UI.
- `my` prefix can be explicitly added by a user when adding a label
via the UI, e.g. 'my:example-label'. Also, when a page is selected
as
a favourite, the 'my:favourite' label is automatically added.
- `team` can used when adding labels via [Add labels to
content](#api-content-id-label-post)
but is not used in the UI.
schema:
type: string
enum:
- global
- my
- team
- name: start
in: query
description: The starting index of the returned labels.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of labels 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 labels are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/LabelArray'
'403':
description: Returned if the calling user can view but not edit the content.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
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:label:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
post:
tags:
- Content Labels
summary: Atlassian Add Labels To Content
description: >-
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.
operationId: atlassianAddlabelstocontent
parameters:
- name: id
in: path
description: The ID of the content that will have labels added to it.
required: true
schema:
type: string
requestBody:
description: The labels to add to the content.
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/LabelCreateArray'
- $ref: '#/components/schemas/LabelCreate'
required: true
responses:
'200':
description: Returned if the labels are added to the content.
content:
application/json:
schema:
$ref: '#/components/schemas/LabelArray'
'400':
description: >-
Returned if;
- The body contains labels with invalid characters or too many
characters.
- The body contains too many labels.
- The target content would contain too many labels after the
operation.
- The calling user does not have permission to edit labels.
content: {}
'403':
description: Returned if the calling user can view but not edit the content.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:label:confluence
- write:label:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
delete:
tags:
- Content Labels
summary: Atlassian Remove Label From Content Using Query Parameter
description: >-
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.
operationId: atlassianRemovelabelfromcontentusingqueryparameter
parameters:
- name: id
in: path
description: The ID of the content that the label will be removed from.
required: true
schema:
type: string
- name: name
in: query
description: The name of the label to be removed.
required: true
schema:
type: string
responses:
'204':
description: Returned if the label is removed. The response body will be empty.
content: {}
'403':
description: Returned if the calling user can view but not edit the content.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
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:label:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/label/{label}:
delete:
tags:
- Content Labels
summary: Atlassian Remove Label From Content
description: >-
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.
operationId: atlassianRemovelabelfromcontent
parameters:
- name: id
in: path
description: The ID of the content that the label will be removed from.
required: true
schema:
type: string
- name: label
in: path
description: The name of the label to be removed.
required: true
schema:
type: string
responses:
'204':
description: Returned if the label is removed. The response body will be empty.
content: {}
'400':
description: Returned if the label name has a "/" character.
content: {}
'403':
description: Returned if the calling user can view but not edit the content.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
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:label:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/notification/child-created:
get:
tags:
- Content Watches
summary: Atlassian Get Watches For Page
description: >-
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).
operationId: atlassianGetwatchesforpage
parameters:
- name: id
in: path
description: The ID of the content to be queried for its watches.
required: true
schema:
type: string
- name: start
in: query
description: The starting index of the returned watches.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of watches 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 watches are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/WatchArray'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
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
- read:user:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/notification/created:
get:
tags:
- Content Watches
summary: Atlassian Get Watches For Space
description: >-
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).
operationId: atlassianGetwatchesforspace
parameters:
- name: id
in: path
description: The ID of the content to be queried for its watches.
required: true
schema:
type: string
- name: start
in: query
description: The starting index of the returned watches.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of watches 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 watches are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceWatchArray'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
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
- read:user:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/pagehierarchy/copy:
post:
tags:
- Content - Children and Descendants
summary: Atlassian Copy Page Hierarchy
description: >-
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:
{
"id" : "1180606",
"links" :
{
"status" : "/rest/api/longtask/1180606"
}
}
Use the /longtask/ REST API to get the copy task status.
operationId: atlassianCopypagehierarchy
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
description: Request object from json post body
content:
application/json:
schema:
$ref: '#/components/schemas/CopyPageHierarchyRequest'
required: true
responses:
'202':
description: Returns a full JSON representation of a long running task
content:
application/json:
schema:
$ref: '#/components/schemas/LongTask'
'400':
description: >-
Returned if the title prefix is invalid (e.g. is empty, creates a
conflict)
content: {}
'403':
description: >-
Returned if the user does not have permission to create content at
destination
content: {}
'404':
description: Returned if original page or destination page does not exist.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.metadata:confluence
- write:page:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: request
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/copy:
post:
tags:
- Content - Children and Descendants
summary: Atlassian Copy Single Page
description: >-
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
- `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`.
operationId: atlassianCopypage
parameters:
- name: id
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/contentExpandWithSubExpandLimit'
requestBody:
description: Request object from json post body
content:
application/json:
schema:
$ref: '#/components/schemas/CopyPageRequest'
required: true
responses:
'200':
description: Returned if the content is copied.
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/Content'
'400':
description: |-
Returned if;
- destination or any of its fields are not specified.
- destination.type is invalid.
- sub-expansions limit exceeds.
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 permission to create content at
destination.
content: {}
'404':
description: |-
Returned if;
- the original page doesn't exist.
- the destination page doesn’t exist.
- the destination space doesn’t exist.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:page:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: request
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/permission/check:
post:
tags:
- Content Permissions
summary: Atlassian Check Content Permissions
description: >-
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.
operationId: atlassianCheckcontentpermission
parameters:
- name: id
in: path
description: The ID of the content to check permissions against.
required: true
schema:
type: string
requestBody:
description: The content permission request.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentPermissionRequest'
required: true
responses:
'200':
description: Returned if the permission check completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/PermissionCheckResponse'
'400':
description: |-
Returned if;
- If any of the required fields are missing.
- If specified `subject` or `operation` is invalid.
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 permission perform the check.
content: {}
'404':
description: Returned if there is no content with the given ID.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.permission
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.permission
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.permission:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: body
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/property:
get:
tags:
- Content Properties
summary: Atlassian Get Content Properties
deprecated: true
description: >-
Returns the properties for a piece of content. For more
information
about content properties, see [Confluence entity
properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'View' permission for the space, and permission to view
the content if it is a page.
operationId: atlassianGetcontentproperties
parameters:
- name: id
in: path
description: The ID of the content to be queried for its properties.
required: true
schema:
type: string
- name: key
in: query
description: The key of the content property.
explode: true
schema:
type: array
items:
type: string
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
to
expand. By default, the `version` object is expanded.
- `content` returns the content that the property is stored against.
- `version` returns information about the version of the property,
such
as the version number, when it was created, etc.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- content
- version
- 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
type: integer
format: int32
default: 10
responses:
'200':
description: Returned if the requested properties are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentPropertyArray'
'404':
description: |-
Returned if;
- There is no content with the given ID
- The calling user does not have permission to view the content.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
post:
tags:
- Content Properties
summary: Atlassian Create Content Property
deprecated: true
description: >-
Creates a property for an existing piece of content. For more
information
about content properties, see [Confluence entity
properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).
This
is the same as [Create content property for
key](#api-content-id-property-key-post)
except that the key is
specified in the request body instead of as a
path
parameter.
Content properties can also be added when creating a
new piece of content
by including them in the `metadata.properties`
of the
request.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to update the content.
operationId: atlassianCreatecontentproperty
parameters:
- name: id
in: path
description: The ID of the content to add the property to.
required: true
schema:
type: string
requestBody:
description: The content property to be created.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentPropertyCreate'
required: true
responses:
'200':
description: Returned if the content property is created.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentProperty'
'400':
description: |-
Returned if;
- The content already has a property with the given key.
- The key is too long.
- The key is empty.
content: {}
'403':
description: |-
Returned if the user does not have permission to edit the content
with the given ID.
content: {}
'413':
description: Returned if the value is too long.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.property:confluence
- write:content.property:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/property/{key}:
get:
tags:
- Content Properties
summary: Atlassian Get Content Property
deprecated: true
description: >-
Returns a content property for a piece of content. For more information,
see
[Confluence entity
properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'View' permission for the space, and permission to view
the content if it is a page.
operationId: atlassianGetcontentproperty
parameters:
- name: id
in: path
description: The ID of the content to be queried for the property.
required: true
schema:
type: string
- name: key
in: path
description: The key of the content property.
required: true
schema:
type: string
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
to
expand. By default, the `version` object is expanded.
- `content` returns the content that the property is stored against.
- `version` returns information about the version of the property,
such
as the version number, when it was created, etc.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- content
- version
- name: status
in: query
description: >-
Filter the results to a set of content based on their status. If set
to `any`,
content with any status is returned. By default it will fetch
current and archived statuses `?status=current&status=archived`.
All supported statuses
- any
- archived
- current
- deleted
- draft
- trashed
style: form
explode: true
schema:
type: array
items:
type: string
default:
- current
- archived
enum:
- any
- archived
- current
- deleted
- draft
- trashed
responses:
'200':
description: Returned if the content property is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentProperty'
'404':
description: |-
Returned if;
- The calling user does not have permission to view the content.
- There is no content with the given ID.
- There is no property with the given key.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
put:
tags:
- Content Properties
summary: Atlassian Update Content Property
deprecated: true
description: >-
Updates an existing content property. This method will also create a
new
property for a piece of content, if the property key does not
exist and
the property version is 1. For more information about
content properties, see
[Confluence entity
properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to update the content.
operationId: atlassianUpdatecontentproperty
parameters:
- name: id
in: path
description: The ID of the content that the property belongs to.
required: true
schema:
type: string
- name: key
in: path
description: The key of the property.
required: true
schema:
type: string
requestBody:
description: The content property being updated.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentPropertyUpdate'
required: true
responses:
'200':
description: Returned if the content property is created.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentProperty'
'400':
description: |-
Returned if;
- The content already a property with the given key.
- The key is too long.
- The key is empty.
content: {}
'403':
description: |-
Returned if the user does not have permission to edit the content
with the given ID.
content: {}
'404':
description: >-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- There is no property with the given key and the version number is
not 1.
content: {}
'409':
description: Returned if the property version is not correctly incremented.
content: {}
'413':
description: Returned if the value is too long.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.property:confluence
- write:content.property:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
post:
tags:
- Content Properties
summary: Atlassian Create Content Property For Key
deprecated: true
description: >-
Creates a property for an existing piece of content. For more
information
about content properties, see [Confluence entity
properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).
This
is the same as [Create content
property](#api-content-id-property-post)
except that the key is
specified as a path parameter instead of in the
request
body.
Content properties can also be added when creating a new
piece of content
by including them in the `metadata.properties` of
the
request.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to update the content.
operationId: atlassianCreatecontentpropertyforkey
parameters:
- name: id
in: path
description: The ID of the content to add the property to.
required: true
schema:
type: string
- name: key
in: path
description: The key of the content property. Required.
required: true
schema:
type: string
requestBody:
description: The content property to be created.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentPropertyCreateNoKey'
required: true
responses:
'200':
description: Returned if the content property is created.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentProperty'
'400':
description: |-
Returned if;
- The content already has a property with the given key.
- The key is too long.
- The key is empty.
content: {}
'403':
description: |-
Returned if the user does not have permission to edit the content
with the given ID.
content: {}
'413':
description: Returned if the value is too long.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.property:confluence
- write:content.property:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
delete:
tags:
- Content Properties
summary: Atlassian Delete Content Property
deprecated: true
description: >-
Deletes a content property. For more information about content
properties, see
[Confluence entity
properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to update the content.
operationId: atlassianDeletecontentproperty
parameters:
- name: id
in: path
description: The ID of the content that the property belongs to.
required: true
schema:
type: string
- name: key
in: path
description: The key of the property.
required: true
schema:
type: string
responses:
'204':
description: Returned if the content property is deleted.
content: {}
'403':
description: |-
Returned if the user does not have permission to delete content
with the given ID.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content.property:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/restriction:
get:
tags:
- Content Restrictions
summary: Atlassian Get Restrictions
description: >-
Returns the restrictions on a piece of
content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to view the content.
operationId: atlassianGetrestrictions
parameters:
- name: id
in: path
description: The ID of the content to be queried for its restrictions.
required: true
schema:
type: string
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
restrictions to expand. By default, the following objects are
expanded:
`restrictions.user`, `restrictions.group`.
- `restrictions.user` returns the piece of content that the
restrictions are
applied to.
- `restrictions.group` returns the piece of content that the
restrictions are
applied to.
- `content` returns the piece of content that the restrictions are
applied to.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- restrictions.user
- read.restrictions.user
- update.restrictions.user
- restrictions.group
- read.restrictions.group
- update.restrictions.group
- content
- name: start
in: query
description: >-
The starting index of the users and groups in the returned
restrictions.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: >-
The maximum number of users and the maximum number of groups, in the
returned restrictions, to return per page. Note, this may be
restricted
by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 100
responses:
'200':
description: Returned if the requested restrictions are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentRestrictionArray'
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
put:
tags:
- Content Restrictions
summary: Atlassian Update Restrictions
description: >-
Updates restrictions for a piece of content. For each operation
specified in the request, it removes
any existing restrictions on the
content for that operation, and replaces them with the restrictions in
the request.
Note: Not specifying an operation will ignore
restrictions of that type, and passing an empty list for an
operation
will remove all existing restrictions of that
type.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to edit the content.
operationId: atlassianUpdaterestrictions
parameters:
- name: id
in: path
description: The ID of the content to update restrictions for.
required: true
schema:
type: string
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
restrictions (returned in response) to expand.
- `restrictions.user` returns the piece of content that the
restrictions are
applied to. Expanded by default.
- `restrictions.group` returns the piece of content that the
restrictions are
applied to. Expanded by default.
- `content` returns the piece of content that the restrictions are
applied to.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- restrictions.user
- read.restrictions.user
- update.restrictions.user
- restrictions.group
- read.restrictions.group
- update.restrictions.group
- content
requestBody:
description: The updated restrictions for the content.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentRestrictionAddOrUpdateArray'
required: true
responses:
'200':
description: Returned if the requested restrictions are updated.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentRestrictionArray'
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to update restrictions
for the content.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
post:
tags:
- Content Restrictions
summary: Atlassian Add Restrictions
description: >-
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.
operationId: atlassianAddrestrictions
parameters:
- name: id
in: path
description: The ID of the content to add restrictions to.
required: true
schema:
type: string
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
restrictions (returned in response) to expand.
- `restrictions.user` returns the piece of content that the
restrictions are
applied to. Expanded by default.
- `restrictions.group` returns the piece of content that the
restrictions are
applied to. Expanded by default.
- `content` returns the piece of content that the restrictions are
applied to.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- restrictions.user
- read.restrictions.user
- update.restrictions.user
- restrictions.group
- read.restrictions.group
- update.restrictions.group
- content
requestBody:
description: The restrictions to be added to the content.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentRestrictionAddOrUpdateArray'
required: true
responses:
'200':
description: Returned if the requested restrictions are added.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentRestrictionArray'
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to add restrictions to
the content.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
delete:
tags:
- Content Restrictions
summary: Atlassian Delete Restrictions
description: >-
Removes all restrictions (read and update) on a piece of
content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to edit the content.
operationId: atlassianDeleterestrictions
parameters:
- name: id
in: path
description: The ID of the content to remove restrictions from.
required: true
schema:
type: string
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
restrictions (returned in response) to expand.
- `restrictions.user` returns the piece of content that the
restrictions are
applied to. Expanded by default.
- `restrictions.group` returns the piece of content that the
restrictions are
applied to. Expanded by default.
- `content` returns the piece of content that the restrictions are
applied to.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- restrictions.user
- read.restrictions.user
- update.restrictions.user
- restrictions.group
- read.restrictions.group
- update.restrictions.group
- content
responses:
'200':
description: Returned if the restrictions are removed.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentRestrictionArray'
'400':
description: Returned if any of the above validation rules are violated
content: {}
'403':
description: |-
Returned if the calling user does not have permission to alter the
restrictions on the content.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: DELETE
/wiki/rest/api/content/{id}/restriction/byOperation:
get:
tags:
- Content Restrictions
summary: Atlassian Get Restrictions By Operation
description: >-
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.
operationId: atlassianGetrestrictionsbyoperation
parameters:
- name: id
in: path
description: The ID of the content to be queried for its restrictions.
required: true
schema:
type: string
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
restrictions to expand.
- `restrictions.user` returns the piece of content that the
restrictions are
applied to. Expanded by default.
- `restrictions.group` returns the piece of content that the
restrictions are
applied to. Expanded by default.
- `content` returns the piece of content that the restrictions are
applied to.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- restrictions.user
- restrictions.group
- content
responses:
'200':
description: Returned if the requested restrictions are returned.
content:
application/json:
schema:
type: object
additionalProperties:
properties:
operationType:
$ref: '#/components/schemas/ContentRestriction'
_links:
$ref: '#/components/schemas/GenericLinks'
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}:
get:
tags:
- Content Restrictions
summary: Atlassian Get Restrictions For Operation
description: >-
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.
operationId: atlassianGetrestrictionsforoperation
parameters:
- name: id
in: path
description: The ID of the content to be queried for its restrictions.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation type of the restrictions to be returned.
required: true
schema:
type: string
enum:
- read
- update
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
restrictions to expand.
- `restrictions.user` returns the piece of content that the
restrictions are
applied to. Expanded by default.
- `restrictions.group` returns the piece of content that the
restrictions are
applied to. Expanded by default.
- `content` returns the piece of content that the restrictions are
applied to.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- restrictions.user
- restrictions.group
- content
- name: start
in: query
description: >-
The starting index of the users and groups in the returned
restrictions.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: >-
The maximum number of users and the maximum number of groups, in the
returned restrictions, to return per page. Note, this may be
restricted
by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 100
responses:
'200':
description: Returned if the requested restrictions are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentRestriction'
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/group/{groupName}:
get:
tags:
- Content Restrictions
summary: Atlassian Get Content Restriction Status For Group
deprecated: true
description: >-
Deprecated, use [Get content restriction status for group via
groupId](https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-content-restrictions/#api-wiki-rest-api-content-id-restriction-byoperation-operationkey-bygroupid-groupid-get).
Returns
whether the specified content restriction applies to a group.
For
example, if a page with `id=123` has a `read` restriction for the
`admins` group,
the following request will return
`true`:
`/wiki/rest/api/content/123/restriction/byOperation/read/group/admins`
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.
operationId: atlassianGetcontentrestrictionstatusforgroup
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- name: groupName
in: path
description: >-
The name of the group to be queried for whether the content
restriction
applies to it.
required: true
schema:
type: string
responses:
'200':
description: >-
Returns true if the content restriction applies to the group. The
response
will not return a response body.
content: {}
'400':
description: |-
Returned if;
- Group name is missing
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- An invalid operation or group is specified.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
put:
tags:
- Content Restrictions
summary: Atlassian Add Group To Content Restriction
deprecated: true
description: >-
Deprecated, use [Add group to content restriction via
groupId](https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-content-restrictions/#api-wiki-rest-api-content-id-restriction-byoperation-operationkey-bygroupid-groupid-put).
Adds
a group to a content restriction. 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.
operationId: atlassianAddgrouptocontentrestriction
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- name: groupName
in: path
description: The name of the group to add to the content restriction.
required: true
schema:
type: string
responses:
'200':
description: >-
Returned if the group is added to the content restriction. The
response
body will be empty.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- An invalid operation or group is specified.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
delete:
tags:
- Content Restrictions
summary: Atlassian Remove Group From Content Restriction
deprecated: true
description: >-
Deprecated, use [Remove group from content restriction by
groupId](https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-content-restrictions/#api-wiki-rest-api-content-id-restriction-byoperation-operationkey-user-delete).
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.
operationId: atlassianRemovegroupfromcontentrestrictionbyid
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- name: groupName
in: path
description: The name of the group to remove from the content restriction.
required: true
schema:
type: string
responses:
'200':
description: >-
Returned if the group is removed from the content restriction. The
response
body will be empty.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- The restriction to be deleted does not exist.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/byGroupId/{groupId}:
get:
tags:
- Content Restrictions
summary: Atlassian Get Content Restriction Status For Group
description: >-
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.
operationId: atlassianGetindividualgrouprestrictionstatusbygroupid
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- name: groupId
in: path
description: >-
The id of the group to be queried for whether the content
restriction
applies to it.
required: true
schema:
type: string
responses:
'200':
description: >-
Returns true if the content restriction applies to the group. The
response
will not return a response body.
content: {}
'403':
description: |-
Returned if the calling user does not have permission to view the
content.
content: {}
'404':
description: |-
Returned if
- There is no content with the given ID.
- An invalid operation or group is specified.
- Given groupId is blank or has invalid characters
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
put:
tags:
- Content Restrictions
summary: Atlassian Add Group To Content Restriction
description: >-
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.
operationId: atlassianAddgrouptocontentrestrictionbygroupid
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- name: groupId
in: path
description: The groupId of the group to add to the content restriction.
required: true
schema:
type: string
responses:
'200':
description: >-
Returned if the group is added to the content restriction by Group
Id. The response
body will be empty.
content: {}
'400':
description: |-
Returned if;
- Group Id is not valid
content: {}
'403':
description: |-
Returned if the calling user does not have permission to update the
content.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- An invalid operation or group id is specified.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
delete:
tags:
- Content Restrictions
summary: Atlassian Remove Group From Content Restriction
description: >-
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.
operationId: atlassianRemovegroupfromcontentrestriction
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- name: groupId
in: path
description: The id of the group to remove from the content restriction.
required: true
schema:
type: string
responses:
'200':
description: >-
Returned if the group is removed from the content restriction. The
response
body will be empty.
content: {}
'400':
description: Returned if given group id is blank
content: {}
'403':
description: >-
Returned if the calling user does not have permission to view the
content.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- The restriction to be deleted does not exist.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/user:
get:
tags:
- Content Restrictions
summary: Atlassian Get Content Restriction Status For User
description: >-
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.
operationId: atlassianGetcontentrestrictionstatusforuser
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that is restricted.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'200':
description: >-
Return true if the content restriction applies to the user. The
response
body will be empty.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- An invalid operation or user is specified.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
put:
tags:
- Content Restrictions
summary: Atlassian Add User To Content Restriction
description: >-
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.
operationId: atlassianAddusertocontentrestriction
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'200':
description: >-
Returned if the user is added to the content restriction. The
response
body will be empty.
content: {}
'400':
description: |-
Returned if;
- Provided restrictions are invalid
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- An invalid operation or group is specified.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
delete:
tags:
- Content Restrictions
summary: Atlassian Remove User From Content Restriction
description: >-
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.
operationId: atlassianRemoveuserfromcontentrestriction
parameters:
- name: id
in: path
description: The ID of the content that the restriction applies to.
required: true
schema:
type: string
- name: operationKey
in: path
description: The operation that the restriction applies to.
required: true
schema:
type: string
enum:
- read
- update
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'200':
description: >-
Returned if the user is removed from the content restriction. The
response
body will be empty.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
- The calling user does not have permission to view the content.
- An invalid operation or group is specified.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content.restriction:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/state:
get:
tags:
- Content States
summary: Atlassian Get Content State
description: >-
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.
operationId: atlassianGetcontentstate
parameters:
- name: id
in: path
description: The id of the content whose content state is of interest.
required: true
schema:
type: string
- name: status
in: query
description: >-
Set status to one of [current,draft,archived]. Default value is
current.
schema:
type: string
default: current
enum:
- current
- draft
- archived
responses:
'200':
description: Returned if permission allows viewing of content.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentStateResponse'
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
'403':
description: Returned if user does not have content view permission.
'404':
description: Returned if the content with given id can not be found.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
put:
tags:
- Content States
summary: >-
Atlassian Set The Content State Of A Content And Publishes A New Version Of The Content
description: >-
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.
operationId: atlassianSetcontentstate
requestBody:
description: >-
Content state fields for state. Pass in id for an existing state, or
new name and color for best matching existing state, or new state if
allowed in space.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentStateRestInput'
required: true
parameters:
- name: id
in: path
description: The Id of the content whose content state is to be set.
required: true
schema:
type: string
- name: status
in: query
description: >-
Status of content onto which state will be placed. If draft, then
draft state will change.
If current, state will be placed onto a new version of the content
with same body as previous version.
schema:
type: string
enum:
- current
- draft
responses:
'200':
description: Returned if content state is set successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentStateResponse'
'400':
description: >-
Invalid Name/Color, non-existent id of content state, or type of
state desired is not allowed.
Name must be less than or exactly 20 characters. Color must be a
valid hex string.
Status must be in [draft,current].
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
'403':
description: Returned if user does not have content edit permission.
'404':
description: Returned if the content with given id can not be found.
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content:confluence
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
delete:
tags:
- Content States
summary: 'Atlassian Removes The Content State Of A Content And Publishes A New Version'
description: >-
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.
operationId: atlassianRemovecontentstate
parameters:
- name: id
in: path
description: The Id of the content whose content state is to be set.
required: true
schema:
type: string
- name: status
in: query
description: >-
status of content state from which to delete state. Can be draft or
archived
schema:
type: string
enum:
- current
- draft
responses:
'200':
description: Returned if content state is removed from content.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentStateResponse'
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
'403':
description: Returned if user does not have content edit permission.
'404':
description: Returned if the content with given id can not be found.
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content:confluence
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/state/available:
get:
tags:
- Content States
summary: 'Atlassian Gets Available Content States For Content'
description: >-
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.
operationId: atlassianGetavailablecontentstates
parameters:
- name: id
in: path
description: id of content to get available states for
required: true
schema:
type: string
responses:
'200':
description: Returned if the content is found and permission is valid.
content:
application/json:
schema:
$ref: '#/components/schemas/AvailableContentStates'
'400':
description: Invalid status for content. Must be in [current,draft,archived].
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
'403':
description: Returned if user does not have content edit permission.
'404':
description: Returned if the content with given id can not be found.
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content/{id}/version:
get:
tags:
- Content Versions
summary: Atlassian Get Content Versions
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
the versions for a piece of content in descending
order.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to view the content. If the content is a blog
post, 'View' permission
for the space is required.
operationId: atlassianGetcontentversions
parameters:
- name: id
in: path
description: The ID of the content to be queried for its versions.
required: true
schema:
type: string
- name: start
in: query
description: The starting index of the returned versions.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of versions to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 200
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
to expand. By default, the `content`
object is expanded.
- `collaborators` returns the users that collaborated on the
version.
- `content` returns the content for the version.
style: form
explode: false
schema:
type: array
items:
type: string
responses:
'200':
description: Returned if the requested versions are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/VersionArray'
'403':
description: |-
Returned if the calling user does not have permission to view the
content.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
post:
tags:
- Content Versions
summary: Atlassian Restore Content Version
description: >-
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.
operationId: atlassianRestorecontentversion
parameters:
- name: id
in: path
description: The ID of the content for which the history will be restored.
required: true
schema:
type: string
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
to expand. By default, the `content`
object is expanded.
- `collaborators` returns the users that collaborated on the
version.
- `content` returns the content for the version.
style: form
explode: false
schema:
type: array
items:
type: string
requestBody:
description: The content version to be restored.
content:
application/json:
schema:
$ref: '#/components/schemas/VersionRestore'
required: true
responses:
'200':
description: Returned if the version is restored.
content:
application/json:
schema:
$ref: '#/components/schemas/Version'
'400':
description: |-
Returned if;
- There is no content with the given ID.
- There is no version with the given version number.
- The version number is the current version.
content: {}
'403':
description: |-
Returned if the calling user doesn't have permission to edit the
content.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
- write:content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content/{id}/version/{versionNumber}:
get:
tags:
- Content Versions
summary: Atlassian Get Content Version
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
a version for a piece of
content.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to view the content. If the content is a blog
post, 'View' permission
for the space is required.
operationId: atlassianGetcontentversion
parameters:
- name: id
in: path
description: The ID of the content to be queried for its version.
required: true
schema:
type: string
- name: versionNumber
in: path
description: The number of the version to be retrieved.
required: true
schema:
type: integer
format: int32
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
to expand. By default, the `content`
object is expanded.
- `collaborators` returns the users that collaborated on the
version.
- `content` returns the content for the version.
style: form
explode: false
schema:
type: array
items:
type: string
responses:
'200':
description: Returned if the version is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Version'
'403':
description: |-
Returned if the calling user does not have permission to view the
content.
content: {}
'404':
description: Returned if the content or version cannot be found.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
delete:
tags:
- Content Versions
summary: Atlassian Delete Content Version
description: >-
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.
operationId: atlassianDeletecontentversion
parameters:
- name: id
in: path
description: The ID of the content that the version will be deleted from.
required: true
schema:
type: string
- name: versionNumber
in: path
description: |-
The number of the version to be deleted. The version number starts
from 1 up to current version.
required: true
schema:
type: integer
format: int32
responses:
'204':
description: Returned if the version is deleted.
content: {}
'400':
description: |-
Returned if;
- The content or version cannot be found.
- The current version is specified.
content: {}
'403':
description: |-
Returned if the calling user doesn't have permission to edit the
content.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- delete:content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: DELETE
/wiki/rest/api/content-states:
put:
tags:
- Content States
summary: Atlassian Bulk Set Content State Of Many Contents
deprecated: true
description: >-
Creates a long running task that sets content state of draft or
published versions of pages
specified.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**
Content Edit Permission for a content to have its state
set via this endpoint.
operationId: atlassianBulksetcontentstates
parameters:
- name: status
in: query
required: true
description: Set status to one of [current,draft].
schema:
type: string
enum:
- current
- draft
requestBody:
description: The content state and ids to set it to.
content:
application/json:
schema:
$ref: '#/components/schemas/BulkContentStateSetInput'
required: true
responses:
'200':
description: >-
Returned if a task to set content states is created. Returns the
taskId.
This task id can be passed into
/wiki/rest/api/content-states/task/{taskId} for a result
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncId'
'400':
description: >-
Returned if too many contents, no contents, no content state, or no
status are passed in.
'404':
description: Returned if content cannot be found with the provided context.
security:
- oAuthDefinitions:
- write:confluence-content
- basicAuth: []
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content:confluence
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
get:
tags:
- Content States
summary: Atlassian Get Custom Content States
description: >-
Get custom content states that authenticated user has
created.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**
Must have user authentication.
operationId: atlassianGetcustomcontentstates
responses:
'200':
description: >-
Custom Content States that user has crated. Returned if user
authenticated.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ContentState'
'401':
description: Returned if user is not authenticated.
security:
- basicAuth: []
- oAuthDefinitions:
- read:user.property:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:user.property:confluence
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:user.property:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/content-states/delete:
post:
tags:
- Content States
summary: Atlassian Bulk Remove Content States From Content
description: >-
Creates a long running task that Removes content state from draft or
published versions of pages
specified.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**
Content Edit Permission for a content to have its state
removed via this endpoint.
operationId: atlassianBulkremovecontentstates
parameters:
- name: status
in: query
required: true
description: Set status to one of [current,draft].
schema:
type: string
enum:
- current
- draft
requestBody:
content:
application/json:
schema:
required:
- ids
properties:
ids:
type: array
items:
$ref: '#/components/schemas/ContentId'
responses:
'200':
description: >-
Returned if a task to remove content states is created. Returns the
taskId.
This task id can be passed into
/wiki/rest/api/content-states/task/{taskId}
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncId'
'400':
description: >-
Returned if too many contents, no contents, no content state, or no
status are passed in.
'401':
description: Returned if user not authenticated.
'403':
description: >-
Returned if user not found or does not have permission for content
stat
'404':
description: Returned if content cannot be found with the provided context.
security:
- oAuthDefinitions:
- write:confluence-content
- basicAuth: []
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:content:confluence
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/content-states/task/{taskId}:
get:
tags:
- Content States
summary: 'Atlassian Get Update On Long Running Task For Setting Of Content State'
description: >-
Get Status of long running task that was previously created to set or
remove content states from content.
User must first create a task by
passing in details to /wiki/rest/api/content-states PUT or DELETE
endpoints.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**
Must have created long running task
operationId: atlassianGettaskupdate
parameters:
- name: taskId
in: path
schema:
type: string
description: >-
taskId returned by put or delete requests to
/wiki/rest/api/content-states
required: true
responses:
'200':
description: Task found. State of task is returned
content:
application/json:
schema:
$ref: '#/components/schemas/ContentStateBulkSetTaskUpdate'
'403':
description: User not authenticated.
'404':
description: No long running task by calling user with given taskId found.
security:
- oAuthDefinitions:
- read:confluence-content
- basicAuth: []
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/contentbody/convert/{to}:
post:
tags:
- Content Body
summary: Atlassian Convert Content Body
description: >-
Converts a content body from one format to another
format.
Supported conversions:
- storage: view,
export_view, styled_view, editor
- editor: storage
- view:
none
- export_view: none
- styled_view:
none
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
If request specifies 'contentIdContext', 'View'
permission for the space, and permission to view the content.
operationId: atlassianConvertcontentbody
parameters:
- name: to
in: path
description: The name of the target format for the content body.
required: true
schema:
type: string
- name: spaceKeyContext
in: query
description: >-
The space key used for resolving embedded content (page includes,
files, and links) in the content body. For example, if the source
content
contains the link ``
and the `spaceKeyContext=TEST` parameter is provided, then the link
will be converted to a link to the "Example page" page in the "TEST"
space.
schema:
type: string
- name: contentIdContext
in: query
description: >-
The content ID used to find the space for resolving embedded content
(page includes, files, and links) in the content body. For example,
if the source content contains the link ``
and the `contentIdContext=123` parameter is provided, then the link
will be converted to a link to the "Example page" page in the same
space
that has the content with ID=123. Note, `spaceKeyContext` will be
ignored
if this parameter is provided.
schema:
type: string
- name: embeddedContentRender
in: query
description: >-
Mode used for rendering embedded content, like attachments.
- `current` renders the embedded content using the latest version.
- `version-at-save` renders the embedded content using the version
at
the time of save.
schema:
type: string
default: current
enum:
- current
- version-at-save
- $ref: '#/components/parameters/bodyConversionExpand'
requestBody:
description: The content body to convert.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentBodyCreate'
required: true
responses:
'200':
description: Returned if the content is converted.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentBody'
'400':
description: >-
Returned if the content body is invalid or if the value is
improperly formed.
content: {}
'404':
description: Returned if content cannot be found with the provided context.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.metadata:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-codegen-request-body-name: body
x-atlassian-connect-scope: READ
/wiki/rest/api/contentbody/convert/async/{to}:
post:
tags:
- Content Body
summary: Atlassian Asynchronously Convert Content Body
description: >-
Converts a content body from one format to another format
asynchronously.
Returns the asyncId for the asynchronous
task.
Supported conversions:
- storage:
export_view
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.
operationId: atlassianAsyncconvertcontentbodyrequest
parameters:
- name: to
in: path
description: The name of the target format for the content body.
required: true
schema:
type: string
enum:
- export_view
- $ref: '#/components/parameters/bodyConversionExpand'
- name: spaceKeyContext
in: query
description: >-
The space key used for resolving embedded content (page includes,
files, and links) in the content body. For example, if the source
content
contains the link ``
and the `spaceKeyContext=TEST` parameter is provided, then the link
will be converted to a link to the "Example page" page in the "TEST"
space.
schema:
type: string
- name: contentIdContext
in: query
description: >-
The content ID used to find the space for resolving embedded content
(page includes, files, and links) in the content body. For example,
if the source content contains the link ``
and the `contentIdContext=123` parameter is provided, then the link
will be converted to a link to the "Example page" page in the same
space
that has the content with ID=123. Note, `spaceKeyContext` will be
ignored
if this parameter is provided.
schema:
type: string
- name: allowCache
in: query
description: >-
If this field is false, the cache will erase its current value and
begin a new conversion.
If this field is true, the cache will not erase its current value,
and will set the status of the
async conversion to RERUNNING. Once the data is updated, the status
will change to COMPLETED.
Large macros that take long to convert, and whose data need not
immediately up to date (same as previous conversion's result within
last 5 minutes)
should set this fields to true. Cache values are stored per user per
content body and expansions.
schema:
type: boolean
default: false
- name: embeddedContentRender
in: query
description: >-
Mode used for rendering embedded content, like attachments.
- `current` renders the embedded content using the latest version.
- `version-at-save` renders the embedded content using the version
at
the time of save.
schema:
type: string
default: current
enum:
- current
- version-at-save
requestBody:
description: The content body to convert.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentBodyCreate'
required: true
responses:
'200':
description: >-
Returned if the content is added to the messaging queue for
conversion. This id will be available for 5 minutes after the
conversion is complete.
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncId'
'400':
description: |-
Returned
- if the content body or conversion context is invalid or null
- if the value is improperly formed
- any conversion type other than export_view
content: {}
'404':
description: Returned if content cannot be found with the provided context.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.metadata:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: READ
/wiki/rest/api/contentbody/convert/async/{id}:
get:
tags:
- Content Body
summary: >-
Atlassian Get Asynchronously Converted Content Body From The Id Or The Current Status Of The Task
description: >-
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.
operationId: atlassianAsyncconvertcontentbodyresponse
parameters:
- name: id
in: path
description: The asyncId of the macro task to get the converted body.
required: true
schema:
type: string
responses:
'200':
description: >-
Returned if successfully found an async conversion task associated
with the id.
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncContentBody'
'400':
description: Returned if the async id is invalid.
content: {}
'401':
description: >-
Returned if the request was not made by an anonymous user and user
is not authenticated.
content: {}
'403':
description: >-
Returned if the requesting user is not the user who made the
conversion request.
content: {}
'404':
description: >-
Returned if async macro conversion task cannot be found with the
provided id.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.metadata:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: READ
/wiki/rest/api/inlinetasks/search:
get:
tags:
- Inline Tasks
summary: Atlassian Get Inline Tasks Based On Search Parameters
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
inline tasks based on the search
query.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to access the Confluence site ('Can use'
global permission). Only tasks
in contents that the user has
permission to view are returned.
operationId: atlassianSearchtasks
parameters:
- name: start
in: query
description: The starting offset for the results.
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description: The number of results to be returned.
schema:
type: integer
format: int32
default: 20
- name: spaceKey
in: query
description: The space key of a space. Multiple space keys can be specified.
schema:
type: string
default:
- name: pageId
in: query
description: The page id of a page. Multiple page ids can be specified.
schema:
type: string
default:
- name: assignee
in: query
description: >-
Account ID of a user to whom a task is assigned. Multiple users can
be specified.
schema:
type: string
default:
- name: creator
in: query
description: >-
Account ID of a user to who created a task. Multiple users can be
specified.
schema:
type: string
default:
- name: completedUser
in: query
description: >-
Account ID of a user who completed a task. Multiple users can be
specified.
schema:
type: string
default:
- name: duedateFrom
in: query
description: Start of date range based on due dates (inclusive).
schema:
type: integer
format: int64
- name: duedateTo
in: query
description: End of date range based on due dates (inclusive).
schema:
type: integer
format: int64
- name: createdateFrom
in: query
description: Start of date range based on create dates (inclusive).
schema:
type: integer
format: int64
- name: createdateTo
in: query
description: End of date range based on create dates (inclusive).
schema:
type: integer
format: int64
- name: completedateFrom
in: query
description: Start of date range based on complete dates (inclusive).
schema:
type: integer
format: int64
- name: completedateTo
in: query
description: End of date range based on complete dates (inclusive).
schema:
type: integer
format: int64
- name: status
in: query
description: The status of the task. (checked/unchecked)
schema:
type: string
default:
enum:
- complete
- incomplete
responses:
'200':
description: Returned if the query fetches zero or more results.
content:
application/json:
schema:
$ref: '#/components/schemas/TaskPageResponse'
'403':
description: |-
Returned if the calling user does not have permission to view
any content.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-content.all
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:inlinetask:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/inlinetasks/{inlineTaskId}:
get:
tags:
- Inline Tasks
summary: Atlassian Get Inline Task Based On Global Id
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
inline task based on the global
ID.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to view the content associated with the task.
operationId: atlassianGettaskbyid
parameters:
- name: inlineTaskId
in: path
description: Global ID of the inline task
required: true
schema:
type: string
responses:
'200':
description: Returned if the inline task was found given the global ID
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
'403':
description: >-
Returned if the user does not have permission to view the content
associated with the task.
'404':
description: Returned if task could not be found with the given global ID.
security:
- basicAuth: []
- oAuthDefinitions:
- read:inlinetask:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:inlinetask:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
put:
tags:
- Inline Tasks
summary: Atlassian Update Inline Task Given Global Id
deprecated: true
description: >-
Updates an inline tasks status given its global
ID
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to update the content associated with the
task.
operationId: atlassianUpdatetaskbyid
parameters:
- name: inlineTaskId
in: path
description: Global ID of the inline task to update
required: true
schema:
type: string
requestBody:
description: The updated task status.
content:
application/json:
schema:
$ref: '#/components/schemas/TaskStatusUpdate'
required: true
responses:
'200':
description: Returned if the inline task was successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
'400':
description: Returned if client input is invalid.
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
'403':
description: >-
Returned if the user does not have permission to update the content
associated with the task.
'404':
description: Returned if task could not be found with given global ID.
security:
- basicAuth: []
- oAuthDefinitions:
- read:inlinetask:confluence
- write:inlinetask:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:inlinetask:confluence
- write:inlinetask:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/label:
get:
tags:
- Label Info
summary: Atlassian Get Label Information
description: >-
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.
operationId: atlassianGetalllabelcontent
parameters:
- name: name
in: query
description: Name of the label to query.
required: true
schema:
type: string
default:
- name: type
in: query
description: The type of contents that are to be returned.
schema:
type: string
default:
enum:
- page
- blogpost
- attachment
- page_template
- name: start
in: query
description: The starting offset for the results.
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description: The number of results to be returned.
schema:
type: integer
format: int32
default: 200
responses:
'200':
description: Returned if the query fetches zero or more results.
content:
application/json:
schema:
$ref: '#/components/schemas/LabelDetails'
'400':
description: |-
Returned if no label name is provide or
if content type provided in the query is invalid.
content: {}
'403':
description: |-
Returned if the calling user does not have permission to view
any content including label info.
content: {}
'404':
description: >-
Returned if the lable name is invalid or if no label is found for a
given label.
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:label:confluence
- read:content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/group:
get:
tags:
- Group
summary: Atlassian Get Groups
description: >-
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).
operationId: atlassianGetgroups
parameters:
- 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
- name: accessType
in: query
description: The group permission level for which to filter results.
required: false
schema:
type: string
default:
enum:
- user
- admin
- site-admin
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 view
groups.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:group:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
post:
tags:
- Group
summary: Atlassian Create New User Group
description: >-
Creates a new user
group.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
User must be a site admin.
operationId: atlassianCreategroup
requestBody:
description: Name of the group that is to be created.
content:
application/json:
schema:
$ref: '#/components/schemas/GroupName'
required: true
responses:
'201':
description: Returned if the group was created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
description: Returned if the name is missing or invalid.
content: {}
'401':
description: Returned if the calling user is not logged in to Confluence.
content: {}
'403':
description: Returned if the user is not a site admin.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:group:confluence
- write:group:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: INACCESSIBLE
delete:
tags:
- Group
summary: Atlassian Delete User Group
description: >-
Delete user
group.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
User must be a site admin.
operationId: atlassianRemovegroup
parameters:
- name: name
in: query
description: Name of the group to delete.
required: true
schema:
type: string
responses:
'204':
description: Returned if the group was removed successfully.
content: {}
'400':
description: Returned if the name is missing or invalid.
content: {}
'401':
description: Returned if the calling user is not logged in to Confluence.
content: {}
'403':
description: Returned if the user is not a site admin.
content: {}
'404':
description: If no user group by the give name exists.
content: {}
deprecated: true
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:group:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: INACCESSIBLE
/wiki/rest/api/group/by-name:
get:
tags:
- Group
summary: Atlassian Get Group
description: >-
Returns a user group for a given group
name.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianGetgroupbyqueryparam
parameters:
- name: name
in: query
description: |-
The name of the group. This is the same as the group name shown in
the Confluence administration console.
required: true
schema:
type: string
responses:
'200':
description: Returned if the requested group is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'403':
description: |-
Returned if the calling user does not have permission to view
groups.
content: {}
'404':
description: Returned if the group does not exist.
content: {}
deprecated: true
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:group:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/group/by-id:
get:
tags:
- Group
summary: Atlassian Get Group
description: >-
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).
operationId: atlassianGetgroupbygroupid
parameters:
- name: id
in: query
description: The id of the group.
required: true
schema:
type: string
responses:
'200':
description: Returned if the requested group is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'403':
description: |-
Returned if the calling user does not have permission to view
groups.
content: {}
'404':
description: Returned if the group does not exist.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:group:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
delete:
tags:
- Group
summary: Atlassian Delete User Group
description: >-
Delete user
group.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
User must be a site admin.
operationId: atlassianRemovegroupbyid
parameters:
- name: id
in: query
description: Id of the group to delete.
required: true
schema:
type: string
responses:
'204':
description: Returned if the group was removed successfully.
content: {}
'400':
description: Returned if the id is missing or invalid.
content: {}
'401':
description: Returned if the calling user is not logged in to Confluence.
content: {}
'403':
description: Returned if the user is not a site admin.
content: {}
'404':
description: If no user group by the given id exists.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:group:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: INACCESSIBLE
/wiki/rest/api/group/{groupName}:
get:
tags:
- Group
summary: Atlassian Get Group
description: >-
Returns a user group for a given group name.
Use updated Get
group
API
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianGetgroupbyname
parameters:
- name: groupName
in: path
description: |-
The name of the group. This is the same as the group name shown in
the Confluence administration console.
required: true
schema:
type: string
responses:
'200':
description: Returned if the requested group is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'403':
description: |-
Returned if the calling user does not have permission to view
groups.
content: {}
'404':
description: Returned if the group does not exist.
content: {}
deprecated: true
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/group/member:
get:
tags:
- Group
summary: Atlassian Get Group Members
description: >-
Returns the users that are members of a
group.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to access the Confluence site ('Can use'
global permission).
operationId: atlassianGetmembersbyqueryparam
parameters:
- name: name
in: query
description: The name of the group to be queried for its members.
required: true
schema:
type: string
- name: start
in: query
description: The starting index of the returned users.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: >-
The maximum number of users to return per page.
Note, this is restricted by fixed system limit of 200 which is to
say if the limit parameter
exceeds 200, this API will return a maximum of 200 users per page.
schema:
minimum: 0
type: integer
format: int32
default: 200
- name: shouldReturnTotalSize
in: query
description: >-
Whether to include total size parameter in the results.
Note, fetching total size property is an expensive operation; use it
if your use case needs this value.
schema:
type: boolean
default: false
- 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 requested users are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/UserArray'
'403':
description: Returned if the calling user does not have permission to view users.
content: {}
deprecated: true
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:group:confluence
- read:user:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/group/{groupName}/member:
get:
tags:
- Group
summary: Atlassian Get Group Members
description: >-
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).
operationId: atlassianGetgroupmembers
parameters:
- name: groupName
in: path
description: The name of the group to be queried for its members.
required: true
schema:
type: string
- name: start
in: query
description: The starting index of the returned users.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of users 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 users are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/UserArray'
'400':
description: Returned if given limit is greater than 200
content: {}
'403':
description: Returned if the calling user does not have permission to view users.
content: {}
deprecated: true
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/group/picker:
get:
tags:
- Group
summary: Atlassian Search Groups By Partial Query
description: Get search results of groups by partial query provided.
operationId: atlassianSearchgroups
parameters:
- name: query
in: query
description: the search term used to query results.
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 is restricted to a maximum limit of 200 groups.
schema:
minimum: 0
type: integer
format: int32
default: 200
- name: shouldReturnTotalSize
in: query
description: >-
Whether to include total size parameter in the results.
Note, fetching total size property is an expensive operation; use it
if your use case needs this value.
schema:
type: boolean
default: false
responses:
'200':
description: Returns a full JSON representation of group collection.
content:
application/json:
schema:
$ref: '#/components/schemas/GroupArrayWithLinks'
'403':
description: |-
Returned if the calling user does not have permission to view
groups.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:group:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/group/userByGroupId:
post:
tags:
- Group
summary: Atlassian Add Member To Group By Groupid
description: >-
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.
operationId: atlassianAddusertogroupbygroupid
parameters:
- name: groupId
in: query
description: GroupId of the group whose membership is updated
required: true
schema:
type: string
requestBody:
description: AccountId of the user who needs to be added as member.
content:
application/json:
schema:
$ref: '#/components/schemas/AccountId'
required: true
responses:
'201':
description: Returned if the group was created successfully.
content: {}
'400':
description: Returned if the groupId or accountId are missing or invalid.
content: {}
'401':
description: Returned if the calling user is not logged in to Confluence.
content: {}
'403':
description: Returned if the user is not a site admin.
content: {}
'404':
description: If no user group by the give name exists.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:group:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: INACCESSIBLE
delete:
tags:
- Group
summary: Atlassian Remove Member From Group Using Group Id
description: >-
Remove user as a member from a
group.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
User must be a site admin.
operationId: atlassianRemovememberfromgroupbygroupid
parameters:
- name: groupId
in: query
description: Id of the group whose membership is updated.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'204':
description: Returned if the group was removed successfully.
content: {}
'400':
description: Returned if the name is missing or invalid.
content: {}
'401':
description: Returned if the calling user is not logged in to Confluence.
content: {}
'403':
description: |-
Returned if the user is not a site admin.
Note: A 204 is returned if the user is not part of the
group.
content: {}
'404':
description: |-
If no user group by the give name exists or if no user exists
for the given accountId.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:group:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: INACCESSIBLE
/wiki/rest/api/group/{groupId}/membersByGroupId:
get:
tags:
- Group
summary: Atlassian Get Group Members
description: >-
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).
operationId: atlassianGetgroupmembersbygroupid
parameters:
- name: groupId
in: path
description: The id of the group to be queried for its members.
required: true
schema:
type: string
- name: start
in: query
description: The starting index of the returned users.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of users to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 200
- name: shouldReturnTotalSize
in: query
description: >-
Whether to include total size parameter in the results.
Note, fetching total size property is an expensive operation; use it
if your use case needs this value.
schema:
type: boolean
default: false
- 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 requested users are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/UserArray'
'400':
description: Returned if given limit is greater than 200
content: {}
'403':
description: Returned if the calling user does not have permission to view users.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:group:confluence
- read:user:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/group/user:
post:
tags:
- Group
summary: Atlassian Add Member To Group
description: >-
Adds a user as a member in a
group.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
User must be a site admin.
operationId: atlassianAddusertogroup
parameters:
- name: name
in: query
description: Name of the group whose membership is updated
required: true
schema:
type: string
requestBody:
description: AccountId of the user who needs to be added as member.
content:
application/json:
schema:
$ref: '#/components/schemas/AccountId'
required: true
responses:
'201':
description: Returned if the group was created successfully.
content: {}
'400':
description: Returned if the name or accountId are missing or invalid.
content: {}
'401':
description: Returned if the calling user is not logged in to Confluence.
content: {}
'403':
description: Returned if the user is not a site admin.
content: {}
'404':
description: If no user group by the give name exists.
content: {}
deprecated: true
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:group:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: INACCESSIBLE
delete:
tags:
- Group
summary: Atlassian Remove Member From Group
description: >-
Remove user as a member from a
group.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
User must be a site admin.
operationId: atlassianRemovememberfromgroup
parameters:
- name: name
in: query
description: Name of the group whose membership is updated.
required: true
schema:
type: string
- $ref: '#/components/parameters/userLookupKey'
- $ref: '#/components/parameters/userLookupUsername'
- $ref: '#/components/parameters/userLookupAccountId'
responses:
'204':
description: Returned if the group was removed successfully.
content: {}
'400':
description: Returned if the name is missing or invalid.
content: {}
'401':
description: Returned if the calling user is not logged in to Confluence.
content: {}
'403':
description: |-
Returned if the user is not a site admin.
Note: A 204 is returned if the user is not part of the
group.
content: {}
'404':
description: |-
If no user group by the give name exists or if no user exists
for the given accountId.
content: {}
deprecated: true
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-groups
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-groups
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:group:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: INACCESSIBLE
/wiki/rest/api/longtask:
get:
tags:
- Long-Running Task
summary: Atlassian Get Long Running Tasks
description: >-
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).
operationId: atlassianGettasks
parameters:
- name: start
in: query
description: The starting index of the returned tasks.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of tasks to return per page. Note, this may be
restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 100
responses:
'200':
description: Returned if the requested tasks are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/LongTaskStatusArray'
'401':
description: Returned if the calling user is not logged in to Confluence.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:content.metadata:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:content.metadata:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/longtask/{id}:
get:
tags:
- Long-Running Task
summary: Atlassian Get Long Running Task
description: >-
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).
operationId: atlassianGettask
parameters:
- name: id
in: path
description: The ID of the task.
required: true
schema:
type: string
responses:
'200':
description: Returned if the requested task is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/LongTaskStatusWithLinks'
'401':
description: Returned if the calling user is not logged in to Confluence.
content: {}
'404':
description: |-
Returned if;
- There is no task with the given ID.
- The calling user does not have permission to view the task.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-space.summary
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-space.summary
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.metadata:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/relation/{relationName}/from/{sourceType}/{sourceKey}/to/{targetType}:
get:
tags:
- Relation
summary: Atlassian Find Target Entities Related To A Source Entity
description: >-
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.
operationId: atlassianFindtargetfromsource
parameters:
- name: relationName
in: path
description: >-
The name of the relationship. This method supports relationships
created via
[Create
relationship](#api-wiki-rest-api-relation-relationname-from-sourcetype-sourcekey-to-targettype-targetkey-put).
Note, this method does not support 'like' or 'favourite'
relationships.
required: true
schema:
type: string
- name: sourceType
in: path
description: The source entity type of the relationship.
required: true
schema:
type: string
enum:
- user
- content
- space
- name: sourceKey
in: path
description: >-
The identifier for the source entity:
- If `sourceType` is `user`, then specify either `current`
(logged-in user), the user key of the user, or
the account ID of the user. Note that the user key has been
deprecated in favor of the account ID for this parameter. See the
[migration
guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
- If `sourceType` is 'content', then specify the content ID.
- If `sourceType` is 'space', then specify the space key.
required: true
schema:
type: string
- name: targetType
in: path
description: The target entity type of the relationship.
required: true
schema:
type: string
enum:
- user
- content
- space
- name: sourceStatus
in: query
description: |-
The status of the source. This parameter is only used when the
`sourceType` is 'content'.
schema:
type: string
- name: targetStatus
in: query
description: |-
The status of the target. This parameter is only used when the
`targetType` is 'content'.
schema:
type: string
- name: sourceVersion
in: query
description: |-
The version of the source. This parameter is only used when the
`sourceType` is 'content' and the `sourceStatus` is 'historical'.
schema:
type: integer
format: int32
- name: targetVersion
in: query
description: |-
The version of the target. This parameter is only used when the
`targetType` is 'content' and the `targetStatus` is 'historical'.
schema:
type: integer
format: int32
- name: expand
in: query
description: |-
A multi-value parameter indicating which properties of the response
object to expand.
- `relationData` returns information about the relationship, such as
who created it and when it was created.
- `source` returns the source entity.
- `target` returns the target entity.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- relationData
- source
- target
- name: start
in: query
description: The starting index of the returned relationships.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of relationships to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
responses:
'200':
description: Returned if the requested relationships are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/RelationArray'
'400':
description: Returned if the request is invalid.
content: {}
'403':
description: |-
Returned if the user does not have permission to view the
relationships.
content: {}
'404':
description: Returned if the target entity does not exist.
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:relation:confluence
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/relation/{relationName}/from/{sourceType}/{sourceKey}/to/{targetType}/{targetKey}:
get:
tags:
- Relation
summary: Atlassian Find Relationship From Source To Target
description: >-
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.
operationId: atlassianGetrelationship
parameters:
- name: relationName
in: path
description: >-
The name of the relationship. This method supports the 'favourite'
(i.e. 'save for later') relationship as well as any other
relationship
types created via [Create
relationship](#api-wiki-rest-api-relation-relationname-from-sourcetype-sourcekey-to-targettype-targetkey-put).
required: true
schema:
type: string
- name: sourceType
in: path
description: |-
The source entity type of the relationship. This must be 'user', if
the `relationName` is 'favourite'.
required: true
schema:
type: string
enum:
- user
- content
- space
- name: sourceKey
in: path
description: >-
- The identifier for the source entity:
- If `sourceType` is `user`, then specify either `current`
(logged-in user), the user key of the user, or
the account ID of the user. Note that the user key has been
deprecated in favor of the account ID for this parameter. See the
[migration
guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
- If `sourceType` is 'content', then specify the content ID.
- If `sourceType` is 'space', then specify the space key.
required: true
schema:
type: string
- name: targetType
in: path
description: |-
The target entity type of the relationship. This must be 'space' or
'content', if the `relationName` is 'favourite'.
required: true
schema:
type: string
enum:
- user
- content
- space
- name: targetKey
in: path
description: >-
The identifier for the target entity:
- If `targetType` is `user`, then specify either `current`
(logged-in user), the user key of the user, or
the account ID of the user. Note that the user key has been
deprecated in favor of the account ID for this parameter. See the
[migration
guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
- If `targetType` is 'content', then specify the content ID.
- If `targetType` is 'space', then specify the space key.
required: true
schema:
type: string
- name: sourceStatus
in: query
description: |-
The status of the source. This parameter is only used when the
`sourceType` is 'content'.
schema:
type: string
- name: targetStatus
in: query
description: |-
The status of the target. This parameter is only used when the
`targetType` is 'content'.
schema:
type: string
- name: sourceVersion
in: query
description: |-
The version of the source. This parameter is only used when the
`sourceType` is 'content' and the `sourceStatus` is 'historical'.
schema:
type: integer
format: int32
- name: targetVersion
in: query
description: |-
The version of the target. This parameter is only used when the
`targetType` is 'content' and the `targetStatus` is 'historical'.
schema:
type: integer
format: int32
- name: expand
in: query
description: |-
A multi-value parameter indicating which properties of the response
object to expand.
- `relationData` returns information about the relationship, such as
who created it and when it was created.
- `source` returns the source entity.
- `target` returns the target entity.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- relationData
- source
- target
responses:
'200':
description: Returned if the relationship exists.
content:
application/json:
schema:
$ref: '#/components/schemas/Relation'
'400':
description: Returned if the request is invalid.
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 permission to view the
relationship.
content: {}
'404':
description: Returned if the relationship does not exist.
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:relation:confluence
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
put:
tags:
- Relation
summary: Atlassian Create Relationship
description: >-
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:
`GET
/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).
operationId: atlassianCreaterelationship
parameters:
- name: relationName
in: path
description: |-
The name of the relationship. This method supports the 'favourite'
(i.e. 'save for later') relationship. You can also specify any other
value for this parameter to create a custom relationship type.
required: true
schema:
type: string
- name: sourceType
in: path
description: |-
The source entity type of the relationship. This must be 'user', if
the `relationName` is 'favourite'.
required: true
schema:
type: string
enum:
- user
- content
- space
- name: sourceKey
in: path
description: >-
- The identifier for the source entity:
- If `sourceType` is 'user', then specify either 'current'
(logged-in
user) or the user key.
- If `sourceType` is 'content', then specify the content ID.
- If `sourceType` is 'space', then specify the space key.
required: true
schema:
type: string
- name: targetType
in: path
description: |-
The target entity type of the relationship. This must be 'space' or
'content', if the `relationName` is 'favourite'.
required: true
schema:
type: string
enum:
- user
- content
- space
- name: targetKey
in: path
description: >-
- The identifier for the target entity:
- If `sourceType` is 'user', then specify either 'current'
(logged-in
user) or the user key.
- If `sourceType` is 'content', then specify the content ID.
- If `sourceType` is 'space', then specify the space key.
required: true
schema:
type: string
- name: sourceStatus
in: query
description: |-
The status of the source. This parameter is only used when the
`sourceType` is 'content'.
schema:
type: string
- name: targetStatus
in: query
description: |-
The status of the target. This parameter is only used when the
`targetType` is 'content'.
schema:
type: string
- name: sourceVersion
in: query
description: |-
The version of the source. This parameter is only used when the
`sourceType` is 'content' and the `sourceStatus` is 'historical'.
schema:
type: integer
format: int32
- name: targetVersion
in: query
description: |-
The version of the target. This parameter is only used when the
`targetType` is 'content' and the `targetStatus` is 'historical'.
schema:
type: integer
format: int32
responses:
'200':
description: Returned if the relationship is created.
content:
application/json:
schema:
$ref: '#/components/schemas/Relation'
'400':
description: Returned if the request is invalid.
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 permission to use Confluence.
content: {}
'404':
description: Returned if the user, space or content could not be found.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:relation:confluence
- read:space:confluence
- read:user:confluence
- read:content:confluence
- write:relation:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
delete:
tags:
- Relation
summary: Atlassian Delete Relationship
description: >-
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.
operationId: atlassianDeleterelationship
parameters:
- name: relationName
in: path
description: The name of the relationship.
required: true
schema:
type: string
- name: sourceType
in: path
description: |-
The source entity type of the relationship. This must be 'user', if
the `relationName` is 'favourite'.
required: true
schema:
type: string
enum:
- user
- content
- space
- name: sourceKey
in: path
description: >-
- The identifier for the source entity:
- If `sourceType` is 'user', then specify either 'current'
(logged-in
user) or the user key.
- If `sourceType` is 'content', then specify the content ID.
- If `sourceType` is 'space', then specify the space key.
required: true
schema:
type: string
- name: targetType
in: path
description: |-
The target entity type of the relationship. This must be 'space' or
'content', if the `relationName` is 'favourite'.
required: true
schema:
type: string
enum:
- user
- content
- space
- name: targetKey
in: path
description: >-
- The identifier for the target entity:
- If `sourceType` is 'user', then specify either 'current'
(logged-in
user) or the user key.
- If `sourceType` is 'content', then specify the content ID.
- If `sourceType` is 'space', then specify the space key.
required: true
schema:
type: string
- name: sourceStatus
in: query
description: |-
The status of the source. This parameter is only used when the
`sourceType` is 'content'.
schema:
type: string
- name: targetStatus
in: query
description: |-
The status of the target. This parameter is only used when the
`targetType` is 'content'.
schema:
type: string
- name: sourceVersion
in: query
description: |-
The version of the source. This parameter is only used when the
`sourceType` is 'content' and the `sourceStatus` is 'historical'.
schema:
type: integer
format: int32
- name: targetVersion
in: query
description: |-
The version of the target. This parameter is only used when the
`targetType` is 'content' and the `targetStatus` is 'historical'.
schema:
type: integer
format: int32
responses:
'204':
description: |-
Returned if the relationship is deleted or the relationship didn't
exist.
content: {}
'400':
description: Returned if the request is invalid.
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 permission to delete the
relationship.
content: {}
'404':
description: Returned if the user, space or content could not be found.
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:relation:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: WRITE
/wiki/rest/api/relation/{relationName}/to/{targetType}/{targetKey}/from/{sourceType}:
get:
tags:
- Relation
summary: Atlassian Find Source Entities Related To A Target Entity
description: >-
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.
operationId: atlassianFindsourcesfortarget
parameters:
- name: relationName
in: path
description: >-
The name of the relationship. This method supports relationships
created via
[Create
relationship](#api-wiki-rest-api-relation-relationname-from-sourcetype-sourcekey-to-targettype-targetkey-put).
Note, this method does not support 'like' or 'favourite'
relationships.
required: true
schema:
type: string
- name: sourceType
in: path
description: The source entity type of the relationship.
required: true
schema:
type: string
enum:
- user
- content
- space
- name: targetType
in: path
description: The target entity type of the relationship.
required: true
schema:
type: string
enum:
- user
- content
- space
- name: targetKey
in: path
description: >-
The identifier for the target entity:
- If `targetType` is `user`, then specify either `current`
(logged-in user), the user key of the user, or
the account ID of the user. Note that the user key has been
deprecated in favor of the account ID for this parameter. See the
[migration
guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
- If `targetType` is 'content', then specify the content ID.
- If `targetType` is 'space', then specify the space key.
required: true
schema:
type: string
- name: sourceStatus
in: query
description: |-
The status of the source. This parameter is only used when the
`sourceType` is 'content'.
schema:
type: string
- name: targetStatus
in: query
description: |-
The status of the target. This parameter is only used when the
`targetType` is 'content'.
schema:
type: string
- name: sourceVersion
in: query
description: |-
The version of the source. This parameter is only used when the
`sourceType` is 'content' and the `sourceStatus` is 'historical'.
schema:
type: integer
format: int32
- name: targetVersion
in: query
description: |-
The version of the target. This parameter is only used when the
`targetType` is 'content' and the `targetStatus` is 'historical'.
schema:
type: integer
format: int32
- name: expand
in: query
description: |-
A multi-value parameter indicating which properties of the response
object to expand.
- `relationData` returns information about the relationship, such as
who created it and when it was created.
- `source` returns the source entity.
- `target` returns the target entity.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- relationData
- source
- target
- name: start
in: query
description: The starting index of the returned relationships.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of relationships to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
responses:
'200':
description: Returned if the requested relationships are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/RelationArray'
'400':
description: Returned if the request is invalid.
content: {}
'403':
description: |-
Returned if the user does not have permission to view the
relationship
content: {}
'404':
description: Returned if the target entity does not exist.
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:relation:confluence
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/search:
get:
tags:
- Search
summary: Atlassian Search Content
description: >-
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": "",
"context":
"",
"next":
"/rest/api/search?cql=type=page&limit=25&cursor=raNDoMsTRiNg",
"self": ""
}
}
```
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.
**[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.
operationId: atlassianSearchbycql
parameters:
- name: cql
in: query
description: >-
The CQL query to be used for the search. See
[Advanced Searching using
CQL](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/)
for instructions on how to build a CQL query.
required: true
schema:
type: string
- name: cqlcontext
in: query
description: |-
The space, content, and content status to execute the search
against.
- `spaceKey` Key of the space to search against. Optional.
- `contentId` ID of the content to search against. Optional. Must be
in the space specified by `spaceKey`.
- `contentStatuses` Content statuses to search against. Optional.
Specify these values in an object. For example,
`cqlcontext={%22spaceKey%22:%22TEST%22, %22contentId%22:%22123%22}`
schema:
type: string
- name: cursor
in: query
description: >-
Pointer to a set of search results, returned as part of the `next`
or `prev` URL from the previous search call.
schema:
type: string
- name: next
in: query
schema:
type: boolean
default: false
- name: prev
in: query
schema:
type: boolean
default: false
- name: limit
in: query
description: |-
The maximum number of content objects to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
- name: start
in: query
description: The start point of the collection to return
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: includeArchivedSpaces
in: query
description: Whether to include content from archived spaces in the results.
schema:
type: boolean
default: false
- name: excludeCurrentSpaces
in: query
description: Whether to exclude current spaces and only show archived spaces.
schema:
type: boolean
default: false
- name: excerpt
in: query
description: The excerpt strategy to apply to the result
schema:
type: string
default: highlight
enum:
- highlight
- indexed
- none
- highlight_unescaped
- indexed_unescaped
- name: sitePermissionTypeFilter
in: query
description: >-
Filters users by permission type. Use `none` to default to licensed
users, `externalCollaborator`
for external/guest users, and `all` to include all permission types.
schema:
type: string
default: none
enum:
- all
- externalCollaborator
- none
- name: _
in: query
schema:
type: integer
format: int64
- name: expand
in: query
style: form
explode: false
schema:
type: array
items:
type: string
responses:
'200':
description: Returned if the requested results are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/SearchPageResponseSearchResult'
'400':
description: Returned if the CQL query cannot be parsed.
content: {}
'403':
description: |-
Returned if the calling user does not have permission to access
Confluence.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- search:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- search:confluence
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/search/user:
get:
tags:
- Search
summary: Atlassian Search Users
description: >-
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.
operationId: atlassianSearchuser
parameters:
- name: cql
in: query
description: >-
The CQL query to be used for the search. See
[Advanced Searching using
CQL](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/)
for instructions on how to build a CQL query.
Example queries:
cql=type=user will return all users
cql=user="1234" will return user with accountId "1234"
You can also use IN, NOT IN, != operators
cql=user IN ("12", "34") will return users with accountids "12" and "34"
cql=user.fullname~jo will return users with nickname/full name starting with "jo"
cql=user.accountid="123" will return user with accountId "123"
required: true
schema:
type: string
- name: start
in: query
description: The starting index of the returned users.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of user objects to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the user to
expand.
- `operations` returns the operations for the user, which are used
when setting permissions.
- `personalSpace` returns the personal space of the user.
style: form
explode: false
schema:
type: array
items:
type: string
- name: sitePermissionTypeFilter
in: query
description: >-
Filters users by permission type. Use `none` to default to licensed
users, `externalCollaborator`
for external/guest users, and `all` to include all permission types.
schema:
type: string
default: none
enum:
- all
- externalCollaborator
- none
responses:
'200':
description: Returned if the requested results are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/SearchPageResponseSearchResult'
'400':
description: Returned if the CQL query cannot be parsed.
content: {}
'403':
description: |-
Returned if the calling user does not have permission to access
Confluence.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:content-details:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/settings/lookandfeel:
get:
tags:
- Settings
summary: Atlassian Get Look And Feel Settings
description: >-
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**:
None
operationId: atlassianGetlookandfeelsettings
parameters:
- name: spaceKey
in: query
description: |-
The key of the space for which the look and feel settings will be
returned. If this is not set, only the global look and feel settings
are returned.
schema:
type: string
responses:
'200':
description: Returned if the requested look and feel settings are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/LookAndFeelSettings'
'400':
description: Returned if `spaceKey` is invalid.
content: {}
'404':
description: Returned if there is no space with the given `spaceKey`.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- manage:confluence-configuration
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- manage:confluence-configuration
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:configuration:confluence
- read:space.setting:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
put:
tags:
- Settings
summary: Atlassian Select Look And Feel Settings
description: >-
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.
operationId: atlassianUpdatelookandfeel
requestBody:
description: The look and feel type to be set.
content:
application/json:
schema:
$ref: '#/components/schemas/LookAndFeelSelection'
required: true
responses:
'200':
description: Returned if the look and feel settings were set.
content:
application/json:
schema:
$ref: '#/components/schemas/LookAndFeelSelection'
'400':
description: |-
Returned if;
- `spaceKey` is invalid.
- `lookAndFeelType` is invalid.
content: {}
'403':
description: |-
Returned if the calling user doesn't have permission to edit the
look and feel settings.
content: {}
'404':
description: Returned if there is no space with the given `spaceKey`.
content: {}
'409':
description: |-
Returned if `lookAndFeelType` is set to 'custom' or 'theme',
and a theme is not currently set for the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- manage:confluence-configuration
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- manage:confluence-configuration
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space.setting:confluence
- write:space.setting:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
/wiki/rest/api/settings/lookandfeel/custom:
post:
tags:
- Settings
summary: Atlassian Update Look And Feel Settings
description: >-
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.
operationId: atlassianUpdatelookandfeelsettings
parameters:
- name: spaceKey
in: query
description: |-
The key of the space for which the look and feel settings will be
updated. If this is not set, the global look and feel settings will
be updated.
schema:
type: string
requestBody:
description: >-
The updated settings. All values for the settings must be included,
regardless of whether they are being changed.
One way to create the request body is to copy the settings from the
response body of [Get look and feel
settings](#api-settings-lookandfeel-get)
and modify it as needed.
content:
application/json:
schema:
$ref: '#/components/schemas/LookAndFeel'
required: true
responses:
'200':
description: Returned if the look and feel settings are updated.
content:
application/json:
schema:
$ref: '#/components/schemas/LookAndFeelWithLinks'
'400':
description: |-
Returned if;
- The `spaceKey` is invalid
- The request body contains invalid data.
content: {}
'403':
description: |-
Returned if the calling user doesn't have permission to edit the
look and feel settings.
content: {}
'404':
description: Returned if there is no space with the given `spaceKey`.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- manage:confluence-configuration
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- manage:confluence-configuration
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:configuration:confluence
- read:space.setting:confluence
- write:configuration:confluence
- write:space.setting:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
delete:
tags:
- Settings
summary: Atlassian Reset Look And Feel Settings
description: >-
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.
operationId: atlassianResetlookandfeelsettings
parameters:
- name: spaceKey
in: query
description: |-
The key of the space for which the look and feel settings will be
reset. If this is not set, the global look and feel settings will
be reset.
schema:
type: string
responses:
'204':
description: Returned if the look and feel settings have been reset.
content: {}
'400':
description: Returned if `spaceKey` is invalid.
content: {}
'403':
description: |-
Returned if the calling user doesn't have permission to reset the
look and feel.
content: {}
'404':
description: Returned if there is no space with the given `spaceKey`.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- manage:confluence-configuration
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- manage:confluence-configuration
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:configuration:confluence
- write:space.setting:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: DELETE
/wiki/rest/api/settings/lookandfeel/selected:
put:
tags:
- Settings
summary: Atlassian Set Look And Feel Settings
description: >-
Sets the look and feel settings to either the default settings or
the
custom settings, for the site or a single 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.
operationId: atlassianSetlookandfeelsettings
parameters:
- name: spaceKey
in: query
description: |-
The key of the space for which the look and feel settings will be
set. If this is not set, the global look and feel settings will be
set.
schema:
type: string
requestBody:
description: The look and feel type to be set.
content:
application/json:
schema:
type: string
enum:
- global
- custom
- theme
required: true
responses:
'200':
description: Returned if the look and feel settings were set.
content:
application/json:
schema:
type: string
'400':
description: |-
Returned if;
- The `spaceKey` is invalid.
- The look and feel type is invalid.
content: {}
'403':
description: |-
Returned if the look and feel type is set to 'theme' but the
space/site doesn't have a theme assigned.
content: {}
'404':
description: Returned if there is no space with the given `spaceKey`.
content: {}
deprecated: true
security:
- basicAuth: []
- oAuthDefinitions:
- manage:confluence-configuration
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- manage:confluence-configuration
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:configuration:confluence
- read:space.setting:confluence
- write:configuration:confluence
- write:space.setting:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
/wiki/rest/api/settings/systemInfo:
get:
tags:
- Settings
summary: Atlassian Get System Info
description: >-
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).
operationId: atlassianGetsysteminfo
responses:
'200':
description: |-
Returned if the system information for the Confluence Cloud tenant
is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/SystemInfoEntity'
'403':
description: |-
Returned when the user does not have permission to view the system
information.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- manage:confluence-configuration
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- manage:confluence-configuration
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:configuration:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/settings/theme:
get:
tags:
- Themes
summary: Atlassian Get Themes
description: >-
Returns all themes, not including the default
theme.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**: None
operationId: atlassianGetthemes
parameters:
- name: start
in: query
description: The starting index of the returned themes.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of themes to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 100
responses:
'200':
description: Returned if the requested themes are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ThemeArray'
security:
- basicAuth: []
- oAuthDefinitions:
- manage:confluence-configuration
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- manage:confluence-configuration
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:configuration:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/settings/theme/selected:
get:
tags:
- Themes
summary: Atlassian Get Global Theme
description: >-
Returns the globally assigned
theme.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**: None
operationId: atlassianGetglobaltheme
responses:
'200':
description: Returned if the global theme is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Theme'
'404':
description: |-
Returned if Confluence does not have a global theme assigned, i.e.
the default theme is used.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- manage:confluence-configuration
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- manage:confluence-configuration
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:configuration:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/settings/theme/{themeKey}:
get:
tags:
- Themes
summary: Atlassian Get Theme
description: >-
Returns a theme. This includes information about the theme
name,
description, and
icon.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**: None
operationId: atlassianGettheme
parameters:
- name: themeKey
in: path
description: The key of the theme to be returned.
required: true
schema:
type: string
responses:
'200':
description: Returned if the requested theme is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Theme'
'404':
description: Returned if there is no theme with the given key.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- manage:confluence-configuration
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- manage:confluence-configuration
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:configuration:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/space:
get:
tags:
- Space
summary: Atlassian Get Spaces
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
all spaces. The returned spaces are ordered alphabetically
in
ascending order by space
key.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Permission to access the Confluence site ('Can use'
global permission).
Note, the returned list will only contain spaces
that the current user
has permission to view.
operationId: atlassianGetspaces
parameters:
- name: spaceKey
in: query
description: |-
The key of the space to be returned. To return multiple spaces,
specify this parameter multiple times with different values.
style: form
explode: true
schema:
type: array
items:
type: string
- name: spaceId
in: query
description: |-
The id of the space to be returned. To return multiple spaces,
specify this parameter multiple times with different values.
style: form
explode: true
schema:
type: array
items:
type: integer
format: int64
- name: type
in: query
description: Filter the results to spaces based on their type.
schema:
type: string
enum:
- global
- personal
- name: status
in: query
description: Filter the results to spaces based on their status.
schema:
type: string
enum:
- current
- archived
- name: label
in: query
description: Filter the results to spaces based on their label.
style: form
explode: true
schema:
type: array
items:
type: string
- name: favourite
in: query
description: |-
Filter the results to the favourite spaces of the user specified by
`favouriteUserKey`. Note, 'favourite' spaces are also
known as 'saved for later' spaces.
schema:
type: boolean
- name: favouriteUserKey
in: query
description: |-
The userKey of the user, whose favourite spaces are used to filter
the results when using the `favourite` parameter.
Leave blank for the current user. Use [Get user](#api-user-get) to
get the userKey for a user.
schema:
type: string
- $ref: '#/components/parameters/spaceExpand'
- name: start
in: query
description: The starting index of the returned spaces.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of spaces to return per page. Note, this may be
restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
responses:
'200':
description: Returned if the requested spaces are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceArray'
'400':
description: >-
Returned if spaces could not be fetched due to an invalid status
being provided.
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-space.summary
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-space.summary
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
post:
tags:
- Space
summary: Atlassian Create Space
description: >-
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.
operationId: atlassianCreatespace
requestBody:
description: The space to be created.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceCreate'
required: true
responses:
'200':
description: Returned if the space is created.
content:
application/json:
schema:
$ref: '#/components/schemas/Space'
'400':
description: |-
Returned if any of the following is true:
- The request is invalid.
- The space already exists.
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: >-
Returned if the callig user does not have permission to create a
space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-space
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-space
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space-details:confluence
- write:space:confluence
- write:space.permission:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
/wiki/rest/api/space/_private:
post:
tags:
- Space
summary: Atlassian Create Private Space
description: >-
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.
operationId: atlassianCreateprivatespace
requestBody:
description: The space to be created.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceCreate'
required: true
responses:
'200':
description: Returned if the space is created.
content:
application/json:
schema:
$ref: '#/components/schemas/Space'
'400':
description: |-
Returned if any of the following is true:
- The request is invalid.
- The space already exists.
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 permission to create a space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-space
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-space
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space-details:confluence
- write:space:confluence
- write:space.permission:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: SpacePrivateCreate
x-atlassian-connect-scope: WRITE
/wiki/rest/api/space/{spaceKey}:
get:
tags:
- Space
summary: Atlassian Get Space
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
a space. This includes information like the name, description,
and
permissions, but not the content in the
space.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'View' permission for the space.
operationId: atlassianGetspace
parameters:
- name: spaceKey
in: path
description: The key of the space to be returned.
required: true
schema:
type: string
- $ref: '#/components/parameters/spaceExpand'
responses:
'200':
description: Returned if the requested space is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Space'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given key.
- The calling user does not have permission to view the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-space.summary
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-space.summary
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
put:
tags:
- Space
summary: Atlassian Update Space
description: >-
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.
operationId: atlassianUpdatespace
parameters:
- name: spaceKey
in: path
description: The key of the space to update.
required: true
schema:
type: string
requestBody:
description: The updated space.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceUpdate'
required: true
responses:
'200':
description: Returned if the space is updated.
content:
application/json:
schema:
$ref: '#/components/schemas/Space'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given key
- The calling user does not have permission to update the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-space
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-space
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space-details:confluence
- write:space:confluence
- write:space.permission:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
delete:
tags:
- Space
summary: Atlassian Delete Space
description: >-
Deletes a space. 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.
operationId: atlassianDeletespace
parameters:
- name: spaceKey
in: path
description: The key of the space to delete.
required: true
schema:
type: string
responses:
'202':
description: Returns a pointer to the status of the space deletion task.
content:
application/json:
schema:
$ref: '#/components/schemas/LongTask'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given key.
- The calling user does not have permission to delete the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-space
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-space
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content.metadata:confluence
- delete:space:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: DELETE
/wiki/rest/api/space/{spaceKey}/content:
get:
tags:
- Space
summary: Atlassian Get Content For Space
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
all content in a space. The returned content is grouped by
type
(pages then blogposts), then ordered by content ID in ascending
order.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'View' permission for the space. Note, the returned list
will only
contain content that the current user has permission to
view.
operationId: atlassianGetcontentforspace
parameters:
- name: spaceKey
in: path
description: The key of the space to be queried for its content.
required: true
schema:
type: string
- name: depth
in: query
description: >-
Filter the results to content at the root level of the space or all
content.
schema:
type: string
default: all
enum:
- all
- root
- $ref: '#/components/parameters/contentExpand'
- name: start
in: query
description: The starting index of the returned content.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of content objects to return per page. Note, this
may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
responses:
'200':
description: Returned if the requested content is returned.
content:
application/json:
schema:
type: object
properties:
page:
$ref: '#/components/schemas/ContentArray'
blogpost:
$ref: '#/components/schemas/ContentArray'
_links:
$ref: '#/components/schemas/GenericLinks'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given key.
- The calling user does not have permission to view the space.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/space/{spaceKey}/permission:
post:
tags:
- Space Permissions
summary: Atlassian Add New Permission To Space
description: >-
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.
operationId: atlassianAddpermissiontospace
parameters:
- name: spaceKey
in: path
description: The key of the space to be queried for its content.
required: true
schema:
type: string
requestBody:
description: The permission to be created.
content:
application/json:
schema:
$ref: '#/components/schemas/SpacePermissionRequest'
required: true
responses:
'200':
description: Returned if the requested content is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/SpacePermissionV2'
'400':
description: |-
Used for various errors. Such as:
- Permission already exists for the given user or group.
- 'read space' permission doesn't exist for the given user or group.
- No group found with the given groupName or groupId
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: Returned if the user isn't authorized.
content: {}
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given key.
- The calling user does not have permission to view the space.
content: {}
x-codegen-request-body-name: body
security:
- basicAuth: []
- oAuthDefinitions:
- read:space.permission:confluence
- write:space.permission:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:space.permission:confluence
- write:space.permission:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: INACCESSIBLE
/wiki/rest/api/space/{spaceKey}/permission/custom-content:
post:
tags:
- Space Permissions
summary: Atlassian Add New Custom Content Permission To Space
description: >-
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.
operationId: atlassianAddcustomcontentpermissions
parameters:
- name: spaceKey
in: path
description: The key of the space to be queried for its content.
required: true
schema:
type: string
requestBody:
description: The permissions to be created.
content:
application/json:
schema:
$ref: '#/components/schemas/SpacePermissionCustomContent'
required: true
responses:
'200':
description: Returned if the requested content is returned.
content: {}
'400':
description: |-
Used for various errors. Such as:
- Permission already exists for the given user or group.
- 'read space' permission doesn't exist for the given user or group.
- No group found with the given groupName or groupId
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: Returned if the user isn't authorized.
content: {}
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given key.
- The calling user does not have permission to view the space.
content: {}
x-codegen-request-body-name: body
security:
- basicAuth: []
- oAuthDefinitions:
- read:space.permission:confluence
- write:space.permission:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:space.permission:confluence
- write:space.permission:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: WRITE
/wiki/rest/api/space/{spaceKey}/permission/{id}:
delete:
tags:
- Space Permissions
summary: Atlassian Remove A Space Permission
description: >-
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.
operationId: atlassianRemovepermission
parameters:
- name: spaceKey
in: path
description: The key of the space to be queried for its content.
required: true
schema:
type: string
- name: id
in: path
description: Id of the permission to be deleted.
required: true
schema:
type: integer
responses:
'204':
description: Permission successfully removed.
content: {}
'400':
description: |-
Used for various errors. Such as:
- All of the admin permissions cannot be removed from a space.
content: {}
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: Returned if the user isn't authorized.
content: {}
'404':
description: |-
Returned if any of the following is true:
- There is no permission with the given id.
- There is no space with the given key.
- The calling user does not have permission to view the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:space.permission:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:space.permission:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: INACCESSIBLE
/wiki/rest/api/space/{spaceKey}/content/{type}:
get:
tags:
- Space
summary: Atlassian Get Content By Type For Space
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
all content of a given type, in a space. The returned content
is
ordered by content ID in ascending
order.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
'View' permission for the space. Note, the returned list
will only
contain content that the current user has permission to
view.
operationId: atlassianGetcontentbytypeforspace
parameters:
- name: spaceKey
in: path
description: The key of the space to be queried for its content.
required: true
schema:
type: string
- name: type
in: path
description: >-
The type of content to return. `page`, `blogpost`,
``.
required: true
schema:
type: string
- name: depth
in: query
description: |-
Filter the results to content at the root level of the space or all
content.
schema:
type: string
default: all
enum:
- all
- root
- $ref: '#/components/parameters/contentExpand'
- name: start
in: query
description: The starting index of the returned content.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of content objects to return per page. Note, this
may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
responses:
'200':
description: Returned if the requested content is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentArray'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given key.
- The calling user does not have permission to view the space.
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:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/space/{spaceKey}/property:
get:
tags:
- Space Properties
summary: Atlassian Get Space Properties
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
all properties for the given space. Space properties are a key-value
storage associated with a space.
**[Permissions
required](https://confluence.atlassian.com/x/_AozKw)**: ‘View’
permission for the space.
operationId: atlassianGetspaceproperties
parameters:
- name: spaceKey
in: path
description: The key of the space to be queried for its properties.
required: true
schema:
type: string
- name: expand
in: query
description: |-
A multi-value parameter indicating which properties of the space
property to expand. By default, the `version` object is expanded.
- `version` returns information about the version of the content.
- `space` returns the space that the properties are in.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- version
- space
- name: start
in: query
description: The starting index of the returned objects.
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
type: integer
format: int32
default: 10
responses:
'200':
description: Returned if the requested space properties are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/SpacePropertyArray'
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given key.
- The calling user does not have permission to view the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
post:
tags:
- Space Properties
summary: Atlassian Create Space Property
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Creates
a new space property.
**[Permissions
required](https://confluence.atlassian.com/x/_AozKw)**:
‘Admin’
permission for the space.
operationId: atlassianCreatespaceproperty
parameters:
- name: spaceKey
in: path
description: The key of the space that the property will be created in.
required: true
schema:
type: string
requestBody:
description: The space property to be created.
content:
application/json:
schema:
$ref: '#/components/schemas/SpacePropertyCreate'
required: true
responses:
'200':
description: Returned if the space property is created.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceProperty'
'400':
description: |-
Returned if any of the following is true:
- The space already has a value with the given key.
- No property value was provided.
content: {}
'403':
description: Returned if the user does not have 'Admin' permission for the space.
content: {}
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given key.
- The calling user does not have permission to view the space.
content: {}
'409':
description: Returned if the key already exists within the space.
content: {}
'413':
description: Returned if the value for the property is too long.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space.property:confluence
- write:space.property:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
/wiki/rest/api/space/{spaceKey}/property/{key}:
get:
tags:
- Space Properties
summary: Atlassian Get Space Property
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Returns
a space property.
**[Permissions
required](https://confluence.atlassian.com/x/_AozKw)**: ‘View’
permission for the space.
operationId: atlassianGetspaceproperty
parameters:
- name: spaceKey
in: path
description: The key of the space that the property is in.
required: true
schema:
type: string
- name: key
in: path
description: The key of the space property.
required: true
schema:
type: string
- name: expand
in: query
description: |-
A multi-value parameter indicating which properties of the space
property to expand. By default, the `version` object is expanded.
- `version` returns information about the version of the content.
- `space` returns the space that the properties are in.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- version
- space
responses:
'200':
description: Returned if the requested space property is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceProperty'
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given key.
- There is no property with the given key.
- The calling user does not have permission to view the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
put:
tags:
- Space Properties
summary: Atlassian Update Space Property
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Updates
a space property. Note, you cannot update the key of a
space
property, only the value.
**[Permissions
required](https://confluence.atlassian.com/x/_AozKw)**:
‘Admin’
permission for the space.
operationId: atlassianUpdatespaceproperty
parameters:
- name: spaceKey
in: path
description: The key of the space that the property is in.
required: true
schema:
type: string
- name: key
in: path
description: The key of the property to be updated.
required: true
schema:
type: string
requestBody:
description: The space property being updated.
content:
application/json:
schema:
$ref: '#/components/schemas/SpacePropertyUpdate'
required: true
responses:
'200':
description: Returned if the space property is updated.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceProperty'
'400':
description: >-
Returned if any of the following is true:
- The given property has a different spaceKey to the one in the
path.
- The property has a different key to the one in the path.
content: {}
'403':
description: |-
Returned if the user does not have permission to edit the space with
the given spaceKey
content: {}
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given spaceKey
- There is no property with the given key.
- The calling user does not have permission to view the space.
content: {}
'409':
description: |-
Returned if the given version is does not match the expected target
version of the updated property
content: {}
'413':
description: Returned if the value of the property is too long.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space.property:confluence
- write:space.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:
- Space Properties
summary: Atlassian Create Space Property For Key
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Creates
a new space property. This is the same as
`POST
/wiki/rest/api/space/{spaceKey}/property` but the key for the
property is passed as a
path parameter, rather than in the request
body.
**[Permissions
required](https://confluence.atlassian.com/x/_AozKw)**:
‘Admin’
permission for the space.
operationId: atlassianCreatespacepropertyforkey
parameters:
- name: spaceKey
in: path
description: The key of the space that the property will be created in.
required: true
schema:
type: string
- name: key
in: path
description: The key of the property to be created.
required: true
schema:
type: string
requestBody:
description: The space property to be created.
content:
application/json:
schema:
$ref: '#/components/schemas/SpacePropertyCreateNoKey'
required: true
responses:
'200':
description: Returned if the space property is created.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceProperty'
'400':
description: |-
Returned if any of the following is true:
- The space already has a value with the given key.
- No property value was provided.
content: {}
'403':
description: |-
Returned if the user does not have the 'Admin' permission for the
space.
content: {}
'413':
description: Returned if the value for the property is too long.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space.property:confluence
- write:space.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:
- Space Properties
summary: Atlassian Delete Space Property
deprecated: true
description: >-
Deprecated, use [Confluence's v2
API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).
Deletes
a space property.
**[Permissions
required](https://confluence.atlassian.com/x/_AozKw)**:
‘Admin’
permission for the space.
operationId: atlassianDeletespaceproperty
parameters:
- name: spaceKey
in: path
description: The key of the space that the property is in.
required: true
schema:
type: string
- name: key
in: path
description: The key of the property to be deleted.
required: true
schema:
type: string
responses:
'204':
description: Returned if the space property is deleted.
content: {}
'403':
description: Returned if the user does not have 'Admin' permission for the space.
content: {}
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given spaceKey
- There is no property with the given key.
- The calling user does not have permission to view the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-props
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-props
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:space.property:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: WRITE
/wiki/rest/api/space/{spaceKey}/settings:
get:
tags:
- Space Settings
summary: Atlassian Get Space Settings
description: >-
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.
operationId: atlassianGetspacesettings
parameters:
- name: spaceKey
in: path
description: The key of the space to be queried for its settings.
required: true
schema:
type: string
responses:
'200':
description: Returned if the space settings are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceSettings'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'404':
description: |-
Returned if;
- There is no space with the given key.
- The calling user does not have permission to view the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-space.summary
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-space.summary
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space.setting:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
put:
tags:
- Space Settings
summary: Atlassian Update Space Settings
description: >-
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.
operationId: atlassianUpdatespacesettings
parameters:
- name: spaceKey
in: path
description: The key of the space whose settings will be updated.
required: true
schema:
type: string
requestBody:
description: The space settings to update.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceSettingsUpdate'
required: true
responses:
'200':
description: Returned if space settings are updated.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceSettings'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'404':
description: |-
Returned if;
- There is no space with the given key.
- The calling user does not have permission to update the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-space
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-space
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space.setting:confluence
- write:space.setting:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: SpaceSettingsUpdate
x-atlassian-connect-scope: WRITE
/wiki/rest/api/space/{spaceKey}/state:
get:
tags:
- Content States
summary: Atlassian Get Space Suggested Content States
description: >-
Get content states that are suggested in the
space.
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Space view permission
operationId: atlassianGetspacecontentstates
parameters:
- name: spaceKey
in: path
description: The key of the space to be queried for its content state settings.
required: true
schema:
type: string
responses:
'200':
description: >-
Returned if the requested space exists, and user has space view
permission.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ContentState'
description: Space suggested content states that users can choose from
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
'403':
description: Returned if user does not have space admin permission.
'404':
description: Returned if the space with given key can not be found.
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-space.summary
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-space.summary
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space.setting:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/space/{spaceKey}/state/settings:
get:
tags:
- Content States
summary: Atlassian Get Content State Settings For Space
description: >-
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**:
Space admin permission
operationId: atlassianGetcontentstatesettings
parameters:
- name: spaceKey
in: path
description: The key of the space to be queried for its content state settings.
required: true
schema:
type: string
responses:
'200':
description: >-
Returned if the requested space exists, and user has space admin
permission.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentStateSettings'
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
'403':
description: Returned if user does not have space admin permission.
'404':
description: Returned if the space with given key can not be found.
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-space.summary
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-space.summary
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space.setting:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/space/{spaceKey}/state/content:
get:
tags:
- Content States
summary: Atlassian Get Content In Space With Given Content State
description: >-
Finds paginated content with
**[Permissions](https://confluence.atlassian.com/x/_AozKw)
required**:
Space View Permission
operationId: atlassianGetcontentswithstate
parameters:
- name: spaceKey
in: path
description: The key of the space to be queried for its content state settings.
required: true
schema:
type: string
- name: state-id
in: query
description: The id of the content state to filter content by
required: true
schema:
type: integer
format: int32
- name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content
to expand.
Options include: space, version, history, children, etc.
Ex: space,version
style: form
explode: false
schema:
type: array
items:
type: string
- name: limit
in: query
description: Maximum number of results to return
required: false
schema:
type: integer
maximum: 100
minimum: 0
format: int32
default: 25
- name: start
in: query
description: Number of result to start returning. (0 indexed)
schema:
type: integer
minimum: 0
format: int32
responses:
'200':
description: Returned if search was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentArray'
'400':
description: Returned if limit or start are out of range, stateId is omitted.
'401':
description: >-
Returned if the authentication credentials are incorrect or missing
from the request.
'403':
description: Returned if user does not have space view permission.
'404':
description: Returned if the space with given key can not be found.
security:
- oAuthDefinitions:
- read:confluence-content.all
- basicAuth: []
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-content.all
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/space/{spaceKey}/theme:
get:
tags:
- Themes
summary: Atlassian Get Space Theme
description: >-
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.
operationId: atlassianGetspacetheme
parameters:
- name: spaceKey
in: path
description: The key of the space to be queried for its theme.
required: true
schema:
type: string
responses:
'200':
description: Returned if the requested theme is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Theme'
'404':
description: |-
Returned if any of the following is true:
- There is no space with the given key.
- The space does not have a theme assigned to it.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-space.summary
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-space.summary
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space.setting:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
put:
tags:
- Themes
summary: Atlassian Set Space Theme
description: >-
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.
operationId: atlassianSetspacetheme
parameters:
- name: spaceKey
in: path
description: The key of the space to set the theme for.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ThemeUpdate'
required: true
responses:
'200':
description: Returned if the theme was set for the space.
content:
application/json:
schema:
$ref: '#/components/schemas/Theme'
'403':
description: Returned if the theme key is invalid.
content: {}
'404':
description: Returned if there is no space with the given key.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-space
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-space
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:space.setting:confluence
- write:space.setting:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
delete:
tags:
- Themes
summary: Atlassian Reset Space Theme
description: >-
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.
operationId: atlassianResetspacetheme
parameters:
- name: spaceKey
in: path
description: The key of the space to reset the theme for.
required: true
schema:
type: string
responses:
'204':
description: Returned if the theme was reset for the space.
content: {}
'404':
description: Returned if there is no space with the given key.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-space
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-space
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:space.setting:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: DELETE
/wiki/rest/api/space/{spaceKey}/watch:
get:
tags:
- Content Watches
summary: Atlassian Get Space Watchers
description: Returns a list of watchers of a space
operationId: atlassianGetwatchersforspace
parameters:
- name: spaceKey
in: path
description: The key of the space to get watchers.
required: true
schema:
type: string
- name: start
in: query
description: The start point of the collection to return.
schema:
type: string
- name: limit
in: query
description: >-
The limit of the number of items to return, this may be restricted
by fixed system limits.
schema:
type: string
responses:
'200':
description: Returned if watchers list is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceWatchArray'
'404':
description: Returned if there is no space with the given key
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:watcher:confluence
- read:user:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:watcher:confluence
- read:user:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/space/{spaceKey}/label:
get:
tags:
- Experimental
summary: Atlassian Get Space Labels
description: >-
Returns a list of labels associated with a space. Can provide a prefix
as well as other filters to
select different types of labels.
operationId: atlassianGetlabelsforspace
parameters:
- name: spaceKey
in: path
description: The key of the space to get labels for.
required: true
schema:
type: string
- name: prefix
in: query
description: >-
Filters the results to labels with the specified prefix. If this
parameter
is not specified, then labels with any prefix will be returned.
- `global` prefix is used by labels that are on content within the
provided space.
- `my` prefix can be explicitly added by a user when adding a label
via the UI, e.g. 'my:example-label'.
- `team` prefix is used for labels applied to the space.
schema:
type: string
enum:
- global
- my
- team
- name: start
in: query
description: The starting index of the returned labels.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of labels 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 list of labels is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/LabelArray'
'404':
description: |-
Returned if;
- There is no space with the given space key.
- The calling user does not have permission to view the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:confluence-space.summary
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:confluence-space.summary
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:label:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-experimental: true
x-atlassian-connect-scope: READ
post:
tags:
- Experimental
summary: Atlassian Add Labels To A Space
description: >-
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.
operationId: atlassianAddlabelstospace
parameters:
- name: spaceKey
in: path
description: The key of the space to add labels to.
required: true
schema:
type: string
requestBody:
description: The labels to add to the content.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LabelCreate'
required: true
responses:
'200':
description: Returned if the labels are added to the content.
content:
application/json:
schema:
$ref: '#/components/schemas/LabelArray'
'400':
description: >-
Returned if;
- The body contains labels with invalid characters or too many
characters.
- The body contains too many labels.
- The target content would contain too many labels after the
operation.
- The calling user does not have permission to edit labels.
content: {}
'403':
description: Returned if the calling user can view but not edit the content.
content: {}
'404':
description: |-
Returned if;
- There is no space with the given space key.
- The calling user does not have permission to view the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-space
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-space
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:label:confluence
- write:label:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-experimental: true
x-atlassian-connect-scope: WRITE
delete:
tags:
- Experimental
summary: Atlassian Remove Label From A Space
description: Needs a more full description created.
operationId: atlassianDeletelabelfromspace
parameters:
- name: spaceKey
in: path
description: The key of the space to remove a labels from.
required: true
schema:
type: string
- name: name
in: query
description: The name of the label to remove
required: true
schema:
type: string
- name: prefix
in: query
description: >-
The prefix of the label to remove. If not provided defaults to
global.
required: false
schema:
type: string
responses:
'204':
description: Returned if the label was successfully deleted.
content: {}
'400':
description: |-
Returned if;
- The user does not provide a label name
content: {}
'404':
description: |-
Returned if;
- There is no space with the given space key.
- The calling user does not have permission to view the space.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-space
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-space
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:label:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-experimental: true
x-atlassian-connect-scope: WRITE
/wiki/rest/api/template:
put:
tags:
- Template
summary: Atlassian Update Content Template
description: >-
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.
operationId: atlassianUpdatecontenttemplate
requestBody:
description: The updated content template.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentTemplateUpdate'
required: true
responses:
'200':
description: Returned if the template is updated.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentTemplate'
'400':
description: Returned if template name is null or an empty string.
content: {}
'403':
description: Returned if the calling user does not have permission.
content: {}
'404':
description: |-
Returned if the calling user does not have permission to update the
template or if the template doesn't exist.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:template:confluence
- read:content-details:confluence
- write:template:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
post:
tags:
- Template
summary: Atlassian Create Content Template
description: >-
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.
operationId: atlassianCreatecontenttemplate
requestBody:
description: |-
The content template to be created.
The content body must be in 'storage' format.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentTemplateCreate'
required: true
responses:
'200':
description: Returned if the template is created.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentTemplate'
'400':
description: Returned if template name is null or an empty string.
content: {}
'403':
description: |-
Returned if the calling user does not have permission to create the
template.
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- read:template:confluence
- read:content-details:confluence
- write:template:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: WRITE
/wiki/rest/api/template/blueprint:
get:
tags:
- Template
summary: Atlassian Get Blueprint Templates
description: >-
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.
operationId: atlassianGetblueprinttemplates
parameters:
- name: spaceKey
in: query
description: |-
The key of the space to be queried for templates. If the `spaceKey`
is not specified, global blueprint templates will be returned.
schema:
type: string
- name: start
in: query
description: The starting index of the returned templates.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of templates to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
- name: expand
in: query
description: |-
A multi-value parameter indicating which properties of the template
to expand.
- `body` returns the content of the template in storage format.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- body
responses:
'200':
description: Returned if the requested templates are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/BlueprintTemplateArray'
'403':
description: |-
Returned if the calling user does not have permission to view
blueprint templates.
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:template:confluence
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/template/page:
get:
tags:
- Template
summary: Atlassian Get Content Templates
description: >-
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.
operationId: atlassianGetcontenttemplates
parameters:
- name: spaceKey
in: query
description: |-
The key of the space to be queried for templates. If the `spaceKey`
is not specified, global templates will be returned.
schema:
type: string
- name: start
in: query
description: The starting index of the returned templates.
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: limit
in: query
description: |-
The maximum number of templates to return per page.
Note, this may be restricted by fixed system limits.
schema:
minimum: 0
type: integer
format: int32
default: 25
- name: expand
in: query
description: |-
A multi-value parameter indicating which properties of the template
to expand.
- `body` returns the content of the template in storage format.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- body
responses:
'200':
description: Returned if the requested templates are returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentTemplateArray'
'403':
description: |-
Returned if the calling user does not have permission to view the
content templates.
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:template:confluence
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
/wiki/rest/api/template/{contentTemplateId}:
get:
tags:
- Template
summary: Atlassian Get Content Template
description: >-
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.
operationId: atlassianGetcontenttemplate
parameters:
- name: contentTemplateId
in: path
description: The ID of the content template to be returned.
required: true
schema:
type: string
responses:
'200':
description: Returned if the requested template is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/ContentTemplate'
'403':
description: |-
Returned if;
- There is no template with the given ID.
- The calling user does not have permission to view the template.
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:template:confluence
- read:content-details:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: READ
delete:
tags:
- Template
summary: Atlassian Remove Template
description: >-
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.
operationId: atlassianRemovetemplate
parameters:
- name: contentTemplateId
in: path
description: The ID of the template to be deleted.
required: true
schema:
type: string
responses:
'204':
description: Returned if the template has been successfully been deleted.
content: {}
'403':
description: |-
Returned if;
- There is no template with the given ID.
- The calling user does not have permission to delete the template.
security:
- basicAuth: []
- oAuthDefinitions:
- write:confluence-content
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- write:confluence-content
- scheme: oAuthDefinitions
state: Beta
scopes:
- write:template:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: DELETE
/wiki/rest/api/user:
get:
tags:
- Users
summary: Atlassian Get User
description: >-
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).
operationId: atlassianGetuser
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: 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 requested user is returned.
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'401':
description: |-
Returned if the authentication credentials are incorrect or missing
from the request.
content: {}
'403':
description: Returned if the calling user does not have permission to view users.
content: {}
'404':
description: Returned if a user with the given accountId does not exist.
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/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
/atlassian-connect/1/app/module/dynamic:
get:
tags:
- Dynamic Modules
summary: Atlassian Get Modules
description: >-
Returns all modules registered dynamically by the calling
app.
**[Permissions](#permissions) required:** Only Connect apps
can make this request.
operationId: atlassianGetmodules
responses:
'200':
description: Returned if the request is successful.
content:
'*/*':
schema:
$ref: '#/components/schemas/ConnectModules'
'401':
description: Returned if the call is not from a Connect app.
content:
'*/*':
schema:
$ref: '#/components/schemas/DynamicModulesErrorMessage'
message:
example: The request is not from a Connect app.
deprecated: false
x-experimental: true
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: INACCESSIBLE
post:
tags:
- Dynamic Modules
summary: Atlassian Register Modules
description: >-
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.
operationId: atlassianRegistermodules
requestBody:
content:
'*/*':
schema:
$ref: '#/components/schemas/ConnectModules'
required: true
responses:
'200':
description: Returned if the request is successful.
content: {}
'400':
description: >-
Returned if:
* any of the provided modules is invalid. For example, required
properties are missing.
* any of the modules conflict with registered dynamic modules or
modules defined in the app descriptor. For example, there are
duplicate keys.
Details of the issues encountered are included in the error message.
content:
'*/*':
schema:
$ref: '#/components/schemas/DynamicModulesErrorMessage'
message:
example: >-
Installation failed. The app com.example.app.key has duplicate
module keys: [module-key]. Please contact the app vendor.
'401':
description: Returned if the call is not from a Connect app.
content:
'*/*':
schema:
$ref: '#/components/schemas/DynamicModulesErrorMessage'
message:
example: The request is not from a Connect app.
deprecated: false
x-experimental: true
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-codegen-request-body-name: body
x-atlassian-connect-scope: INACCESSIBLE
delete:
tags:
- Dynamic Modules
summary: Atlassian Remove Modules
description: >-
Remove all or a list of modules registered by the calling
app.
**[Permissions](#permissions) required:** Only Connect apps
can make this request.
operationId: atlassianRemovemodules
parameters:
- name: moduleKey
in: query
description: >-
The key of the module to remove. To include multiple module keys,
provide multiple copies of this parameter.
For example,
`moduleKey=dynamic-attachment-entity-property&moduleKey=dynamic-select-field`.
Nonexistent keys are ignored.
required: true
style: form
explode: false
schema:
type: array
items:
type: string
responses:
'204':
description: Returned if the request is successful.
content: {}
'401':
description: Returned if the call is not from a Connect app.
content:
'*/*':
schema:
$ref: '#/components/schemas/DynamicModulesErrorMessage'
message:
example: The request is not from a Connect app.
deprecated: false
x-experimental: true
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-connect-scope: INACCESSIBLE
/wiki/rest/api/analytics/content/{contentId}/views:
get:
tags:
- Analytics
summary: Atlassian Get Views
description: Get the total number of views a piece of content has.
operationId: atlassianGetviews
parameters:
- name: contentId
in: path
description: The ID of the content to get the views for.
required: true
schema:
type: string
- name: fromDate
in: query
description: The number of views for the content since the date.
schema:
type: string
example: '2021-03-21T00:00:00.000Z'
responses:
'200':
description: Returns the total number of views for the content.
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: The content ID.
count:
type: integer
description: The total number of views for the content.
'400':
description: Returned if client input is invalid.
'401':
description: Returned if the authentication credentials are incorrect.
content: {}
'403':
description: |-
Returned if the authentication credentials are missing
from the request.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
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:analytics.content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/wiki/rest/api/analytics/content/{contentId}/viewers:
get:
tags:
- Analytics
summary: Atlassian Get Viewers
description: Get the total number of distinct viewers a piece of content has.
operationId: atlassianGetviewers
parameters:
- name: contentId
in: path
description: The ID of the content to get the viewers for.
required: true
schema:
type: string
- name: fromDate
in: query
description: The number of views for the content since the date.
schema:
type: string
example: '2021-03-21T00:00:00.000Z'
responses:
'200':
description: Returns the total number of distinct viewers for the content.
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: The content ID.
count:
type: integer
description: The total number of distinct viewers for the content.
'400':
description: Returned if client input is invalid.
'401':
description: Returned if the authentication credentials are incorrect.
content: {}
'403':
description: |-
Returned if the authentication credentials are missing
from the request.
content: {}
'404':
description: |-
Returned if;
- There is no content with the given ID.
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:analytics.content:confluence
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-connect-scope: READ
/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:
AccountId:
required:
- accountId
type: object
properties:
accountId:
type: string
AccountIdEmailRecord:
required:
- accountId
- email
type: object
properties:
accountId:
type: string
email:
type: string
AccountIdEmailRecordArray:
type: array
items:
$ref: '#/components/schemas/AccountIdEmailRecord'
AffectedObject:
required:
- name
- objectType
type: object
properties:
name:
type: string
objectType:
type: string
AsyncId:
required:
- asyncId
type: object
properties:
asyncId:
type: string
AttachmentUpdate:
required:
- id
- type
- version
type: object
properties:
version:
required:
- number
type: object
properties:
number:
type: integer
description: The version number.
format: int32
description: >-
The attachment version. Set this to the current version number of
the
attachment. Note, the version number only needs to be incremented
when
updating the actual attachment, not its properties.
id:
type: string
description: The ID of the attachment to be updated.
type:
type: string
description: Set this to `attachment`.
enum:
- attachment
title:
maxLength: 255
type: string
description: The updated name of the attachment.
metadata:
type: object
properties:
mediaType:
type: string
description: The media type of the attachment, e.g. 'img/jpg'.
comment:
type: string
description: The comment for this update.
container:
required:
- id
- type
type: object
properties:
id:
type: string
description: The `id` of the parent content.
type:
type: string
description: |-
The content type. You can only attach attachments to content
of type: `page`, `blogpost`.
description: The new content to attach the attachment to.
AuditRecord:
required:
- affectedObject
- associatedObjects
- author
- category
- changedValues
- creationDate
- description
- remoteAddress
- summary
- sysAdmin
type: object
properties:
author:
required:
- displayName
- operations
- type
type: object
properties:
type:
type: string
default: user
enum:
- user
displayName:
type: string
operations:
nullable: true
type: object
properties: {}
username:
$ref: '#/components/schemas/GenericUserName'
userKey:
$ref: '#/components/schemas/GenericUserKey'
accountId:
$ref: '#/components/schemas/GenericAccountId'
accountType:
type: string
externalCollaborator:
type: boolean
isExternalCollaborator:
type: boolean
description: Whether the user is an external collaborator user
publicName:
type: string
description: >-
The public name or nickname of the user. Will always contain a
value.
remoteAddress:
type: string
creationDate:
type: integer
description: The creation date-time of the audit record, as a timestamp.
format: int64
summary:
type: string
description:
type: string
category:
type: string
sysAdmin:
type: boolean
superAdmin:
type: boolean
affectedObject:
$ref: '#/components/schemas/AffectedObject'
changedValues:
type: array
items:
$ref: '#/components/schemas/ChangedValue'
associatedObjects:
type: array
items:
$ref: '#/components/schemas/AffectedObject'
AuditRecordArray:
required:
- _links
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/AuditRecord'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
AuditRecordCreate:
required:
- remoteAddress
type: object
properties:
author:
required:
- type
type: object
properties:
type:
type: string
description: Set to 'user'.
default: user
enum:
- user
displayName:
type: string
description: >-
The name that is displayed on the audit log in the Confluence
UI.
operations:
type: object
properties: {}
description: Always defaults to null.
username:
$ref: '#/components/schemas/GenericUserName'
userKey:
$ref: '#/components/schemas/GenericUserKey'
description: >-
The user that actioned the event. If `author` is not specified, then
all
`author` properties will be set to null/empty, except for `type`
which
will be set to 'user'.
remoteAddress:
type: string
description: The IP address of the computer where the event was initiated from.
creationDate:
type: integer
description: >-
The creation date-time of the audit record, as a timestamp. This is
converted
to a date-time display in the Confluence UI. If the `creationDate`
is not
specified, then it will be set to the timestamp for the current
date-time.
format: int64
summary:
type: string
description: >-
The summary of the event, which is displayed in the 'Change' column
on
the audit log in the Confluence UI.
description:
type: string
description: >-
A long description of the event, which is displayed in the
'Description'
field on the audit log in the Confluence UI.
category:
type: string
description: >-
The category of the event, which is displayed in the 'Event type'
column
on the audit log in the Confluence UI.
sysAdmin:
type: boolean
description: Indicates whether the event was actioned by a system administrator.
default: false
affectedObject:
$ref: '#/components/schemas/AffectedObject'
changedValues:
type: array
description: The values that were changed in the event.
items:
$ref: '#/components/schemas/ChangedValue'
associatedObjects:
type: array
description: >-
Objects that were associated with the event. For example, if the
event
was a space permission change then the associated object would be
the
space.
items:
$ref: '#/components/schemas/AffectedObject'
AvailableContentStates:
required:
- spaceContentStates
- customContentStates
type: object
properties:
spaceContentStates:
type: array
items:
type: object
$ref: '#/components/schemas/ContentState'
description: >-
Space suggested content states that can be used in the space. This
can be null if space content states are disabled in the space.
This list can be empty if there are no space content states defined
in the space.
All spaces start with 3 default space content states, and this can
be modified in the UI under space settings.
customContentStates:
type: array
items:
type: object
$ref: '#/components/schemas/ContentState'
description: >-
Custom content states that can be used by the user on the content of
this call.
This can be null if custom content states are disabled in the space
of the content.
This list can be empty if there are no custom content states defined
by the user.
This will at most have 3 of the most recently published content
states.
Only the calling user has access to place these states on content,
but all users can see these states once they are placed.
BlueprintTemplate:
required:
- _links
- description
- labels
- name
- originalTemplate
- referencingBlueprint
- templateId
- templateType
type: object
properties:
templateId:
type: string
originalTemplate:
required:
- moduleKey
- pluginKey
type: object
properties:
pluginKey:
type: string
moduleKey:
type: string
referencingBlueprint:
type: string
name:
type: string
description:
type: string
space:
type: object
additionalProperties: true
labels:
type: array
items:
$ref: '#/components/schemas/Label'
templateType:
type: string
editorVersion:
type: string
body:
$ref: '#/components/schemas/ContentTemplateBody'
_expandable:
type: object
properties:
body:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
BlueprintTemplateArray:
required:
- _links
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/BlueprintTemplate'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
ButtonLookAndFeel:
required:
- backgroundColor
- color
type: object
nullable: true
properties:
backgroundColor:
type: string
color:
type: string
Breadcrumb:
required:
- label
- separator
- url
type: object
properties:
label:
type: string
url:
type: string
separator:
type: string
ChangedValue:
required:
- name
- newValue
- oldValue
type: object
properties:
name:
type: string
oldValue:
type: string
hiddenOldValue:
type: string
newValue:
type: string
hiddenNewValue:
type: string
ConnectModule:
type: object
description: >-
A [Connect
module](https://developer.atlassian.com/cloud/confluence/modules/admin-page/)
in the same format as in the
[app
descriptor](https://developer.atlassian.com/cloud/confluence/app-descriptor/).
example:
key: my-webitem
location: system.admin/globalsettings
url: /my-web-item
name:
value: My Web Item
ConnectModules:
required:
- modules
type: object
properties:
modules:
type: array
items:
$ref: '#/components/schemas/ConnectModule'
description: >-
A list of app modules in the same format as the `modules` property
in the
[app
descriptor](https://developer.atlassian.com/cloud/confluence/app-descriptor/).
example:
webItems:
- key: my-webitem
location: system.admin/globalsettings
url: /my-web-item
name:
value: My Web Item
adminPages:
- key: my-admin-page
name:
value: My Admin Page
url: /my-admin-page
Container:
type: object
nullable: true
additionalProperties: true
description: >-
Container for content. This can be either a space (containing a page or
blogpost)
or a page/blog post (containing an attachment or comment)
ContainerLookAndFeel:
required:
- background
- backgroundColor
- backgroundImage
- backgroundSize
- borderRadius
- padding
type: object
nullable: true
properties:
background:
type: string
backgroundAttachment:
type: string
nullable: true
backgroundBlendMode:
type: string
nullable: true
backgroundClip:
type: string
nullable: true
backgroundColor:
type: string
nullable: true
backgroundImage:
type: string
nullable: true
backgroundOrigin:
type: string
nullable: true
backgroundPosition:
type: string
nullable: true
backgroundRepeat:
type: string
nullable: true
backgroundSize:
type: string
nullable: true
padding:
type: string
borderRadius:
type: string
ContainerSummary:
required:
- displayUrl
- title
type: object
properties:
title:
type: string
displayUrl:
type: string
AttachmentPropertiesUpdateBody:
required:
- id
- type
- version
type: object
additionalProperties: true
properties:
id:
type: string
type:
type: string
description: Set this to "attachment"
status:
type: string
title:
type: string
container:
$ref: '#/components/schemas/Container'
metadata:
type: object
properties:
mediaType:
type: string
extensions:
type: object
version:
$ref: '#/components/schemas/Version'
Content:
required:
- status
- type
nullable: true
type: object
additionalProperties: true
properties:
id:
type: string
type:
type: string
description: Can be "page", "blogpost", "attachment" or "content"
status:
type: string
title:
type: string
space:
$ref: '#/components/schemas/Space'
history:
$ref: '#/components/schemas/ContentHistory'
version:
$ref: '#/components/schemas/Version'
ancestors:
nullable: true
type: array
items:
$ref: '#/components/schemas/Content'
operations:
type: array
items:
$ref: '#/components/schemas/OperationCheckResult'
children:
$ref: '#/components/schemas/ContentChildren'
childTypes:
$ref: '#/components/schemas/ContentChildType'
descendants:
$ref: '#/components/schemas/ContentChildren'
container:
$ref: '#/components/schemas/Container'
body:
type: object
properties:
view:
$ref: '#/components/schemas/ContentBody'
export_view:
$ref: '#/components/schemas/ContentBody'
styled_view:
$ref: '#/components/schemas/ContentBody'
storage:
$ref: '#/components/schemas/ContentBody'
wiki:
$ref: '#/components/schemas/ContentBody'
editor:
$ref: '#/components/schemas/ContentBody'
editor2:
$ref: '#/components/schemas/ContentBody'
anonymous_export_view:
$ref: '#/components/schemas/ContentBody'
atlas_doc_format:
$ref: '#/components/schemas/ContentBody'
dynamic:
$ref: '#/components/schemas/ContentBody'
raw:
$ref: '#/components/schemas/ContentBody'
_expandable:
type: object
properties:
editor:
type: string
view:
type: string
export_view:
type: string
styled_view:
type: string
storage:
type: string
editor2:
type: string
anonymous_export_view:
type: string
atlas_doc_format:
type: string
wiki:
type: string
dynamic:
type: string
raw:
type: string
restrictions:
type: object
properties:
read:
$ref: '#/components/schemas/ContentRestriction'
update:
$ref: '#/components/schemas/ContentRestriction'
_expandable:
type: object
properties:
read:
type: string
update:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
metadata:
$ref: '#/components/schemas/ContentMetadata'
macroRenderedOutput:
type: object
additionalProperties:
type: object
extensions:
type: object
_expandable:
type: object
properties:
childTypes:
type: string
container:
type: string
metadata:
type: string
operations:
type: string
children:
type: string
restrictions:
type: string
history:
type: string
ancestors:
type: string
body:
type: string
version:
type: string
descendants:
type: string
space:
type: string
extensions:
type: string
schedulePublishDate:
type: string
schedulePublishInfo:
type: string
macroRenderedOutput:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
description: Base object for all content types.
ContentArray:
required:
- _links
- results
- size
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Content'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
ContentBlogpost:
description: Representation of a blogpost (content)
allOf:
- $ref: '#/components/schemas/Content'
- required:
- _links
- metadata
type: object
properties:
metadata:
$ref: '#/components/schemas/ContentMetadata'
_links:
$ref: '#/components/schemas/GenericLinks'
ContentBlueprintDraft:
required:
- title
- type
- version
type: object
properties:
version:
required:
- number
type: object
properties:
number:
type: integer
description: The version number. Set this to `1`.
format: int32
additionalProperties: true
description: The version for the new content.
title:
maxLength: 255
type: string
description: |-
The title of the content. If you don't want to change the title,
set this to the current title of the draft.
type:
type: string
description: The type of content. Set this to `page`.
enum:
- page
status:
type: string
description: >-
The status of the content. Set this to `current` or omit it
altogether.
default: current
enum:
- current
space:
required:
- key
type: object
properties:
key:
type: string
description: The key of the space
format: int32
additionalProperties: true
description: The space for the content.
ancestors:
type: array
description: >-
The new ancestor (i.e. parent page) for the content. If you have
specified an ancestor, you must also specify a `space` property
in the request body for the space that the ancestor is in.
Note, if you specify more than one ancestor, the last ID in the
array
will be selected as the parent page for the content.
items:
required:
- id
type: object
properties:
id:
type: string
description: The content ID of the ancestor.
nullable: true
additionalProperties: true
AsyncContentBody:
type: object
properties:
value:
type: string
representation:
type: string
enum:
- view
- export_view
- styled_view
- storage
- editor
- editor2
- anonymous_export_view
- wiki
- atlas_doc_format
renderTaskId:
type: string
error:
type: string
status:
description: >-
Rerunning is reserved for when the job is working, but there is a
previous run's value in the cache. You may choose to continue
polling, or use the cached value.
type: string
enum:
- WORKING
- QUEUED
- FAILED
- COMPLETED
- RERUNNING
embeddedContent:
type: array
items:
$ref: '#/components/schemas/EmbeddedContent'
webresource:
$ref: '#/components/schemas/WebResourceDependencies'
mediaToken:
type: object
properties:
collectionIds:
type: array
items:
type: string
contentId:
type: string
expiryDateTime:
type: string
fileIds:
type: array
items:
type: string
token:
type: string
_expandable:
type: object
properties:
content:
type: string
embeddedContent:
type: string
webresource:
type: string
mediaToken:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
ContentBody:
required:
- representation
- value
type: object
properties:
value:
type: string
representation:
type: string
enum:
- view
- export_view
- styled_view
- storage
- editor
- editor2
- anonymous_export_view
- wiki
- atlas_doc_format
- raw
embeddedContent:
type: array
items:
$ref: '#/components/schemas/EmbeddedContent'
webresource:
$ref: '#/components/schemas/WebResourceDependencies'
mediaToken:
type: object
properties:
collectionIds:
type: array
items:
type: string
contentId:
type: string
expiryDateTime:
type: string
fileIds:
type: array
items:
type: string
token:
type: string
_expandable:
type: object
properties:
content:
type: string
embeddedContent:
type: string
webresource:
type: string
mediaToken:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
ContentBodyCreate:
required:
- representation
- value
type: object
additionalProperties: true
properties:
value:
type: string
description: The body of the content in the relevant format.
representation:
type: string
description: |-
The content format type. Set the value of this property to
the name of the format being used, e.g. 'storage'.
enum:
- view
- export_view
- styled_view
- storage
- editor
- editor2
- anonymous_export_view
- wiki
- atlas_doc_format
- plain
- raw
description: This object is used when creating or updating content.
ContentChildren:
type: object
additionalProperties: true
properties:
attachment:
$ref: '#/components/schemas/ContentArray'
comment:
$ref: '#/components/schemas/ContentArray'
page:
$ref: '#/components/schemas/ContentArray'
_expandable:
type: object
additionalProperties: true
properties:
attachment:
type: string
comment:
type: string
page:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
ContentBodyCreateStorage:
required:
- representation
- value
type: object
additionalProperties: true
properties:
value:
type: string
description: The body of the content in the relevant format.
representation:
type: string
description: |-
The content format type. Set the value of this property to
the name of the format being used, e.g. 'storage'.
enum:
- storage
- view
- export_view
- styled_view
- editor
- editor2
- anonymous_export_view
- wiki
- atlas_doc_format
description: This object is used when creating or updating content.
ContentChildType:
type: object
properties:
attachment:
required:
- _links
- value
type: object
properties:
value:
type: boolean
_links:
$ref: '#/components/schemas/GenericLinks'
comment:
required:
- _links
- value
type: object
properties:
value:
type: boolean
_links:
$ref: '#/components/schemas/GenericLinks'
page:
required:
- _links
- value
type: object
properties:
value:
type: boolean
_links:
$ref: '#/components/schemas/GenericLinks'
_expandable:
type: object
properties:
all:
type: string
attachment:
type: string
comment:
type: string
page:
type: string
whiteboard:
type: string
additionalProperties: true
description: >-
Shows whether a piece of content has attachments, comments, or child
pages/whiteboards.
Note, this doesn't actually contain the child objects.
ContentCreate:
required:
- type
type: object
nullable: true
additionalProperties: true
properties:
id:
nullable: true
type: string
description: The ID of the draft content. Required when publishing a draft.
title:
nullable: true
maxLength: 255
type: string
type:
type: string
description: >-
The type of the new content. Custom content types defined by apps
are also supported. eg. 'page', 'blogpost', 'comment' etc.
space:
nullable: true
required:
- key
type: object
properties:
id:
nullable: true
type: integer
format: int64
name:
nullable: true
type: string
icon:
$ref: '#/components/schemas/Icon'
identifiers:
$ref: '#/components/schemas/GlobalSpaceIdentifier'
description:
type: object
nullable: true
properties:
plain:
$ref: '#/components/schemas/SpaceDescription'
view:
$ref: '#/components/schemas/SpaceDescription'
_expandable:
type: object
properties:
view:
type: string
plain:
type: string
homepage:
$ref: '#/components/schemas/Content'
type:
nullable: true
type: string
metadata:
nullable: true
type: object
properties:
labels:
$ref: '#/components/schemas/LabelArray'
_expandable:
type: object
operations:
nullable: true
type: array
items:
$ref: '#/components/schemas/OperationCheckResult'
permissions:
nullable: true
type: array
items:
$ref: '#/components/schemas/SpacePermission'
status:
nullable: true
type: string
settings:
$ref: '#/components/schemas/SpaceSettings'
theme:
$ref: '#/components/schemas/Theme'
lookAndFeel:
$ref: '#/components/schemas/LookAndFeel'
history:
required:
- createdDate
type: object
properties:
createdDate:
type: string
format: date-time
createdBy:
$ref: '#/components/schemas/User'
key:
type: string
description: The key of the space.
links:
nullable: true
type: object
additionalProperties: true
description: The space that the content is being created in.
status:
type: string
description: The status of the new content.
default: current
enum:
- current
- deleted
- historical
- draft
container:
nullable: true
required:
- id
- type
type: object
additionalProperties: true
properties:
id:
oneOf:
- type: integer
- type: string
description: The `id` of the container.
type:
type: string
description: The `type` of the container.
description: >-
The container of the content. Required if type is `comment` or
certain types of
custom content. If you are trying to create a comment that is a
child of another comment,
specify the parent comment in the ancestors field, not in this
field.
ancestors:
nullable: true
type: array
description: >-
The parent content of the new content. If you are creating a
top-level `page` or `comment`,
this can be left blank. If you are creating a child page, this is
where the parent page id goes.
If you are creating a child comment, this is where the parent
comment id goes. Only one parent
content id can be specified.
items:
required:
- id
type: object
additionalProperties: true
properties:
id:
type: string
description: The `id` of the parent content.
body:
type: object
properties:
view:
$ref: '#/components/schemas/ContentBodyCreate'
export_view:
$ref: '#/components/schemas/ContentBodyCreate'
styled_view:
$ref: '#/components/schemas/ContentBodyCreate'
storage:
$ref: '#/components/schemas/ContentBodyCreate'
editor:
$ref: '#/components/schemas/ContentBodyCreate'
editor2:
$ref: '#/components/schemas/ContentBodyCreate'
wiki:
$ref: '#/components/schemas/ContentBodyCreate'
anonymous_export_view:
$ref: '#/components/schemas/ContentBodyCreate'
plain:
$ref: '#/components/schemas/ContentBodyCreate'
atlas_doc_format:
$ref: '#/components/schemas/ContentBodyCreate'
raw:
$ref: '#/components/schemas/ContentBodyCreate'
description: >-
The body of the new content. Does not apply to attachments.
Only one body format should be specified as the property for
this object, e.g. `storage`.
Note, `editor2` format is used by Atlassian only.
`anonymous_export_view` is
the same as `export_view` format but only content viewable by an
anonymous
user is included.
ContentHistory:
required:
- latest
type: object
nullable: true
properties:
latest:
type: boolean
createdBy:
$ref: '#/components/schemas/User'
ownedBy:
$ref: '#/components/schemas/User'
lastOwnedBy:
$ref: '#/components/schemas/User'
createdDate:
type: string
format: date-time
lastUpdated:
$ref: '#/components/schemas/Version'
previousVersion:
$ref: '#/components/schemas/Version'
contributors:
type: object
properties:
publishers:
$ref: '#/components/schemas/UsersUserKeys'
nextVersion:
$ref: '#/components/schemas/Version'
_expandable:
type: object
properties:
lastUpdated:
type: string
previousVersion:
type: string
contributors:
type: string
nextVersion:
type: string
ownedBy:
type: string
lastOwnedBy:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
ContentId:
type: string
ContentLookAndFeel:
type: object
properties:
screen:
$ref: '#/components/schemas/ScreenLookAndFeel'
container:
$ref: '#/components/schemas/ContainerLookAndFeel'
header:
$ref: '#/components/schemas/ContainerLookAndFeel'
body:
$ref: '#/components/schemas/ContainerLookAndFeel'
ContentMetadata:
type: object
additionalProperties: true
properties:
currentuser:
type: object
properties:
favourited:
type: object
properties:
isFavourite:
type: boolean
favouritedDate:
type: string
format: date-time
lastmodified:
type: object
properties:
version:
$ref: '#/components/schemas/Version'
friendlyLastModified:
type: string
lastcontributed:
type: object
properties:
status:
type: string
when:
type: string
format: date-time
viewed:
type: object
properties:
lastSeen:
type: string
format: date-time
friendlyLastSeen:
type: string
scheduled:
type: object
_expandable:
type: object
properties:
favourited:
type: string
lastmodified:
type: string
lastcontributed:
type: string
viewed:
type: string
scheduled:
type: string
properties:
$ref: '#/components/schemas/GenericLinks'
frontend:
type: object
additionalProperties: true
labels:
oneOf:
- $ref: '#/components/schemas/LabelArray'
- type: array
items:
$ref: '#/components/schemas/Label'
description: Metadata object for page, blogpost, comment content
ContentProperty:
required:
- _links
- id
- key
- value
type: object
additionalProperties: true
properties:
id:
type: string
key:
type: string
value:
oneOf:
- type: array
items:
type: string
- type: boolean
- type: object
additionalProperties: true
properties: {}
- type: string
description: >-
The value of the content property. This can be empty or a complex
object.
version:
required:
- message
- minorEdit
- number
- when
type: object
additionalProperties: true
properties:
when:
type: string
format: date-time
message:
type: string
number:
type: integer
format: int32
minorEdit:
type: boolean
contentTypeModified:
type: boolean
description: >-
True if content type is modifed in this version (e.g. page to
blog)
_links:
$ref: '#/components/schemas/GenericLinks'
_expandable:
type: object
properties:
content:
type: string
additionalProperties:
type: string
ContentPropertyArray:
required:
- _links
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/ContentProperty'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
ContentPropertyCreate:
required:
- key
- value
type: object
additionalProperties: true
properties:
key:
maxLength: 255
type: string
description: The key of the new property.
value:
oneOf:
- type: array
items:
type: string
- type: boolean
- type: object
additionalProperties: true
properties: {}
- type: string
description: >-
The value of the content property. This can be empty or a complex
object.
ContentPropertyCreateNoKey:
required:
- value
type: object
additionalProperties: true
properties:
value:
oneOf:
- type: array
items:
type: string
- type: boolean
- type: object
additionalProperties: true
properties: {}
- type: string
description: >-
The value of the content property. This can be empty or a complex
object.
ContentPropertyUpdate:
required:
- value
- version
type: object
additionalProperties: true
properties:
value:
oneOf:
- type: array
items:
type: string
- type: boolean
- type: object
additionalProperties: true
properties: {}
- type: string
description: >-
The value of the content property. This can be empty or a complex
object.
version:
required:
- number
type: object
nullable: true
additionalProperties: true
properties:
number:
oneOf:
- type: integer
- type: string
description: >-
The new version for the updated content property. Set this to
the
current version number incremented by one. To get the current
version number, use 'Get content property' and retrieve
`version.number`.
format: int32
minorEdit:
type: boolean
description: >-
If `minorEdit` is set to 'true', no notification email or
activity
stream will be generated for the change.
default: true
description: The version number of the property.
ContentRestriction:
required:
- _expandable
- _links
- operation
type: object
properties:
operation:
type: string
enum:
- administer
- copy
- create
- delete
- export
- move
- purge
- purge_version
- read
- restore
- update
- use
restrictions:
type: object
properties:
user:
$ref: '#/components/schemas/UserArray'
group:
$ref: '#/components/schemas/GroupArray'
_expandable:
type: object
properties:
user:
type: string
group:
type: string
content:
$ref: '#/components/schemas/Content'
_expandable:
type: object
properties:
restrictions:
type: string
content:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
ContentRestrictionArray:
required:
- _links
- limit
- restrictionsHash
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/ContentRestriction'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
restrictionsHash:
type: string
description: >-
This property is used by the UI to figure out whether a set of
restrictions
has changed.
_links:
$ref: '#/components/schemas/GenericLinks'
ContentRestrictionUpdate:
required:
- operation
- restrictions
type: object
properties:
operation:
type: string
description: The restriction operation applied to content.
enum:
- administer
- copy
- create
- delete
- export
- move
- purge
- purge_version
- read
- restore
- update
- use
restrictions:
type: object
properties:
group:
type: array
description: >-
The groups that the restrictions will be applied to. This array
must
have at least one item, otherwise it should be omitted. At least
one of `name` or `id` is required,
and `id` should be used where possible in advance of the `name`
deprecation.
items:
required:
- type
type: object
properties:
type:
type: string
description: Set to 'group'.
enum:
- group
name:
type: string
description: The name of the group.
deprecated: true
id:
type: string
description: The id of the group.
description: A group that the restriction will be applied to.
user:
oneOf:
- type: array
items:
$ref: '#/components/schemas/User'
- $ref: '#/components/schemas/UserArray'
description: >-
The users/groups that the restrictions will be applied to. At least
one of
`user` or `group` must be specified for this object.
content:
$ref: '#/components/schemas/Content'
ContentRestrictionAddOrUpdateArray:
oneOf:
- type: object
required:
- results
properties:
results:
type: array
items:
$ref: '#/components/schemas/ContentRestrictionUpdate'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
restrictionsHash:
type: string
description: >-
This property is used by the UI to figure out whether a set of
restrictions
has changed.
_links:
$ref: '#/components/schemas/GenericLinks'
- type: array
items:
$ref: '#/components/schemas/ContentRestrictionUpdate'
AddContentRestriction:
required:
- operation
- restrictions
type: object
properties:
operation:
type: string
description: The restriction operation applied to content.
enum:
- read
- update
restrictions:
type: object
properties:
user:
type: array
description: >-
The users that the restrictions will be applied to. This array
must
have at least one item, otherwise it should be omitted.
items:
required:
- accountId
- type
type: object
properties:
type:
type: string
description: Set to 'known'.
enum:
- known
- unknown
- anonymous
- user
username:
$ref: '#/components/schemas/GenericUserName'
userKey:
$ref: '#/components/schemas/GenericUserKey'
accountId:
$ref: '#/components/schemas/GenericAccountId'
description: >-
A user that the restriction will be applied to. Either the
`username`
or the `userKey` must be specified to identify the user.
group:
type: array
description: >-
The groups that the restrictions will be applied to. This array
must
have at least one item, otherwise it should be omitted.
items:
required:
- name
- type
type: object
properties:
type:
type: string
description: Set to 'group'.
enum:
- group
name:
type: string
description: The name of the group.
description: A group that the restriction will be applied to.
description: >-
The users/groups that the restrictions will be applied to. At least
one of
`user` or `group` must be specified for this object.
AddContentRestrictionUpdateArray:
type: array
items:
$ref: '#/components/schemas/AddContentRestriction'
BulkContentStateSetInput:
type: object
required:
- ids
- contentState
properties:
ids:
description: maximum number of ids you can pass in is 300
type: array
items:
$ref: '#/components/schemas/ContentId'
contentState:
$ref: '#/components/schemas/ContentStateInput'
ContentPageResponse:
required:
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Content'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
ContentState:
required:
- id
- name
- color
type: object
properties:
id:
type: integer
description: >-
identifier of content state. If 0, 1, or 2, this is a default space
state
format: int64
name:
type: string
description: name of content state.
color:
type: string
description: hex string representing color of state
ContentStateBulkSetTaskUpdate:
required:
- set
- failed
- success
- percentage
properties:
set:
type: array
items:
$ref: '#/components/schemas/ContentId'
failed:
type: array
items:
$ref: '#/components/schemas/ContentStateFailure'
percentage:
type: integer
format: int64
message:
type: string
state:
$ref: '#/components/schemas/ContentState'
success:
type: boolean
type: object
ContentStateFailure:
required:
- contentId
- failureReason
type: object
properties:
contentId:
$ref: '#/components/schemas/ContentId'
failureReason:
type: string
description: Object describing why a content state set failed
ContentStateInput:
type: object
properties:
name:
type: string
color:
description: >-
Color of state. Must be in 6 digit hex form (#FFFFFF). The default
colors offered in the UI are:
#ff7452 (red),
#2684ff (blue),
#ffc400 (yellow),
#57d9a3 (green), and
#8777d9 (purple)
type: string
id:
type: integer
format: int32
spaceKey:
type: string
ContentStateRestInput:
type: object
properties:
name:
type: string
description: Name of content state. Maximum 20 characters.
color:
type: string
description: >-
Color of state. Must be in 6 digit hex form (#FFFFFF). The default
colors offered in the UI are:
#ff7452 (red),
#2684ff (blue),
#ffc400 (yellow),
#57d9a3 (green), and
#8777d9 (purple)
id:
type: integer
description: >-
id of state. This can be 0,1, or 2 if you wish to specify a default
space state.
format: int64
ContentStateResponse:
type: object
properties:
contentState:
$ref: '#/components/schemas/ContentState'
description: Null or content state
lastUpdated:
type: string
description: Timestamp of last publish event where content state changed
ContentStateSettings:
required:
- contentStatesAllowed
- customContentStatesAllowed
- spaceContentStatesAllowed
type: object
properties:
contentStatesAllowed:
type: boolean
description: Whether users can place any content states on content
customContentStatesAllowed:
type: boolean
description: Whether users can place their custom states on content
spaceContentStatesAllowed:
type: boolean
description: Whether users can place space suggested states on content
spaceContentStates:
type: array
items:
$ref: '#/components/schemas/ContentState'
description: space suggested content states that users can choose from
ContentTemplate:
required:
- _links
- description
- labels
- name
- templateId
- templateType
type: object
properties:
templateId:
type: string
originalTemplate:
type: object
properties:
pluginKey:
type: string
moduleKey:
type: string
referencingBlueprint:
type: string
name:
type: string
description:
type: string
space:
type: object
additionalProperties: true
labels:
type: array
items:
$ref: '#/components/schemas/Label'
templateType:
type: string
editorVersion:
type: string
body:
$ref: '#/components/schemas/ContentTemplateBody'
_expandable:
type: object
properties:
body:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
ContentTemplateArray:
required:
- _links
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/ContentTemplate'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
ContentTemplateCreate:
required:
- body
- name
- templateType
type: object
additionalProperties: true
properties:
name:
type: string
description: The name of the new template.
templateType:
type: string
description: The type of the new template. Set to `page`.
body:
$ref: '#/components/schemas/ContentTemplateBodyCreate'
description:
maxLength: 255
type: string
description: A description of the new template.
labels:
type: array
description: Labels for the new template.
items:
$ref: '#/components/schemas/Label'
space:
required:
- key
type: object
additionalProperties: true
nullable: true
properties:
key:
type: string
description: >-
The key for the space of the new template. Only applies to space
templates.
If the spaceKey is not specified, the template will be created as a
global
template.
description: This object is used to create content templates.
ContentTemplateBody:
type: object
properties:
view:
$ref: '#/components/schemas/ContentBody'
export_view:
$ref: '#/components/schemas/ContentBody'
styled_view:
$ref: '#/components/schemas/ContentBody'
storage:
$ref: '#/components/schemas/ContentBody'
editor:
$ref: '#/components/schemas/ContentBody'
editor2:
$ref: '#/components/schemas/ContentBody'
wiki:
$ref: '#/components/schemas/ContentBody'
atlas_doc_format:
$ref: '#/components/schemas/ContentBody'
anonymous_export_view:
$ref: '#/components/schemas/ContentBody'
description: >-
The body of the new content. Does not apply to attachments.
Only one body format should be specified as the property for
this object, e.g. `storage`.
Note, `editor2` format is used by Atlassian only.
`anonymous_export_view` is
the same as `export_view` format but only content viewable by an
anonymous
user is included.
ContentTemplateBodyCreate:
type: object
properties:
view:
$ref: '#/components/schemas/ContentBodyCreate'
export_view:
$ref: '#/components/schemas/ContentBodyCreate'
styled_view:
$ref: '#/components/schemas/ContentBodyCreate'
storage:
$ref: '#/components/schemas/ContentBodyCreate'
editor:
$ref: '#/components/schemas/ContentBodyCreate'
editor2:
$ref: '#/components/schemas/ContentBodyCreate'
wiki:
$ref: '#/components/schemas/ContentBodyCreate'
atlas_doc_format:
$ref: '#/components/schemas/ContentBodyCreate'
anonymous_export_view:
$ref: '#/components/schemas/ContentBodyCreate'
description: >-
The body of the new content. Does not apply to attachments.
Only one body format should be specified as the property for
this object, e.g. `storage`.
Note, `editor2` format is used by Atlassian only.
`anonymous_export_view` is
the same as `export_view` format but only content viewable by an
anonymous
user is included.
ContentTemplateUpdate:
required:
- body
- name
- templateId
- templateType
type: object
additionalProperties: true
properties:
templateId:
type: string
description: The ID of the template being updated.
name:
type: string
description: |-
The name of the template. Set to the current `name` if this field is
not being updated.
templateType:
type: string
description: The type of the template. Set to `page`.
enum:
- page
body:
$ref: '#/components/schemas/ContentTemplateBodyCreate'
description:
maxLength: 100
type: string
description: A description of the template.
labels:
type: array
description: Labels for the template.
items:
$ref: '#/components/schemas/Label'
space:
required:
- key
type: object
additionalProperties: true
nullable: true
properties:
key:
type: string
description: |-
The key for the space of the template. Required if the template is a
space template. Set this to the current `space.key`.
description: This object is used to update content templates.
ContentUpdate:
required:
- type
- version
type: object
additionalProperties: true
properties:
version:
nullable: true
required:
- number
type: object
additionalProperties: true
properties:
number:
type: integer
description: The version number.
format: int32
message:
type: string
description: An optional message to be stored with the corresponding version.
nullable: true
description: >-
The new version for the updated content. Set this to the current
version number incremented by one, unless you are changing the
status to 'draft' which must have a version number of 1.
To get the current version number, use [Get content by
ID](#api-content-id-get) and retrieve `version.number`.
title:
nullable: true
maxLength: 255
type: string
description: >-
The updated title of the content. If you are updating a non-draft
`page` or `blogpost`, title is required. If you are not changing the
title, set this field to the the current title.
type:
nullable: true
type: string
description: >-
The type of content. Set this to the current type of the content.
For example, - page - blogpost - comment - attachment
status:
type: string
description: >-
The updated status of the content. Note, if you change the status of
a page from
'current' to 'draft' and it has an existing draft, the existing
draft will be deleted
in favor of the updated page.
enum:
- current
- trashed
- deleted
- historical
- draft
ancestors:
nullable: true
type: array
description: >-
The new parent for the content. Only one parent content 'id' can be
specified.
items:
required:
- id
type: object
additionalProperties: true
properties:
id:
oneOf:
- type: integer
- type: string
description: The `id` of the parent content.
body:
type: object
properties:
view:
$ref: '#/components/schemas/ContentBodyCreate'
export_view:
$ref: '#/components/schemas/ContentBodyCreate'
styled_view:
$ref: '#/components/schemas/ContentBodyCreate'
storage:
$ref: '#/components/schemas/ContentBodyCreateStorage'
editor:
$ref: '#/components/schemas/ContentBodyCreate'
editor2:
$ref: '#/components/schemas/ContentBodyCreate'
wiki:
$ref: '#/components/schemas/ContentBodyCreate'
atlas_doc_format:
$ref: '#/components/schemas/ContentBodyCreate'
anonymous_export_view:
$ref: '#/components/schemas/ContentBodyCreate'
description: >-
The updated body of the content. Does not apply to attachments.
If you are not sure how to generate these formats, you can create a
page in the
Confluence application, retrieve the content using [Get
content](#api-content-get),
and expand the desired content format, e.g. `expand=body.storage`.
CopyPageHierarchyRequest:
required:
- destinationPageId
type: object
properties:
copyAttachments:
type: boolean
description: If set to `true`, attachments are copied to the destination page.
default: false
copyPermissions:
type: boolean
description: >-
If set to `true`, page permissions are copied to the destination
page.
default: false
copyProperties:
type: boolean
description: >-
If set to `true`, content properties are copied to the destination
page.
default: false
copyLabels:
type: boolean
description: If set to `true`, labels are copied to the destination page.
default: false
copyCustomContents:
type: boolean
description: >-
If set to `true`, custom contents are copied to the destination
page.
default: false
copyDescendants:
type: boolean
description: If set to `true`, descendants are copied to the destination page.
default: true
destinationPageId:
$ref: '#/components/schemas/ContentId'
titleOptions:
$ref: '#/components/schemas/CopyPageHierarchyTitleOptions'
CopyPageHierarchyTitleOptions:
type: object
properties:
prefix:
type: string
replace:
type: string
search:
type: string
description: Required for copying page in the same space.
CopyPageRequest:
required:
- destination
type: object
properties:
copyAttachments:
type: boolean
description: If set to `true`, attachments are copied to the destination page.
default: false
copyPermissions:
type: boolean
description: >-
If set to `true`, page permissions are copied to the destination
page.
default: false
copyProperties:
type: boolean
description: >-
If set to `true`, content properties are copied to the destination
page.
default: false
copyLabels:
type: boolean
description: If set to `true`, labels are copied to the destination page.
default: false
copyCustomContents:
type: boolean
description: >-
If set to `true`, custom contents are copied to the destination
page.
default: false
destination:
$ref: '#/components/schemas/CopyPageRequestDestination'
pageTitle:
type: string
description: If defined, this will replace the title of the destination page.
body:
type: object
properties:
storage:
$ref: '#/components/schemas/ContentBodyCreate'
editor2:
$ref: '#/components/schemas/ContentBodyCreate'
description: If defined, this will replace the body of the destination page.
CopyPageRequestDestination:
required:
- type
- value
type: object
properties:
type:
type: string
enum:
- space
- existing_page
- parent_page
value:
type: string
description: >-
The space key for `space` type, and content id for `parent_page` and
`existing_page`
description: >-
Defines where the page will be copied to, and can be one of the
following types.
- `parent_page`: page will be copied as a child of the specified parent page
- `space`: page will be copied to the specified space as a root page on the space
- `existing_page`: page will be copied and replace the specified page
CQLPersonalDataConvertedQueries:
required:
- queryStrings
type: object
properties:
queryStrings:
type: array
description: |-
The list of converted CQL query strings with account IDs in
place of user identifiers.
items:
type: string
description: The converted CQL queries.
CQLPersonalDataMigrationRequest:
required:
- queryStrings
type: object
properties:
queryStrings:
type: array
description: A list of queries with user identifiers. Maximum of 100 queries.
example:
- type = page and creator != admin and space = DEV
items:
type: string
description: The CQL queries to be converted.
DynamicModulesErrorMessage:
required:
- message
type: object
properties:
message:
type: string
description: The error message.
example:
message: The request is not from a Connect app.
Embeddable:
type: object
additionalProperties: true
EmbeddedContent:
type: object
additionalProperties: true
properties:
entityId:
type: integer
format: int64
entityType:
type: string
entity:
$ref: '#/components/schemas/Embeddable'
GenericAccountId:
type: string
nullable: true
description: >-
The account ID of the user, which uniquely identifies the user across
all Atlassian products.
For example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`.
GenericLinks:
type: object
additionalProperties:
oneOf:
- type: object
additionalProperties: true
- type: string
GenericUserName:
type: string
nullable: true
description: >-
This property is no longer available and will be removed from the
documentation soon.
Use `accountId` instead.
See the [deprecation
notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
GenericUserKey:
type: string
nullable: true
description: >-
This property is no longer available and will be removed from the
documentation soon.
Use `accountId` instead.
See the [deprecation
notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
GlobalSpaceIdentifier:
type: object
nullable: true
required:
- spaceIdentifier
properties:
spaceIdentifier:
type: string
Group:
required:
- name
- type
- id
type: object
properties:
type:
type: string
default: group
enum:
- group
name:
type: string
id:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
GroupCreate:
required:
- type
type: object
description: The name property will soon be deprecated in favor of using id.
additionalProperties: true
properties:
type:
type: string
default: group
enum:
- group
name:
type: string
deprecated: true
id:
type: string
GroupArray:
required:
- limit
- results
- size
- start
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
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'
GroupName:
required:
- name
type: object
properties:
name:
type: string
HeaderLookAndFeel:
required:
- backgroundColor
- button
- primaryNavigation
- search
- secondaryNavigation
type: object
properties:
backgroundColor:
type: string
button:
$ref: '#/components/schemas/ButtonLookAndFeel'
primaryNavigation:
$ref: '#/components/schemas/NavigationLookAndFeel'
secondaryNavigation:
$ref: '#/components/schemas/NavigationLookAndFeel'
search:
$ref: '#/components/schemas/SearchFieldLookAndFeel'
HorizontalHeaderLookAndFeel:
required:
- backgroundColor
- primaryNavigation
type: object
properties:
backgroundColor:
type: string
button:
$ref: '#/components/schemas/ButtonLookAndFeel'
primaryNavigation:
$ref: '#/components/schemas/TopNavigationLookAndFeel'
secondaryNavigation:
$ref: '#/components/schemas/NavigationLookAndFeel'
search:
$ref: '#/components/schemas/SearchFieldLookAndFeel'
Icon:
required:
- height
- isDefault
- path
- width
type: object
nullable: true
properties:
path:
type: string
width:
type: integer
format: int32
height:
type: integer
format: int32
isDefault:
type: boolean
description: >-
This object represents an icon. If used as a profilePicture, this may be
returned as null, depending on the user's privacy setting.
Label:
required:
- id
- label
- name
- prefix
type: object
properties:
prefix:
type: string
name:
type: string
id:
type: string
label:
type: string
LabelArray:
required:
- results
- size
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Label'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
LabeledContent:
required:
- contentId
- contentType
- title
type: object
properties:
contentType:
$ref: '#/components/schemas/LabeledContentType'
contentId:
type: integer
format: int64
title:
type: string
description: Title of the content.
LabeledContentType:
type: string
enum:
- page
- blogpost
- attachment
- page_template
LabeledContentPageResponse:
required:
- results
- size
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/LabeledContent'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
LabelDetails:
required:
- label
type: object
properties:
label:
$ref: '#/components/schemas/Label'
associatedContents:
$ref: '#/components/schemas/LabeledContentPageResponse'
LabelCreate:
required:
- name
- prefix
type: object
additionalProperties: true
properties:
prefix:
type: string
description: The prefix for the label. `global`, `my` `team`, etc.
name:
type: string
description: The name of the label, which will be shown in the UI.
LabelCreateArray:
type: array
items:
$ref: '#/components/schemas/LabelCreate'
LongTask:
required:
- id
- links
type: object
properties:
ari:
type: string
description: the ARI for the long task, based on its ID
id:
type: string
description: a unique identifier for the long task
links:
type: object
additionalProperties: true
properties:
status:
type: string
description: The URL to retrive status of long task.
LookAndFeel:
required:
- bordersAndDividers
- content
- header
- headings
- links
- menus
type: object
properties:
headings:
required:
- color
type: object
properties:
color:
type: string
links:
required:
- color
type: object
properties:
color:
type: string
menus:
$ref: '#/components/schemas/MenusLookAndFeel'
header:
$ref: '#/components/schemas/HeaderLookAndFeel'
horizontalHeader:
$ref: '#/components/schemas/HorizontalHeaderLookAndFeel'
content:
$ref: '#/components/schemas/ContentLookAndFeel'
bordersAndDividers:
required:
- color
type: object
properties:
color:
type: string
spaceReference:
type: object
nullable: true
LookAndFeelWithLinks:
description: Look and feel settings returned after an update.
allOf:
- $ref: '#/components/schemas/LookAndFeel'
- type: object
properties:
_links:
$ref: '#/components/schemas/GenericLinks'
LookAndFeelSelection:
required:
- lookAndFeelType
- spaceKey
type: object
properties:
spaceKey:
type: string
description: |-
The key of the space for which the look and feel settings will be
set.
lookAndFeelType:
type: string
enum:
- global
- custom
- theme
description: Look and feel selection
LookAndFeelSettings:
required:
- custom
- global
- selected
type: object
properties:
selected:
type: string
enum:
- global
- custom
global:
$ref: '#/components/schemas/LookAndFeel'
theme:
$ref: '#/components/schemas/LookAndFeel'
custom:
$ref: '#/components/schemas/LookAndFeel'
LongTaskStatus:
required:
- elapsedTime
- finished
- id
- messages
- name
- percentageComplete
- successful
type: object
properties:
ari:
type: string
description: the ARI for the long task, based on its ID
id:
type: string
name:
required:
- args
- key
type: object
properties:
key:
type: string
args:
type: array
items:
type: object
properties: {}
elapsedTime:
type: integer
format: int64
percentageComplete:
type: integer
format: int32
successful:
type: boolean
finished:
type: boolean
messages:
type: array
items:
$ref: '#/components/schemas/Message'
status:
type: string
errors:
type: array
items:
$ref: '#/components/schemas/Message'
additionalDetails:
type: object
properties:
destinationId:
type: string
destinationUrl:
type: string
totalPageNeedToCopy:
type: integer
additionalProperties:
type: string
description: >-
Current status of a long running task
Status keys:
- `ERROR_UNKNOWN` - Generic error
- `ERROR_LOCK_FAILED` - Could not get the lock on destination space
- `ERROR_RELINK` - Error when relink pages/attachments
- `ERROR_COPY_PAGE` - Error while copying 1 page
- `WARN_RENAME_PAGE` - Warning page is rename during copy
- `WARN_IGNORE_COPY_PERMISSION` - Warning could not copy permission
- `WARN_IGNORE_COPY_ATTACHMENT` - Warning could not copy attachment
- `WARN_IGNORE_DELETE_PAGE` - Warning ignoring delete of a non agreed on
page
- `STATUS_COPIED_PAGES` - Message total pages are copied
- `STATUS_COPYING_PAGES` - Message copy pages
- `STATUS_RELINK_PAGES` - Message relink pages/attachments
- `STATUS_DELETING_PAGES` - Message delete pages
- `STATUS_DELETED_PAGES` - Message total pages are deleted
- `STATUS_MOVING_PAGES` - Message move pages
- `WARN_IGNORE_VIEW_RESTRICTED` - Permission changed - view restricted
- `WARN_IGNORE_EDIT_RESTRICTED` - Permission changed - edit restricted
- `INITIALIZING_TASK` - Message when initializing task
- `UNKNOWN_STATUS` - Message when status is unknown
LongTaskStatusArray:
required:
- _links
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/LongTaskStatus'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
LongTaskStatusWithLinks:
required:
- _links
- elapsedTime
- finished
- id
- messages
- name
- percentageComplete
- successful
type: object
properties:
ari:
type: string
description: the ARI for the long task, based on its ID
id:
type: string
name:
required:
- args
- key
type: object
properties:
key:
type: string
args:
type: array
items:
type: object
properties: {}
elapsedTime:
type: integer
format: int64
percentageComplete:
type: integer
format: int32
successful:
type: boolean
finished:
type: boolean
messages:
type: array
items:
$ref: '#/components/schemas/Message'
_links:
$ref: '#/components/schemas/GenericLinks'
status:
type: string
errors:
type: array
items:
$ref: '#/components/schemas/Message'
additionalDetails:
type: object
properties:
destinationId:
type: string
nullable: true
destinationUrl:
type: string
totalPageNeedToCopy:
type: integer
additionalProperties:
type: string
description: >-
Same as LongTaskStatus but with `_links` property.
Status keys:
- `ERROR_UNKNOWN` - Generic error
- `ERROR_LOCK_FAILED` - Could not get the lock on destination space
- `ERROR_RELINK` - Error when relink pages/attachments
- `ERROR_COPY_PAGE` - Error while copying 1 page
- `WARN_RENAME_PAGE` - Warning page is rename during copy
- `WARN_IGNORE_COPY_PERMISSION` - Warning could not copy permission
- `WARN_IGNORE_COPY_ATTACHMENT` - Warning could not copy attachment
- `WARN_IGNORE_DELETE_PAGE` - Warning ignoring delete of a non agreed on
page
- `STATUS_COPIED_PAGES` - Message total pages are copied
- `STATUS_COPYING_PAGES` - Message copy pages
- `STATUS_RELINK_PAGES` - Message relink pages/attachments
- `STATUS_DELETING_PAGES` - Message delete pages
- `STATUS_DELETED_PAGES` - Message total pages are deleted
- `STATUS_MOVING_PAGES` - Message move pages
- `WARN_IGNORE_VIEW_RESTRICTED` - Permission changed - view restricted
- `WARN_IGNORE_EDIT_RESTRICTED` - Permission changed - edit restricted
- `INITIALIZING_TASK` - Message when initializing task
- `UNKNOWN_STATUS` - Message when status is unknown
MacroInstance:
type: object
properties:
name:
type: string
body:
type: string
parameters:
type: object
_links:
$ref: '#/components/schemas/GenericLinks'
MenusLookAndFeel:
required:
- color
- hoverOrFocus
type: object
properties:
hoverOrFocus:
required:
- backgroundColor
type: object
properties:
backgroundColor:
type: string
color:
type: string
Message:
required:
- args
type: object
additionalProperties: true
properties:
translation:
type: string
args:
type: array
items:
oneOf:
- type: string
- type: object
additionalProperties: true
BulkUserLookup:
required:
- _expandable
- _links
- accountId
- accountType
- displayName
- email
- profilePicture
- publicName
- type
type: object
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.
email:
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:
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
operations:
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'
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'
NavigationLookAndFeel:
required:
- color
- hoverOrFocus
type: object
nullable: true
properties:
color:
type: string
highlightColor:
type: string
nullable: true
hoverOrFocus:
required:
- backgroundColor
- color
type: object
properties:
backgroundColor:
type: string
color:
type: string
TopNavigationLookAndFeel:
required:
- highlightColor
type: object
properties:
color:
type: string
nullable: true
highlightColor:
type: string
hoverOrFocus:
type: object
properties:
backgroundColor:
type: string
color:
type: string
OperationCheckResult:
required:
- operation
- targetType
type: object
properties:
operation:
type: string
description: The operation itself.
enum:
- administer
- archive
- clear_permissions
- copy
- create
- create_space
- delete
- export
- move
- purge
- purge_version
- read
- restore
- restrict_content
- update
- use
targetType:
type: string
description: >-
The space or content type that the operation applies to. Could be
one of- - application - page - blogpost - comment - attachment -
space
description: An operation and the target entity that it applies to, e.g. create page.
PropertyValue:
oneOf:
- type: array
items:
type: string
- type: boolean
- type: object
additionalProperties: true
properties: {}
- type: string
description: >-
The value of the property. This can be empty or a complex object. 64KB
Size Limit
For example,
```
"value": {
"example1": "value",
"example2": true,
"example3": 123,
"example4": ["value1", "value2"],
}
```
Relation:
required:
- _links
- name
type: object
properties:
name:
type: string
relationData:
$ref: '#/components/schemas/RelationData'
source:
oneOf:
- $ref: '#/components/schemas/Content'
- $ref: '#/components/schemas/User'
- $ref: '#/components/schemas/Space'
target:
oneOf:
- $ref: '#/components/schemas/Content'
- $ref: '#/components/schemas/User'
- $ref: '#/components/schemas/Space'
_expandable:
type: object
properties:
relationData:
type: string
source:
type: string
target:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
RelationArray:
required:
- _links
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Relation'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
RelationData:
type: object
properties:
createdBy:
$ref: '#/components/schemas/User'
createdDate:
type: string
format: date-time
friendlyCreatedDate:
type: string
RetentionPeriod:
required:
- number
- units
type: object
properties:
number:
type: integer
description: The number of units for the retention period.
format: int32
units:
type: string
description: The unit of time that the retention period is measured in.
enum:
- NANOS
- MICROS
- MILLIS
- SECONDS
- MINUTES
- HOURS
- HALF_DAYS
- DAYS
- WEEKS
- MONTHS
- YEARS
- DECADES
- CENTURIES
- MILLENNIA
- ERAS
- FOREVER
ScreenLookAndFeel:
required:
- background
type: object
properties:
background:
type: string
backgroundAttachment:
type: string
nullable: true
backgroundBlendMode:
type: string
nullable: true
backgroundClip:
type: string
nullable: true
backgroundColor:
type: string
nullable: true
backgroundImage:
type: string
nullable: true
backgroundOrigin:
type: string
nullable: true
backgroundPosition:
type: string
nullable: true
backgroundRepeat:
type: string
nullable: true
backgroundSize:
type: string
nullable: true
layer:
type: object
properties:
width:
type: string
height:
type: string
nullable: true
gutterTop:
type: string
nullable: true
gutterRight:
type: string
nullable: true
gutterBottom:
type: string
nullable: true
gutterLeft:
type: string
nullable: true
SearchFieldLookAndFeel:
required:
- backgroundColor
- color
type: object
nullable: true
properties:
backgroundColor:
type: string
color:
type: string
SearchPageResponseSearchResult:
required:
- _links
- cqlQuery
- limit
- results
- searchDuration
- size
- start
- totalSize
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/SearchResult'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
totalSize:
type: integer
format: int32
cqlQuery:
type: string
searchDuration:
type: integer
format: int32
archivedResultCount:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
SearchResult:
required:
- breadcrumbs
- entityType
- excerpt
- iconCssClass
- lastModified
- title
- url
type: object
properties:
content:
$ref: '#/components/schemas/Content'
user:
$ref: '#/components/schemas/User'
space:
$ref: '#/components/schemas/Space'
title:
type: string
excerpt:
type: string
url:
type: string
resultParentContainer:
$ref: '#/components/schemas/ContainerSummary'
resultGlobalContainer:
$ref: '#/components/schemas/ContainerSummary'
breadcrumbs:
type: array
items:
$ref: '#/components/schemas/Breadcrumb'
entityType:
type: string
iconCssClass:
type: string
lastModified:
type: string
format: date-time
friendlyLastModified:
type: string
score:
type: number
Space:
required:
- _expandable
- _links
- key
- name
- status
- type
nullable: true
type: object
properties:
id:
type: integer
format: int64
key:
type: string
name:
type: string
icon:
$ref: '#/components/schemas/Icon'
description:
type: object
properties:
plain:
$ref: '#/components/schemas/SpaceDescription'
view:
$ref: '#/components/schemas/SpaceDescription'
_expandable:
type: object
properties:
view:
type: string
plain:
type: string
homepage:
$ref: '#/components/schemas/Content'
type:
type: string
metadata:
type: object
properties:
labels:
$ref: '#/components/schemas/LabelArray'
_expandable:
type: object
operations:
type: array
items:
$ref: '#/components/schemas/OperationCheckResult'
permissions:
type: array
items:
$ref: '#/components/schemas/SpacePermission'
status:
type: string
settings:
$ref: '#/components/schemas/SpaceSettings'
theme:
$ref: '#/components/schemas/Theme'
lookAndFeel:
$ref: '#/components/schemas/LookAndFeel'
history:
required:
- createdDate
type: object
properties:
createdDate:
type: string
format: date-time
createdBy:
$ref: '#/components/schemas/User'
_expandable:
type: object
properties:
settings:
type: string
metadata:
type: string
operations:
type: string
lookAndFeel:
type: string
permissions:
type: string
icon:
type: string
description:
type: string
theme:
type: string
history:
type: string
homepage:
type: string
identifiers:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
SpaceArray:
required:
- _links
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Space'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
SpaceCreate:
required:
- key
- name
type: object
additionalProperties: true
properties:
key:
type: string
description: |-
The key for the new space. Format: See [Space
keys](https://confluence.atlassian.com/x/lqNMMQ).
name:
maxLength: 200
type: string
description: The name of the new space.
description:
$ref: '#/components/schemas/SpaceDescriptionCreate'
permissions:
type: array
nullable: true
description: >-
The permissions for the new space. If no permissions are provided,
the
[Confluence default space
permissions](https://confluence.atlassian.com/x/UAgzKw#CreateaSpace-Spacepermissions)
are applied. Note that if permissions are provided, the space is
created with only the provided set of permissions, not
including the default space permissions. Space permissions
can be modified after creation using the space permissions
endpoints, and a private space can be created using the
create private space endpoint.
items:
$ref: '#/components/schemas/SpacePermissionCreate'
description: This is the request object used when creating a new space.
SpaceUpdate:
type: object
additionalProperties: true
properties:
name:
nullable: true
maxLength: 200
type: string
description: The updated name of the space.
description:
$ref: '#/components/schemas/SpaceDescriptionCreate'
homepage:
nullable: true
description: The updated homepage for this space
type: object
type:
description: The updated type for this space.
type: string
status:
nullable: true
description: The updated status for this space.
type: string
description: The properties of a space that can be updated.
SpaceDescription:
required:
- embeddedContent
- representation
- value
type: object
additionalProperties: true
properties:
value:
type: string
representation:
type: string
enum:
- plain
- view
embeddedContent:
type: array
items:
type: object
properties: {}
SpaceDescriptionCreate:
required:
- plain
type: object
nullable: true
properties:
plain:
type: object
additionalProperties: true
properties:
value:
type: string
description: The space description.
representation:
type: string
description: Set to 'plain'.
description: >-
The description of the new/updated space. Note, only the 'plain'
representation
can be used for the description when creating or updating a space.
SpacePermission:
required:
- anonymousAccess
- operation
- unlicensedAccess
type: object
properties:
id:
type: integer
format: int64
subjects:
type: object
properties:
user:
required:
- results
- size
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/User'
size:
type: integer
format: int32
start:
type: integer
format: int32
limit:
type: integer
format: int32
group:
required:
- results
- size
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Group'
size:
type: integer
format: int32
start:
type: integer
format: int32
limit:
type: integer
format: int32
_expandable:
type: object
properties:
user:
type: string
group:
type: string
description: The users and/or groups that the permission applies to.
operation:
$ref: '#/components/schemas/OperationCheckResult'
anonymousAccess:
type: boolean
description: Grant anonymous users permission to use the operation.
default: false
unlicensedAccess:
type: boolean
description: |-
Grants access to unlicensed users from JIRA Service Desk when used
with the 'read space' operation.
default: false
description: >-
This object represents a permission for given space. Permissions consist
of
at least one operation object with an accompanying subjects object.
The following combinations of `operation` and `targetType` values are
valid for the `operation` object:
- 'create': 'page', 'blogpost', 'comment', 'attachment'
- 'read': 'space'
- 'delete': 'page', 'blogpost', 'comment', 'attachment'
- 'export': 'space'
- 'administer': 'space'
SpacePermissionCreate:
required:
- anonymousAccess
- operation
- unlicensedAccess
type: object
additionalProperties: true
properties:
subjects:
type: object
properties:
user:
required:
- results
- size
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/User'
size:
type: integer
format: int32
group:
required:
- results
- size
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/GroupCreate'
size:
type: integer
format: int32
description: The users and/or groups that the permission applies to.
operation:
$ref: '#/components/schemas/OperationCheckResult'
anonymousAccess:
type: boolean
description: Grant anonymous users permission to use the operation.
default: false
unlicensedAccess:
type: boolean
description: |-
Grants access to unlicensed users from JIRA Service Desk when used
with the 'read space' operation.
default: false
description: >-
This object represents a permission for given space. Permissions consist
of
at least one operation object with an accompanying subjects object.
The following combinations of `operation` and `targetType` values are
valid for the `operation` object:
- 'create': 'page', 'blogpost', 'comment', 'attachment'
- 'read': 'space'
- 'delete': 'page', 'blogpost', 'comment', 'attachment'
- 'export': 'space'
- 'administer': 'space'
SpaceProperty:
required:
- _expandable
- id
- key
- value
type: object
properties:
id:
type: string
key:
type: string
value:
oneOf:
- type: array
items:
type: string
- type: boolean
- type: object
additionalProperties: true
properties: {}
- type: string
version:
$ref: '#/components/schemas/Version'
space:
$ref: '#/components/schemas/Space'
_links:
$ref: '#/components/schemas/GenericLinks'
_expandable:
type: object
properties:
version:
type: string
space:
type: string
SpacePropertyArray:
required:
- _links
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/SpaceProperty'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
SpacePropertyCreate:
required:
- key
- value
type: object
properties:
key:
type: string
description: The key of the new property.
value:
$ref: '#/components/schemas/PropertyValue'
space:
type: object
additionalProperties: true
properties:
key:
type: string
description: The key of the space
SpacePropertyCreateNoKey:
required:
- value
type: object
properties:
value:
$ref: '#/components/schemas/PropertyValue'
SpacePropertyUpdate:
required:
- value
- version
type: object
properties:
key:
type: string
value:
oneOf:
- type: array
items:
type: string
- type: boolean
- type: object
additionalProperties: true
properties: {}
- type: string
version:
$ref: '#/components/schemas/Version'
space:
type: object
additionalProperties: true
properties:
key:
type: string
description: The key of the space
SpaceSettings:
nullable: true
required:
- _links
- routeOverrideEnabled
type: object
properties:
routeOverrideEnabled:
type: boolean
description: >-
Defines whether an override for the space home should be used. This
is
used in conjunction with a space theme provided by an app. For
example, if this property is set to true, a theme can display a page
other than the space homepage when users visit the root URL for a
space. This property allows apps to provide content-only theming
without overriding the space home.
editor:
required:
- page
- blogpost
- default
type: object
properties:
page:
type: string
blogpost:
type: string
default:
type: string
spaceKey:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
SpaceSettingsUpdate:
type: object
properties:
routeOverrideEnabled:
type: boolean
description: >-
Defines whether an override for the space home should be used. This
is
used in conjunction with a space theme provided by an app. For
example, if this property is set to true, a theme can display a page
other than the space homepage when users visit the root URL for a
space. This property allows apps to provide content-only theming
without overriding the space home.
SpaceWatch:
required:
- type
- watcher
type: object
properties:
type:
type: string
watcher:
$ref: '#/components/schemas/WatchUser'
spaceKey:
type: string
labelName:
type: string
prefix:
type: string
SpaceWatchArray:
required:
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/SpaceWatch'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
SuperBatchWebResources:
type: object
properties:
uris:
type: object
properties:
all:
oneOf:
- type: array
items:
type: string
- type: string
css:
oneOf:
- type: array
items:
type: string
- type: string
js:
oneOf:
- type: array
items:
type: string
- type: string
tags:
type: object
properties:
all:
type: string
css:
type: string
data:
type: string
js:
type: string
metatags:
type: string
_expandable:
type: object
additionalProperties: true
SystemInfoEntity:
required:
- cloudId
- commitHash
type: object
nullable: true
properties:
cloudId:
type: string
commitHash:
type: string
baseUrl:
type: string
edition:
type: string
siteTitle:
type: string
defaultLocale:
type: string
defaultTimeZone:
type: string
microsPerimeter:
type: string
TaskStatusUpdate:
required:
- status
type: object
properties:
status:
type: string
enum:
- complete
- incomplete
Task:
required:
- contentId
- createDate
- creator
- globalId
- id
- status
type: object
properties:
globalId:
type: integer
format: int64
id:
type: integer
format: int64
contentId:
type: integer
format: int64
status:
type: string
title:
type: string
description:
type: string
body:
type: string
creator:
type: string
assignee:
type: string
completeUser:
type: string
createDate:
type: integer
format: int64
dueDate:
type: integer
format: int64
updateDate:
type: integer
format: int64
completeDate:
type: integer
format: int64
_links:
$ref: '#/components/schemas/GenericLinks'
TaskPageResponse:
required:
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Task'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
Theme:
required:
- themeKey
type: object
properties:
themeKey:
type: string
name:
type: string
description:
type: string
icon:
$ref: '#/components/schemas/Icon'
_links:
$ref: '#/components/schemas/GenericLinks'
ThemeNoLinks:
required:
- themeKey
type: object
properties:
themeKey:
type: string
name:
type: string
description:
type: string
icon:
$ref: '#/components/schemas/Icon'
description: Theme object without links. Used in ThemeArray.
ThemeArray:
required:
- _links
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/ThemeNoLinks'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
ThemeUpdate:
required:
- themeKey
type: object
properties:
themeKey:
type: string
description: The key of the theme to be set as the space theme.
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'
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'
UserArray:
required:
- results
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/User'
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'
UserDetails:
type: object
properties:
business:
type: object
properties:
position:
type: string
description: >-
This property has been deprecated due to privacy changes. There
is no replacement. See the
[migration
guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
department:
type: string
description: >-
This property has been deprecated due to privacy changes. There
is no replacement. See the
[migration
guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
location:
type: string
description: >-
This property has been deprecated due to privacy changes. There
is no replacement. See the
[migration
guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
personal:
type: object
properties:
phone:
type: string
description: >-
This property has been deprecated due to privacy changes. There
is no replacement. See the
[migration
guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
im:
type: string
description: >-
This property has been deprecated due to privacy changes. There
is no replacement. See the
[migration
guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
website:
type: string
description: >-
This property has been deprecated due to privacy changes. There
is no replacement. See the
[migration
guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
email:
type: string
description: >-
This property has been deprecated due to privacy changes. Use
the `User.email` property instead. See the
[migration
guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)
for details.
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'
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'
UserPropertyCreate:
required:
- value
type: object
additionalProperties: false
properties:
value:
type: object
additionalProperties: true
properties: {}
description: The value of the user property.
UserPropertyUpdate:
required:
- value
type: object
additionalProperties: false
properties:
value:
type: object
additionalProperties: true
properties: {}
description: The value of the user property.
UsersUserKeys:
required:
- userAccountIds
nullable: true
type: object
additionalProperties: true
properties:
users:
type: array
items:
$ref: '#/components/schemas/User'
userKeys:
type: array
items:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
UserWatch:
required:
- watching
type: object
properties:
watching:
type: boolean
Version:
required:
- minorEdit
- number
- when
type: object
nullable: true
additionalProperties: true
properties:
by:
$ref: '#/components/schemas/User'
when:
type: string
format: date-time
nullable: true
friendlyWhen:
type: string
nullable: true
message:
type: string
nullable: true
number:
type: integer
format: int32
description: Set this to the current version number incremented by one
minorEdit:
description: |-
If `minorEdit` is set to 'true', no notification email or activity
stream will be generated for the change.
type: boolean
content:
$ref: '#/components/schemas/Content'
collaborators:
$ref: '#/components/schemas/UsersUserKeys'
_expandable:
type: object
properties:
content:
type: string
collaborators:
type: string
_links:
$ref: '#/components/schemas/GenericLinks'
contentTypeModified:
type: boolean
description: True if content type is modifed in this version (e.g. page to blog)
confRev:
type: string
nullable: true
description: >-
The revision id provided by confluence to be used as a revision in
Synchrony
syncRev:
type: string
nullable: true
description: The revision id provided by Synchrony
syncRevSource:
type: string
nullable: true
description: Source of the synchrony revision
VersionArray:
required:
- _links
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Version'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
VersionRestore:
required:
- operationKey
- params
type: object
properties:
operationKey:
type: string
description: Set to 'restore'.
enum:
- restore
params:
required:
- message
- versionNumber
type: object
properties:
versionNumber:
type: integer
description: The version number to be restored.
format: int32
message:
type: string
description: Description for the version.
restoreTitle:
type: boolean
default: false
description: >-
If true, the content title will be the same as the title from
the version restored. Defaults to `false`.
Watch:
required:
- contentId
- type
- watcher
type: object
properties:
type:
type: string
watcher:
$ref: '#/components/schemas/WatchUser'
contentId:
type: integer
format: int64
WatchArray:
required:
- _links
- limit
- results
- size
- start
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Watch'
start:
type: integer
format: int32
limit:
type: integer
format: int32
size:
type: integer
format: int32
_links:
$ref: '#/components/schemas/GenericLinks'
WatchUser:
required:
- type
- accountId
- profilePicture
- displayName
- operations
- isExternalCollaborator
- accountType
- email
- publicName
- personalSpace
- externalCollaborator
type: object
properties:
type:
type: string
username:
$ref: '#/components/schemas/GenericUserName'
userKey:
$ref: '#/components/schemas/GenericUserKey'
accountId:
$ref: '#/components/schemas/GenericAccountId'
profilePicture:
$ref: '#/components/schemas/Icon'
displayName:
type: string
timeZone:
nullable: true
type: string
operations:
type: array
nullable: true
items:
$ref: '#/components/schemas/OperationCheckResult'
isExternalCollaborator:
type: boolean
details:
$ref: '#/components/schemas/UserDetails'
accountType:
type: string
email:
type: string
publicName:
type: string
personalSpace:
type: object
nullable: true
externalCollaborator:
type: boolean
description: >-
This essentially the same as the `User` object, but no `_links` property
and
no `_expandable` property (therefore, different required fields).
WebResourceDependencies:
type: object
properties:
_expandable:
type: object
additionalProperties: true
properties:
uris:
oneOf:
- type: string
- type: object
additionalProperties: true
keys:
type: array
items:
type: string
contexts:
type: array
items:
type: string
uris:
type: object
properties:
all:
oneOf:
- type: array
items:
type: string
- type: string
css:
oneOf:
- type: array
items:
type: string
- type: string
js:
oneOf:
- type: array
items:
type: string
- type: string
_expandable:
type: object
additionalProperties: true
properties:
css:
oneOf:
- type: array
items:
type: string
- type: string
js:
oneOf:
- type: array
items:
type: string
- type: string
tags:
type: object
properties:
all:
type: string
css:
type: string
data:
type: string
js:
type: string
_expandable:
type: object
additionalProperties: true
superbatch:
$ref: '#/components/schemas/SuperBatchWebResources'
PermissionSubject:
required:
- identifier
- type
type: object
properties:
type:
type: string
enum:
- user
- group
identifier:
type: string
description: >-
for `type=user`, identifier should be user's accountId or
`anonymous` for anonymous users
for `type=group`, identifier should be the groupId. We are
deprecating groupName support in mid-2024
for this field but still accept it in the interim.
description: The user or group that the permission applies to.
PermissionSubjectWithGroupId:
required:
- identifier
- type
type: object
properties:
type:
type: string
enum:
- user
- group
identifier:
type: string
description: >-
for `type=user`, identifier should be user's accountId or
`anonymous` for anonymous users
for `type=group`, identifier should be ID of the group
description: The user or group that the permission applies to.
SpacePermissionV2:
required:
- id
- subject
- operation
type: object
properties:
id:
type: integer
format: int64
subject:
$ref: '#/components/schemas/PermissionSubject'
operation:
required:
- key
- target
type: object
properties:
key:
type: string
enum:
- administer
- archive
- copy
- create
- delete
- export
- move
- purge
- purge_version
- read
- restore
- restrict_content
- update
- use
target:
type: string
description: The space or content type that the operation applies to.
enum:
- page
- blogpost
- comment
- attachment
- space
_links:
$ref: '#/components/schemas/GenericLinks'
description: >-
This object represents a single space permission. Permissions consist of
at least one operation object with an accompanying subjects object.
The following combinations of `operation.key` and `operation.target`
values are
valid for the `operation` object:
``` bash
'create': 'page', 'blogpost', 'comment', 'attachment'
'read': 'space'
'delete': 'page', 'blogpost', 'comment', 'attachment', 'space'
'export': 'space'
'administer': 'space'
'archive': 'page'
'restrict_content': 'space'
```
For example, to enable Delete Own permission, set the `operation` object
to the following:
```
"operation": {
"key": "delete",
"target": "space"
}
```
To enable Add/Delete Restrictions permissions, set the `operation`
object to the following:
```
"operation": {
"key": "restrict_content",
"target": "space"
}
```
SpacePermissionRequest:
required:
- subject
- operation
type: object
additionalProperties: true
properties:
subject:
$ref: '#/components/schemas/PermissionSubject'
operation:
required:
- key
- target
type: object
properties:
key:
type: string
enum:
- administer
- archive
- copy
- create
- delete
- export
- move
- purge
- purge_version
- read
- restore
- restrict_content
- update
- use
target:
type: string
description: The space or content type that the operation applies to.
enum:
- page
- blogpost
- comment
- attachment
- space
_links:
$ref: '#/components/schemas/GenericLinks'
description: >-
This object represents the request for the single space permission.
Permissions consist of
one operation object with an accompanying subjects object.
The following combinations of `operation.key` and `operation.target`
values are
valid for the `operation` object:
``` bash
'create': 'page', 'blogpost', 'comment', 'attachment'
'read': 'space'
'delete': 'page', 'blogpost', 'comment', 'attachment', 'space'
'export': 'space'
'administer': 'space'
'archive': 'page'
'restrict_content': 'space'
```
For example, to enable Delete Own permission, set the `operation` object
to the following:
```
"operation": {
"key": "delete",
"target": "space"
}
```
To enable Add/Delete Restrictions permissions, set the `operation`
object to the following:
```
"operation": {
"key": "restrict_content",
"target": "space"
}
```
SpacePermissionCustomContent:
required:
- operations
- subject
type: object
properties:
subject:
$ref: '#/components/schemas/PermissionSubject'
operations:
type: array
items:
required:
- access
- key
- target
type: object
properties:
key:
type: string
description: The operation type
enum:
- read
- create
- delete
target:
type: string
description: The custom content type
access:
type: boolean
description: Grant or restrict access
description: >-
This object represents a list of space permissions for custom content
type for an individual user. Permissions consist of
a subjects object and a list with at least one operation object.
ContentPermissionRequest:
required:
- operation
- subject
type: object
properties:
subject:
$ref: '#/components/schemas/PermissionSubjectWithGroupId'
operation:
type: string
description: The content permission operation to check.
enum:
- read
- update
- delete
description: This object represents the request for the content permission check API.
PermissionCheckResponse:
required:
- hasPermission
type: object
properties:
hasPermission:
type: boolean
errors:
type: array
items:
$ref: '#/components/schemas/Message'
_links:
$ref: '#/components/schemas/GenericLinks'
description: >-
This object represents the response for the content permission check
API. If the user or group does not have
permissions, the following errors may be returned:
- Group does not have permission to the space
- Group does not have permission to the content
- User is not allowed to use Confluence
- User does not have permission to the space
- User does not have permission to the content
- Anonymous users are not allowed to use Confluence
- Anonymous user does not have permission to the space
- Anonymous user does not have permission to the content
parameters:
contentExpand:
name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content to
expand.
- `childTypes.all` returns whether the content has attachments,
comments, or child pages/whiteboards.
Use this if you only need to check whether the content has children of a
particular type.
- `childTypes.attachment` returns whether the content has attachments.
- `childTypes.comment` returns whether the content has comments.
- `childTypes.page` returns whether the content has child pages.
- `container` returns the space that the content is in. This is the same
as the information
returned by [Get space](#api-space-spaceKey-get).
- `metadata.currentuser` returns information about the current user in
relation to the content,
including when they last viewed it, modified it, contributed to it, or
added it as a favorite.
- `metadata.properties` returns content properties that have been set
via the Confluence REST API.
- `metadata.labels` returns the labels that have been added to the
content.
- `metadata.frontend` this property is only used by Atlassian.
- `operations` returns the operations for the content, which are used
when setting permissions.
- `children.page` returns pages that are descendants at the level
immediately below the content.
- `children.attachment` returns all attachments for the content.
- `children.comment` returns all comments on the content.
- `restrictions.read.restrictions.user` returns the users that have
permission to read the content.
- `restrictions.read.restrictions.group` returns the groups that have
permission to read the content. Note that
this may return deleted groups, because deleting a group doesn't remove
associated restrictions.
- `restrictions.update.restrictions.user` returns the users that have
permission to update the content.
- `restrictions.update.restrictions.group` returns the groups that have
permission to update the content. Note that
this may return deleted groups because deleting a group doesn't remove
associated restrictions.
- `history` returns the history of the content, including the date it
was created.
- `history.lastUpdated` returns information about the most recent update
of the content, including
who updated it and when it was updated.
- `history.previousVersion` returns information about the update prior
to the current content update.
- `history.contributors` returns all of the users who have contributed
to the content.
- `history.nextVersion` returns information about the update after to
the current content update.
- `ancestors` returns the parent content, if the content is a page or
whiteboard.
- `body` returns the body of the content in different formats, including
the editor format,
view format, and export format.
- `body.storage` returns the body of content in storage format.
- `body.view` returns the body of content in view format.
- `version` returns information about the most recent update of the
content, including who updated it
and when it was updated.
- `descendants.page` returns pages that are descendants at any level
below the content.
- `descendants.attachment` returns all attachments for the content, same
as `children.attachment`.
- `descendants.comment` returns all comments on the content, same as
`children.comment`.
- `space` returns the space that the content is in. This is the same as
the information returned by
[Get space](#api-space-spaceKey-get).
In addition, the following comment-specific expansions can be used:
- `extensions.inlineProperties` returns inline comment-specific
properties.
- `extensions.resolution` returns the resolution status of each comment.
style: form
explode: false
schema:
type: array
items:
type: string
bodyConversionExpand:
name: expand
in: query
description: >-
A multi-value parameter indicating which properties of the content to
expand and populate. Expands are dependent on the
`to` conversion format and may be irrelevant for certain conversions
(e.g. `macroRenderedOutput` is redundant when
converting to `view` format).
If rendering to `view` format, and the body content being converted
includes arbitrary nested content (such as macros); then it is
necessary to include webresource expands in the request. Webresources
for content body are the batched JS and CSS dependencies for
any nested dynamic content (i.e. macros).
- `embeddedContent` returns metadata for nested content (e.g. page
included using page include macro)
- `mediaToken` returns JWT token for retrieving attachment data from
Media API
- `macroRenderedOutput` additionally converts body to view format
- `webresource.superbatch.uris.js` returns all common JS dependencies as
static URLs
- `webresource.superbatch.uris.css` returns all common CSS dependencies
as static URLs
- `webresource.superbatch.uris.all` returns all common dependencies as
static URLs
- `webresource.superbatch.tags.all` returns all common JS dependencies
as html `