openapi: 3.1.0
info:
title: Atlassian Admin Account Content - Attachments API
description: The Atlassian Admin API provides programmatic access to manage Atlassian organizations, users, domains, policies, and events. It enables administrators to automate organization management tasks, integrate with identity providers, and ensure appropriate access to Atlassian products.
version: 1.0.0
contact:
name: Atlassian Developer
url: https://developer.atlassian.com/cloud/admin/
license:
name: Atlassian Developer Terms
url: https://developer.atlassian.com/platform/marketplace/atlassian-developer-terms/
x-logo:
url: https://wac-cdn.atlassian.com/assets/img/favicons/atlassian/favicon.png
servers:
- url: https://api.atlassian.com
description: Atlassian Cloud API
security:
- bearerAuth: []
- oauth2: []
tags:
- name: Content - Attachments
paths:
/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
components:
schemas:
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'
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'
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'
GenericLinks:
type: object
additionalProperties:
oneOf:
- type: object
additionalProperties: true
- type: string
ButtonLookAndFeel:
required:
- backgroundColor
- color
type: object
nullable: true
properties:
backgroundColor:
type: string
color:
type: string
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'
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'
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
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.'
SearchFieldLookAndFeel:
required:
- backgroundColor
- color
type: object
nullable: true
properties:
backgroundColor:
type: string
color:
type: string
MenusLookAndFeel:
required:
- color
- hoverOrFocus
type: object
properties:
hoverOrFocus:
required:
- backgroundColor
type: object
properties:
backgroundColor:
type: string
color:
type: string
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'
EmbeddedContent:
type: object
additionalProperties: true
properties:
entityId:
type: integer
format: int64
entityType:
type: string
entity:
$ref: '#/components/schemas/Embeddable'
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'
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
TopNavigationLookAndFeel:
required:
- highlightColor
type: object
properties:
color:
type: string
nullable: true
highlightColor:
type: string
hoverOrFocus:
type: object
properties:
backgroundColor:
type: string
color:
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'
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'
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
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'
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.
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`.'
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'
Label:
required:
- id
- label
- name
- prefix
type: object
properties:
prefix:
type: string
name:
type: string
id:
type: string
label:
type: string
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: {}
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.'
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
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'
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'
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
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)'
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.
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'
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\nat least one operation object with an accompanying subjects object.\n\nThe following combinations of `operation` and `targetType` values are\nvalid for the `operation` object:\n\n - 'create': 'page', 'blogpost', 'comment', 'attachment'\n - 'read': 'space'\n - 'delete': 'page', 'blogpost', 'comment', 'attachment'\n - 'export': 'space'\n - 'administer': 'space'"
ContentLookAndFeel:
type: object
properties:
screen:
$ref: '#/components/schemas/ScreenLookAndFeel'
container:
$ref: '#/components/schemas/ContainerLookAndFeel'
header:
$ref: '#/components/schemas/ContainerLookAndFeel'
body:
$ref: '#/components/schemas/ContainerLookAndFeel'
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'
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
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
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'
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.
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
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.'
Embeddable:
type: object
additionalProperties: true
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'
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.'
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
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: API Key
description: Use an Atlassian API key as a Bearer token. Create API keys at https://admin.atlassian.com.
oauth2:
type: oauth2
description: OAuth 2.0 authorization for Atlassian Cloud APIs.
flows:
authorizationCode:
authorizationUrl: https://auth.atlassian.com/authorize
tokenUrl: https://auth.atlassian.com/oauth/token
scopes:
read:org:admin: Read organization information.
write:org:admin: Modify organization settings.
read:user:admin: Read user information.
write:user:admin: Modify user accounts.
read:policy:admin: Read organization policies.
write:policy:admin: Modify organization policies.
read:event:admin: Read organization events.
externalDocs:
description: Atlassian Admin REST API Documentation
url: https://developer.atlassian.com/cloud/admin/organization/rest/intro/