openapi: 3.0.1 info: title: 'Atlassian wiki/rest/api/contentbody/' description: Needs description. termsOfService: https://atlassian.com/terms/ version: 1.0.0 externalDocs: description: The online and complete version of the Confluence Cloud REST API docs. url: https://developer.atlassian.com/cloud/confluence/rest/ servers: - url: //your-domain.atlassian.net tags: - name: Content Body paths: /wiki/rest/api/contentbody/convert/{to}: post: tags: - Content Body summary: Atlassian Convert Content Body description: >- Converts a content body from one format to another format.

Supported conversions:

- storage: view, export_view, styled_view, editor
- editor: storage
- view: none
- export_view: none
- styled_view: none

**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
If request specifies 'contentIdContext', 'View' permission for the space, and permission to view the content. operationId: atlassianConvertcontentbody parameters: - name: to in: path description: The name of the target format for the content body. required: true schema: type: string - name: spaceKeyContext in: query description: >- The space key used for resolving embedded content (page includes, files, and links) in the content body. For example, if the source content contains the link `` and the `spaceKeyContext=TEST` parameter is provided, then the link will be converted to a link to the "Example page" page in the "TEST" space. schema: type: string - name: contentIdContext in: query description: >- The content ID used to find the space for resolving embedded content (page includes, files, and links) in the content body. For example, if the source content contains the link `` and the `contentIdContext=123` parameter is provided, then the link will be converted to a link to the "Example page" page in the same space that has the content with ID=123. Note, `spaceKeyContext` will be ignored if this parameter is provided. schema: type: string - name: embeddedContentRender in: query description: >- Mode used for rendering embedded content, like attachments. - `current` renders the embedded content using the latest version. - `version-at-save` renders the embedded content using the version at the time of save. schema: type: string default: current enum: - current - version-at-save - $ref: '#/components/parameters/bodyConversionExpand' requestBody: description: The content body to convert. content: application/json: schema: $ref: '#/components/schemas/ContentBodyCreate' required: true responses: '200': description: Returned if the content is converted. content: application/json: schema: $ref: '#/components/schemas/ContentBody' '400': description: >- Returned if the content body is invalid or if the value is improperly formed. content: {} '404': description: Returned if content cannot be found with the provided context. content: {} security: - basicAuth: [] - oAuthDefinitions: - read:confluence-content.all x-atlassian-oauth2-scopes: - scheme: oAuthDefinitions state: Current scopes: - read:confluence-content.all - scheme: oAuthDefinitions state: Beta scopes: - read:content.metadata:confluence x-atlassian-data-security-policy: - app-access-rule-exempt: false x-codegen-request-body-name: body x-atlassian-connect-scope: READ /wiki/rest/api/contentbody/convert/async/{to}: post: tags: - Content Body summary: Atlassian Asynchronously Convert Content Body description: >- Converts a content body from one format to another format asynchronously.
Returns the asyncId for the asynchronous task.

Supported conversions:

- storage: export_view

No other conversions are supported at the moment.
Once a conversion is completed, it will be available for 5 minutes at the result endpoint.

