openapi: 3.2.0 info: title: Confluence Cloud REST Content restrictions API description: This document describes the REST API and resources provided by Confluence. termsOfService: https://atlassian.com/terms/ version: 1.0.0 servers: - url: //your-domain.atlassian.net tags: - name: Content Restrictions description: '' paths: /wiki/rest/api/content/{id}/restriction: get: tags: - Content Restrictions summary: Get restrictions description: 'Returns the restrictions on a piece of content. **Permissions required**: Permission to view the content.' operationId: getRestrictions 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: Update restrictions description: 'Updates restrictions for a piece of content. This removes the existing restrictions and replaces them with the restrictions in the request. **Permissions required**: Permission to edit the content.' operationId: updateRestrictions 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: Add restrictions description: 'Adds restrictions to a piece of content. Note, this does not change any existing restrictions on the content. **Permissions required**: Permission to edit the content.' operationId: addRestrictions 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: Delete restrictions description: 'Removes all restrictions (read and update) on a piece of content. **Permissions required**: Permission to edit the content.' operationId: deleteRestrictions 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: Get restrictions by operation description: 'Returns restrictions on a piece of content by operation. This method is similar to Get restrictions except that the operations are properties of the return object, rather than items in a results array. **Permissions required**: Permission to view the content.' operationId: getRestrictionsByOperation 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: Get restrictions for operation description: 'Returns the restictions on a piece of content for a given operation (read or update). **Permissions required**: Permission to view the content.' operationId: getRestrictionsForOperation 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}/byGroupId/{groupId}: get: tags: - Content Restrictions summary: 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. **Permissions required**: Permission to view the content.' operationId: getIndividualGroupRestrictionStatusByGroupId 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: 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 required**: Permission to edit the content.' operationId: addGroupToContentRestrictionByGroupId 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: 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 required**: Permission to edit the content.' operationId: removeGroupFromContentRestriction 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: 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. **Permissions required**: Permission to view the content.' operationId: getContentRestrictionStatusForUser 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: 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 required**: Permission to edit the content.' operationId: addUserToContentRestriction 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: 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 required**: Permission to edit the content.' operationId: removeUserFromContentRestriction 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 components: schemas: 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' 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.' items: required: - type type: object properties: type: type: string description: Set to 'group'. enum: - group 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' Content: required: - status - type type: - object - 'null' 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: type: - array - 'null' 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. 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: {} ContentLookAndFeel: type: object properties: screen: $ref: '#/components/schemas/ScreenLookAndFeel' container: $ref: '#/components/schemas/ContainerLookAndFeel' header: $ref: '#/components/schemas/ContainerLookAndFeel' body: $ref: '#/components/schemas/ContainerLookAndFeel' NavigationLookAndFeel: required: - color - hoverOrFocus type: - object - 'null' properties: color: type: string highlightColor: type: - string - 'null' hoverOrFocus: required: - backgroundColor - color type: object 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 GenericLinks: type: object additionalProperties: oneOf: - type: object additionalProperties: true - 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' 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 ContainerLookAndFeel: required: - background - backgroundColor - backgroundImage - backgroundSize - borderRadius - padding type: - object - 'null' properties: background: type: string backgroundAttachment: type: - string - 'null' backgroundBlendMode: type: - string - 'null' backgroundClip: type: - string - 'null' backgroundColor: type: - string - 'null' backgroundImage: type: - string - 'null' backgroundOrigin: type: - string - 'null' backgroundPosition: type: - string - 'null' backgroundRepeat: type: - string - 'null' backgroundSize: type: - string - 'null' padding: type: string borderRadius: type: string ScreenLookAndFeel: required: - background type: object properties: background: type: string backgroundAttachment: type: - string - 'null' backgroundBlendMode: type: - string - 'null' backgroundClip: type: - string - 'null' backgroundColor: type: - string - 'null' backgroundImage: type: - string - 'null' backgroundOrigin: type: - string - 'null' backgroundPosition: type: - string - 'null' backgroundRepeat: type: - string - 'null' backgroundSize: type: - string - 'null' layer: type: - object - 'null' properties: width: type: string height: type: string gutterTop: type: - string - 'null' gutterRight: type: - string - 'null' gutterBottom: type: - string - 'null' gutterLeft: type: - string - 'null' SpaceSettings: required: - _links - routeOverrideEnabled type: - object - 'null' 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 contentMode: type: - string - 'null' enum: - standard - compact description: 'The content rendering mode for the space. Controls spacing and typography in the editor and renderer. Valid values are "standard" and "compact". When set to "compact", content is rendered more densely with smaller spacing and typography.' spaceKey: type: string _links: $ref: '#/components/schemas/GenericLinks' Group: required: - name - type - id type: object properties: type: type: string default: group enum: - group name: type: string id: type: string usageType: type: string default: USERBASE_GROUP enum: - USERBASE_GROUP - TEAM_COLLABORATION description: "This property represents how this collection of users is used:\n - `USERBASE_GROUP`: This value indicates that the collection of users is used as a group.\n - `TEAM_COLLABORATION`: This value indicates that the collection of users is used as a team." managedBy: type: string default: ADMINS enum: - ADMINS - EXTERNAL - TEAM_MEMBERS - OPEN description: "This property represents how this collection of users is managed:\n - `ADMINS`: This value indicates that the collection of users is managed by org, site or product admins.\n - `EXTERNAL`: This value indicates that the collection of users is managed externally (through SCIM, HRIS, etc.).\n - `TEAM_MEMBERS`: This value indicates that the collection of users is managed by its members.\n - `OPEN`: This value indicates that the collection of users is not actively managed by any users." _links: $ref: '#/components/schemas/GenericLinks' 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 database: type: string embed: type: string folder: 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.' 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 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' 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' 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 Version: required: - minorEdit - number - when type: - object - 'null' additionalProperties: true properties: by: $ref: '#/components/schemas/User' when: type: - string - 'null' format: date-time friendlyWhen: type: - string - 'null' message: type: - string - 'null' 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 - 'null' description: The revision id provided by confluence to be used as a revision in Synchrony syncRev: type: - string - 'null' description: The revision id provided by Synchrony syncRevSource: type: - string - 'null' description: Source of the synchrony revision 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' Embeddable: type: object additionalProperties: true 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'" Icon: required: - height - isDefault - path - width type: - object - 'null' 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. 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' 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 - 'null' 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' 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' UsersUserKeys: required: - userAccountIds type: - object - 'null' additionalProperties: true properties: users: type: array items: $ref: '#/components/schemas/User' userKeys: type: array items: type: string _links: $ref: '#/components/schemas/GenericLinks' ContentHistory: required: - latest type: - object - 'null' 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' SearchFieldLookAndFeel: required: - backgroundColor - color type: - object - 'null' properties: backgroundColor: type: string color: type: string 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' User: required: - type type: - object - 'null' additionalProperties: 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: type: - string - 'null' 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 - 'null' description: The displays name of the user. Depending on the user's privacy setting, this may be the same as publicName. timeZone: type: - string - 'null' description: This displays user time zone. Depending on the user's privacy setting, this may return null. externalCollaborator: type: boolean description: This is deprecated. Use `isGuest` instead to find out whether the user is a guest user. isExternalCollaborator: type: boolean description: This is deprecated. Use `isGuest` instead to find out whether the user is a guest user. isGuest: type: boolean description: Whether the user is a guest user operations: type: - array - 'null' 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' Container: type: - object - 'null' 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)' 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' 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.' Space: required: - _expandable - _links - key - name - status - type type: - object - 'null' properties: id: type: integer format: int64 key: type: string alias: 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' GenericUserKey: type: - string - 'null' 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.' EmbeddedContent: type: object additionalProperties: true properties: entityId: type: integer format: int64 entityType: type: string entity: $ref: '#/components/schemas/Embeddable' ContentChildren: type: object additionalProperties: true properties: attachment: $ref: '#/components/schemas/ContentArray' comment: $ref: '#/components/schemas/ContentArray' page: $ref: '#/components/schemas/ContentArray' whiteboard: $ref: '#/components/schemas/ContentArray' database: $ref: '#/components/schemas/ContentArray' embed: $ref: '#/components/schemas/ContentArray' folder: $ref: '#/components/schemas/ContentArray' _expandable: type: object additionalProperties: true properties: attachment: type: string comment: type: string page: type: string whiteboard: type: string database: type: string embed: type: string folder: type: string _links: $ref: '#/components/schemas/GenericLinks' 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. GenericAccountId: type: - string - 'null' description: 'The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`.' ButtonLookAndFeel: required: - backgroundColor - color type: - object - 'null' properties: backgroundColor: type: string color: type: string Label: required: - id - label - name - prefix type: object properties: prefix: type: string name: type: string id: type: string label: type: string GenericUserName: type: - string - 'null' 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.' 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' TopNavigationLookAndFeel: required: - highlightColor type: object properties: color: type: - string - 'null' highlightColor: type: string hoverOrFocus: type: object properties: backgroundColor: type: string color: type: string parameters: userLookupKey: name: key in: query deprecated: true description: 'This parameter 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.' schema: type: string userLookupUsername: name: username in: query deprecated: true description: 'This parameter 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.' schema: type: string userLookupAccountId: 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`.' schema: type: string securitySchemes: basicAuth: type: http description: You can access this resource via basic auth. scheme: basic oAuthDefinitions: type: oauth2 description: This API uses OAuth 2 with the authorizationCode grant flow. flows: authorizationCode: authorizationUrl: https://auth.atlassian.com/authorize tokenUrl: https://auth.atlassian.com/oauth/token scopes: read:confluence-content.all: Read all content, including content body (expansions permitted). Note, APIs using this scope may also return data allowed by read:confluence-space.summary. However, this scope is not a substitute for read:confluence-space.summary. read:confluence-content.permission: Read content permissions. read:confluence-content.summary: Read a summary of the content, which is the content without expansions. Note, APIs using this scope may also return data allowed by read:confluence-space.summary. However, this scope is not a substitute for read:confluence-space.summary. write:confluence-content: Permits the creation of pages, blogs, comments and questions. read:confluence-space.summary: Read a summary of space information without expansions. write:confluence-space: Create, update and delete space information. write:confluence-file: Upload attachments. read:confluence-props: Read content properties. write:confluence-props: Write content properties. search:confluence: Search Confluence. Note, APIs using this scope may also return data allowed by read:confluence-space.summary and read:confluence-content.summary. However, this scope is not a substitute for read:confluence-space.summary or read:confluence-content.summary. manage:confluence-configuration: Manage global settings. read:confluence-groups: Read user groups. write:confluence-groups: Create, remove and update user groups. read:confluence-user: Read users. readonly:content.attachment:confluence: Download attachments of a Confluence page or blogpost that you have access to. read:content:confluence: View content. read:content-details:confluence: View content details. write:content:confluence: Create and update content. delete:content:confluence: Delete content. read:space-details:confluence: View space details. read:analytics.content:confluence: View analytics for content. read:audit-log:confluence: View audit records. write:audit-log:confluence: Create audit records. read:configuration:confluence: View Confluence settings. write:configuration:confluence: Update Confluence settings. read:page:confluence: View pages. write:page:confluence: Create and update pages. delete:page:confluence: Delete pages. read:blogpost:confluence: View blogposts. write:blogpost:confluence: Create and update blogposts. delete:blogpost:confluence: Delete blogposts. read:whiteboard:confluence: View whiteboards. write:whiteboard:confluence: Create and update whiteboards. delete:whiteboard:confluence: Delete whiteboards. read:custom-content:confluence: View custom content. write:custom-content:confluence: Create and update custom content. delete:custom-content:confluence: Delete custom content. read:attachment:confluence: View and download content attachments. write:attachment:confluence: Create and update attachments. delete:attachment:confluence: Delete attachments. read:comment:confluence: View comments. write:comment:confluence: Create and update comments. delete:comment:confluence: Delete comments. read:template:confluence: View content templates. write:template:confluence: Create, update and delete content templates. read:label:confluence: View labels. write:label:confluence: Add and remove labels. read:content.permission:confluence: Check content permissions. read:content.property:confluence: View content properties. write:content.property:confluence: Create, update and delete content properties. read:content.restriction:confluence: View content restrictions. write:content.restriction:confluence: Update content restrictions. read:content.metadata:confluence: View content summaries. read:watcher:confluence: View content watchers. write:watcher:confluence: Add and remove content watchers. read:group:confluence: View groups. write:group:confluence: Create and delete groups. read:inlinetask:confluence: View tasks. write:inlinetask:confluence: Update tasks. read:relation:confluence: View entity relationships. write:relation:confluence: Create and update entity relationships. read:space:confluence: View spaces. write:space:confluence: Create and update spaces. delete:space:confluence: Delete spaces. read:space.permission:confluence: View space permissions. write:space.permission:confluence: Update space permissions. read:space.property:confluence: View space properties. write:space.property:confluence: Create, update and delete space properties. read:user.property:confluence: View user properties. write:user.property:confluence: Create, update and delete user properties. read:space.setting:confluence: View space settings. write:space.setting:confluence: Update space settings. read:user:confluence: View user details. moderate:core-content:confluence: Moderate core contents moderate:comment:confluence: Moderate comments read:email-address:confluence: View email addresses of all users regardless of the user’s profile visibility settings. externalDocs: description: The online and complete version of the Confluence Cloud REST API docs. url: https://developer.atlassian.com/cloud/confluence/rest/ x-atlassian-narrative: documents: - title: About anchor: about body: 'This is the reference for the Confluence Cloud REST API. This API is the primary way to get and modify data in Confluence Cloud, whether you are developing an app or any other integration. Use it to interact with Confluence entities, like pages and blog posts, spaces, users, groups, and more.' - title: Authentication and authorization anchor: auth body: '**Authentication:** If you are building a Cloud app, authentication is implemented via JWT or OAuth 2.0, depending on what you are building (see [Security overview](https://developer.atlassian.com/cloud/confluence/security-overview/)). Otherwise, if you are authenticating directly against the REST API, the REST API supports basic auth (see [Basic auth for REST APIs](https://developer.atlassian.com/cloud/confluence/basic-auth-for-rest-apis/)). **Authorization:** If you are building a Cloud app, authorization can be implemented by [scopes](https://developer.atlassian.com/cloud/confluence/scopes/) or by [OAuth 2.0 user impersonation](https://developer.atlassian.com/cloud/confluence/oauth-2-jwt-bearer-tokens-for-apps). Otherwise, if you are making calls directly against the REST API, authorization is based on the user used in the authentication process. See [Security overview](https://developer.atlassian.com/cloud/confluence/security-overview/) for more details on authentication and authorization.' - title: Status codes anchor: status-code body: "The Confluence REST API uses the [standard HTTP status codes](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).\n\nResponses that return an error status code will also return a response body, similar to the following:\n```json\n{\n \"statusCode\": 404,\n \"data\": {\n \"authorized\": false,\n \"valid\": false,\n \"errors\": [\n {\n \"message\": {\n \"translation\": \"This is an example error message.\",\n \"args\": []\n }\n }\n ],\n \"successful\": false\n },\n \"message\": \"This is an example error message.\"\n}\n```" - title: Using the REST API anchor: using body: '**Expansion:** The Confluence REST API uses resource expansion: some parts of a resource are not returned unless explicitly specified. This simplifies responses and minimizes network traffic. To expand part of a resource in a request, use the `expand` query parameter and specify the entities to be expanded. If you need to expand nested entities, use the `.` dot notation. For example, the following request will expand information about the requested content''s space and labels: ``` GET /wiki/rest/api/content/{id}?expand=space,metadata.labels ``` For bulk endpoints, when using the expand query parameter to request `body.export_view` and/or `body.styled_view` content representations, the response will be limited to a maximum of 25 results. If you require more than 25 results, use pagination to retrieve additional results. **Pagination:** The Confluence REST API uses pagination: a method that returns a response with multiple objects can only return a limited number at one time. This limits the size of responses and conserves server resources. Use the ''limit'' and ''start'' query parameters to specify pagination: - `limit` is the number of objects to return per page. This may be restricted by system limits. - `start` is the index of the first item returned in the page of results. The base index is 0. For example, the following request will return ten content objects, starting from the fifth object. ``` GET /wiki/rest/api/content?start=4&limit=10 ``` **Special headers:** - `X-Atlassian-Token: no-check` request header must be specified for methods that are protected from Cross Site Request Forgery (XSRF/CSRF) attacks. This is stated in the method description, if required. For more information, see this [KB article](https://confluence.atlassian.com/cloudkb/xsrf-check-failed-when-calling-cloud-apis-826874382.html).' - title: Capabilities anchor: capabilities body: '**Webhooks:** A webhook is a user-defined callback over HTTP. You can use Confluence webhooks to notify your app or web application when certain events occur in Confluence. For example, when a page is created or updated. To learn more, see [Webhooks](https://developer.atlassian.com/cloud/confluence/modules/webhook/). **Content properties:** Content properties are a key-value storage associated with a piece of Confluence content. If you are building an app, this is one form of persistence that you can use. You can use the Confluence REST API to get, update, and delete content properties. To learn more, see [Content properties in the REST API](https://developer.atlassian.com/cloud/confluence/content-properties/). **CQL:** The Confluence Query Language (CQL) allows you to perform complex searches for content using an SQL-like syntax in the `search` resource. To learn more, see [Advanced searching using CQL](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/).'