**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
If request specifies 'contentIdContext', 'View' permission for the space, and permission to view the content. operationId: atlassianAsyncconvertcontentbodyrequest parameters: - name: to in: path description: The name of the target format for the content body. required: true schema: type: string enum: - export_view - $ref: '#/components/parameters/bodyConversionExpand' - name: spaceKeyContext in: query description: >- The space key used for resolving embedded content (page includes, files, and links) in the content body. For example, if the source content contains the link `` and the `spaceKeyContext=TEST` parameter is provided, then the link will be converted to a link to the "Example page" page in the "TEST" space. schema: type: string - name: contentIdContext in: query description: >- The content ID used to find the space for resolving embedded content (page includes, files, and links) in the content body. For example, if the source content contains the link `` and the `contentIdContext=123` parameter is provided, then the link will be converted to a link to the "Example page" page in the same space that has the content with ID=123. Note, `spaceKeyContext` will be ignored if this parameter is provided. schema: type: string - name: allowCache in: query description: >- If this field is false, the cache will erase its current value and begin a new conversion. If this field is true, the cache will not erase its current value, and will set the status of the async conversion to RERUNNING. Once the data is updated, the status will change to COMPLETED. Large macros that take long to convert, and whose data need not immediately up to date (same as previous conversion's result within last 5 minutes) should set this fields to true. Cache values are stored per user per content body and expansions. schema: type: boolean default: false - name: embeddedContentRender in: query description: >- Mode used for rendering embedded content, like attachments. - `current` renders the embedded content using the latest version. - `version-at-save` renders the embedded content using the version at the time of save. schema: type: string default: current enum: - current - version-at-save requestBody: description: The content body to convert. content: application/json: schema: $ref: '#/components/schemas/ContentBodyCreate' required: true responses: '200': description: >- Returned if the content is added to the messaging queue for conversion. This id will be available for 5 minutes after the conversion is complete. content: application/json: schema: $ref: '#/components/schemas/AsyncId' '400': description: |- Returned - if the content body or conversion context is invalid or null - if the value is improperly formed - any conversion type other than export_view content: {} '404': description: Returned if content cannot be found with the provided context. content: {} security: - basicAuth: [] - oAuthDefinitions: - read:confluence-content.all x-atlassian-oauth2-scopes: - scheme: oAuthDefinitions state: Current scopes: - read:confluence-content.all - scheme: oAuthDefinitions state: Beta scopes: - read:content.metadata:confluence x-atlassian-data-security-policy: - app-access-rule-exempt: true x-codegen-request-body-name: body x-atlassian-connect-scope: READ /wiki/rest/api/contentbody/convert/async/{id}: get: tags: - Content Body summary: >- Atlassian Get Asynchronously Converted Content Body From The Id Or The Current Status Of The Task description: >- Returns the asynchronous content body for the corresponding id if the task is complete
or returns the status of the task.

After the task is completed, the result can be obtained for 5 minutes, or until an identical conversion request is made again,
with allowCache query param set to false.

**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
If request specifies 'contentIdContext', 'View' permission for the space, and permission to view the content. operationId: atlassianAsyncconvertcontentbodyresponse parameters: - name: id in: path description: The asyncId of the macro task to get the converted body. required: true schema: type: string responses: '200': description: >- Returned if successfully found an async conversion task associated with the id. content: application/json: schema: $ref: '#/components/schemas/AsyncContentBody' '400': description: Returned if the async id is invalid. content: {} '401': description: >- Returned if the request was not made by an anonymous user and user is not authenticated. content: {} '403': description: >- Returned if the requesting user is not the user who made the conversion request. content: {} '404': description: >- Returned if async macro conversion task cannot be found with the provided id. content: {} security: - basicAuth: [] - oAuthDefinitions: - read:confluence-content.all x-atlassian-oauth2-scopes: - scheme: oAuthDefinitions state: Current scopes: - read:confluence-content.all - scheme: oAuthDefinitions state: Beta scopes: - read:content.metadata:confluence x-atlassian-data-security-policy: - app-access-rule-exempt: true x-codegen-request-body-name: body x-atlassian-connect-scope: READ components: schemas: 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' AsyncId: required: - asyncId type: object properties: asyncId: type: string AsyncContentBody: type: object properties: value: type: string representation: type: string enum: - view - export_view - styled_view - storage - editor - editor2 - anonymous_export_view - wiki - atlas_doc_format renderTaskId: type: string error: type: string status: description: >- Rerunning is reserved for when the job is working, but there is a previous run's value in the cache. You may choose to continue polling, or use the cached value. type: string enum: - WORKING - QUEUED - FAILED - COMPLETED - RERUNNING embeddedContent: type: array items: $ref: '#/components/schemas/EmbeddedContent' webresource: $ref: '#/components/schemas/WebResourceDependencies' mediaToken: type: object properties: collectionIds: type: array items: type: string contentId: type: string expiryDateTime: type: string fileIds: type: array items: type: string token: type: string _expandable: type: object properties: content: type: string embeddedContent: type: string webresource: type: string mediaToken: type: string _links: $ref: '#/components/schemas/GenericLinks' x-atlassian-narrative: documents: - title: About anchor: about body: >- This is the reference for the Confluence Cloud REST API. This API is the primary way to get and modify data in Confluence Cloud, whether you are developing an app or any other integration. Use it to interact with Confluence entities, like pages and blog posts, spaces, users, groups, and more. - title: Authentication and authorization anchor: auth body: >- **Authentication:** If you are building a Cloud app, authentication is implemented via JWT or OAuth 2.0, depending on what you are building (see [Security overview](https://developer.atlassian.com/cloud/confluence/security-overview/)). Otherwise, if you are authenticating directly against the REST API, the REST API supports basic auth (see [Basic auth for REST APIs](https://developer.atlassian.com/cloud/confluence/basic-auth-for-rest-apis/)). **Authorization:** If you are building a Cloud app, authorization can be implemented by [scopes](https://developer.atlassian.com/cloud/confluence/scopes/) or by [OAuth 2.0 user impersonation](https://developer.atlassian.com/cloud/confluence/oauth-2-jwt-bearer-tokens-for-apps). Otherwise, if you are making calls directly against the REST API, authorization is based on the user used in the authentication process. See [Security overview](https://developer.atlassian.com/cloud/confluence/security-overview/) for more details on authentication and authorization. - title: Status codes anchor: status-code body: >- The Confluence REST API uses the [standard HTTP status codes](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html). Responses that return an error status code will also return a response body, similar to the following: ```json { "statusCode": 404, "data": { "authorized": false, "valid": false, "errors": [ { "message": { "translation": "This is an example error message.", "args": [] } } ], "successful": false }, "message": "This is an example error message." } ``` - title: Using the REST API anchor: using body: >- **Expansion:** The Confluence REST API uses resource expansion: some parts of a resource are not returned unless explicitly specified. This simplifies responses and minimizes network traffic. To expand part of a resource in a request, use the `expand` query parameter and specify the entities to be expanded. If you need to expand nested entities, use the `.` dot notation. For example, the following request will expand information about the requested content's space and labels: ``` GET /wiki/rest/api/content/{id}?expand=space,metadata.labels ``` **Pagination:** The Confluence REST API uses pagination: a method that returns a response with multiple objects can only return a limited number at one time. This limits the size of responses and conserves server resources. Use the 'limit' and 'start' query parameters to specify pagination: - `limit` is the number of objects to return per page. This may be restricted by system limits. - `start` is the index of the first item returned in the page of results. The base index is 0. For example, the following request will return ten content objects, starting from the fifth object. ``` GET /wiki/rest/api/content?start=4&limit=10 ``` **Special headers:** - `X-Atlassian-Token: no-check` request header must be specified for methods that are protected from Cross Site Request Forgery (XSRF/CSRF) attacks. This is stated in the method description, if required. For more information, see this [KB article](https://confluence.atlassian.com/cloudkb/xsrf-check-failed-when-calling-cloud-apis-826874382.html). - title: Capabilities anchor: capabilities body: >- **Webhooks:** A webhook is a user-defined callback over HTTP. You can use Confluence webhooks to notify your app or web application when certain events occur in Confluence. For example, when a page is created or updated. To learn more, see [Webhooks](https://developer.atlassian.com/cloud/confluence/modules/webhook/). **Content properties:** Content properties are a key-value storage associated with a piece of Confluence content. If you are building an app, this is one form of persistence that you can use. You can use the Confluence REST API to get, update, and delete content properties. To learn more, see [Content properties in the REST API](https://developer.atlassian.com/cloud/confluence/content-properties/). **CQL:** The Confluence Query Language (CQL) allows you to perform complex searches for content using an SQL-like syntax in the `search` resource. To learn more, see [Advanced searching using CQL](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/).