Atlassian Content - Macro Body API

The Content - Macro Body API from Atlassian — 3 operation(s) for content - macro body.

Documentation

📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-addon/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-webhooks/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-pullrequests/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-repositories/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-snippets/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-workspaces/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-users/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-analytics/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-audit/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/connect-modules/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v2/intro/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-content-body/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-content-states/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-group/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-inline-tasks
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-content-labels/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-long-running-task/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-relation/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-search/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-settings/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-space/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-template/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v2/api-group-user/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-announcement-banner/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-custom-field-values--apps-/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-app-openapi
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-application-roles/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-attachments/
📖
Documentation
https://developer.atlassian.com/server/framework/atlassian-sdk/audit/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-avatars/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-classification-levels/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-comments/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-components/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-jira-settings/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/getting-started-with-connect/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/connect-api-migration/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-service-registry/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-custom-field-options/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-dashboards/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/data-security-policy-developer-guide/
📖
Documentation
https://developer.atlassian.com/platform/forge/events-reference/jira/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-jira-expressions/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-fields/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-field-configurations/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-filters/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/forge/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-groups/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-group-and-user-picker/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-groups/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-links/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-security-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-types/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-type-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-type-screen-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-search/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-labels/
📖
Documentation
https://developer.atlassian.com/platform/marketplace/license-api-for-cloud-apps/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-license-metrics/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permissions/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-myself/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-notification-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-permission-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-priorities/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-categories/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-key-and-name-validation/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-resolutions/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-project-roles/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-screens/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-screen-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-security-level/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-server-info/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-statuses/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-status-categories/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-ui-modifications--apps-/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-avatars/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-users/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-versions/
📖
Documentation
https://developer.atlassian.com/server/jira/platform/webhooks/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-workflow-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-worklogs/
📖
Documentation
https://developer.atlassian.com/cloud/admin/organization/rest/
📖
Documentation
https://developer.atlassian.com/cloud/admin/user-management/rest/
📖
Documentation
https://developer.atlassian.com/cloud/admin/user-provisioning/rest/

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-hook-events-paginated_hook_events-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-pull-requests-a_pullrequest_comment_task-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-repositories-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-snippets-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-teams-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-user-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-workspaces-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-audit-audit-record-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-content-async-content-body-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-content-body-async-content-body-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-content-states-async-id-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-group-group-array-with-links-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-inline-tasks-task-page-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-longtask-long-task-status-with-links-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-relation-relation-data-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-search-search-page-response-search-result-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-settings-look-and-feel-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-space-content-state-settings-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-template-blueprint-template-array-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-user-account-id-email-record-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-admin-domain-page-schema.json

Other Resources

🔗
GraphQL
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/graphql/atlassian-graphql.md
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-hook-events-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-pull-requests-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-repositories-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-snippets-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-teams-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-user-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-workspaces-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-audit-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-content-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-content-body-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-content-states-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-group-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-inline-tasks-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-longtask-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-relation-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-search-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-settings-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-space-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-template-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-user-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-admin-context.jsonld

OpenAPI Specification

atlassian-content-macro-body-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Atlassian Admin Account Content - Macro Body 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 - Macro Body
paths:
  /wiki/rest/api/content/{id}/history/{version}/macro/id/{macroId}:
    get:
      tags:
      - Content - Macro Body
      summary: Atlassian Get Macro Body By Macro Id
      description: 'Returns the body of a macro in storage format, for the given macro ID.<br>This includes information like the name of the macro, the body of the macro,<br>and any macro parameters. This method is mainly used by Cloud apps.<br><br>About the macro ID: When a macro is created in a new version of content,<br>Confluence will generate a random ID for it, unless an ID is specified<br>(by an app). The macro ID will look similar to this: ''50884bd9-0cb8-41d5-98be-f80943c14f96''.<br>The ID is then persisted as new versions of content are created, and is<br>only modified by Confluence if there are conflicting IDs.<br><br>Note, to preserve backwards compatibility this resource will also match on<br>the hash of the macro body, even if a macro ID is found. This check will<br>eventually become redundant, as macro IDs are generated for pages and<br>transparently propagate out to all instances.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:<br>Permission to view the content that the macro is in.'
      operationId: atlassianGetmacrobodybymacroid
      parameters:
      - name: id
        in: path
        description: The ID for the content that contains the macro.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: 'The version of the content that contains the macro. Specifying `0` as the `version` will return

          the macro body for the latest content version.'
        required: true
        schema:
          type: integer
          format: int32
      - name: macroId
        in: path
        description: 'The ID of the macro. This is usually passed by the app that the

          macro is in. Otherwise, find the macro ID by querying the desired

          content and version, then expanding the body in storage format.

          For example, ''/content/196611/version/7?expand=content.body.storage''.'
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returned if the requested macro body is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MacroInstance'
        '401':
          description: 'Returned if the authentication credentials are incorrect or missing

            from the request.'
          content: {}
        '404':
          description: 'Returned if;


            - There is no content with the given ID.

            - The calling user does not have permission to view the content.

            - The macro does not exist in the specified version.

            - There is no macro matching the given macro ID or hash.'
          content: {}
      security:
      - basicAuth: []
      - oAuthDefinitions:
        - read:confluence-content.all
      x-atlassian-oauth2-scopes:
      - scheme: oAuthDefinitions
        state: Current
        scopes:
        - read:confluence-content.all
      - scheme: oAuthDefinitions
        state: Beta
        scopes:
        - read:content.metadata:confluence
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: false
      x-atlassian-connect-scope: READ
  /wiki/rest/api/content/{id}/history/{version}/macro/id/{macroId}/convert/{to}:
    get:
      tags:
      - Content - Macro Body
      summary: Atlassian Get Macro Body By Macro Id And Convert The Representation Synchronously
      description: 'Returns the body of a macro in format specified in path, for the given macro ID.<br>This includes information like the name of the macro, the body of the macro,<br>and any macro parameters.<br><br>About the macro ID: When a macro is created in a new version of content,<br>Confluence will generate a random ID for it, unless an ID is specified<br>(by an app). The macro ID will look similar to this: ''50884bd9-0cb8-41d5-98be-f80943c14f96''.<br>The ID is then persisted as new versions of content are created, and is<br>only modified by Confluence if there are conflicting IDs.<br><br>Note, to preserve backwards compatibility this resource will also match on<br>the hash of the macro body, even if a macro ID is found. This check will<br>eventually become redundant, as macro IDs are generated for pages and<br>transparently propagate out to all instances.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:<br>Permission to view the content that the macro is in.'
      operationId: atlassianGetandconvertmacrobodybymacroid
      parameters:
      - name: id
        in: path
        description: The ID for the content that contains the macro.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: 'The version of the content that contains the macro. Specifying `0` as the `version` will return

          the macro body for the latest content version.'
        required: true
        schema:
          type: integer
          format: int32
      - name: macroId
        in: path
        description: 'The ID of the macro. This is usually passed by the app that the

          macro is in. Otherwise, find the macro ID by querying the desired

          content and version, then expanding the body in storage format.

          For example, ''/content/196611/version/7?expand=content.body.storage''.'
        required: true
        schema:
          type: string
      - name: to
        in: path
        required: true
        description: The content representation to return the macro in.
        schema:
          type: string
      - $ref: '#/components/parameters/bodyConversionExpand'
      - name: spaceKeyContext
        in: query
        description: 'The space key used for resolving embedded content (page includes,

          files, and links) in the content body. For example, if the source content

          contains the link `<ac:link><ri:page ri:content-title="Example page" /><ac:link>`

          and the `spaceKeyContext=TEST` parameter is provided, then the link

          will be converted to a link to the "Example page" page in the "TEST" space.'
        schema:
          type: string
      - name: embeddedContentRender
        in: query
        description: 'Mode used for rendering embedded content, like attachments.


          - `current` renders the embedded content using the latest version.

          - `version-at-save` renders the embedded content using the version at

          the time of save.'
        schema:
          type: string
          default: current
          enum:
          - current
          - version-at-save
      responses:
        '200':
          description: Returned if the requested content body is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentBody'
        '400':
          description: Returned if invalid content representation is requested, or context is missing.
        '401':
          description: 'Returned if the authentication credentials are incorrect or missing

            from the request.'
          content: {}
        '404':
          description: 'Returned if;


            - There is no content with the given ID.

            - The calling user does not have permission to view the content.

            - The macro does not exist in the specified version.

            - There is no macro matching the given macro ID or hash.'
          content: {}
      security:
      - basicAuth: []
      - oAuthDefinitions:
        - read:confluence-content.all
      x-atlassian-oauth2-scopes:
      - scheme: oAuthDefinitions
        state: Current
        scopes:
        - read:confluence-content.all
      - scheme: oAuthDefinitions
        state: Beta
        scopes:
        - read:content.metadata:confluence
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: false
      x-atlassian-connect-scope: READ
  /wiki/rest/api/content/{id}/history/{version}/macro/id/{macroId}/convert/async/{to}:
    get:
      tags:
      - Content - Macro Body
      summary: Atlassian Get Macro Body By Macro Id And Convert Representation Asynchronously
      description: 'Returns Async Id of the conversion task which will convert the macro into a content body of the desired format.<br>The result will be available for 5 minutes after completion of the conversion.<br><br>About the macro ID: When a macro is created in a new version of content,<br>Confluence will generate a random ID for it, unless an ID is specified<br>(by an app). The macro ID will look similar to this: ''884bd9-0cb8-41d5-98be-f80943c14f96''.<br>The ID is then persisted as new versions of content are created, and is<br>only modified by Confluence if there are conflicting IDs.<br><br>Note, to preserve backwards compatibility this resource will also match on<br>the hash of the macro body, even if a macro ID is found. This check will<br>eventually become redundant, as macro IDs are generated for pages and<br>transparently propagate out to all instances.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:<br>Permission to view the content that the macro is in.'
      operationId: atlassianGetandasyncconvertmacrobodybymacroid
      parameters:
      - name: id
        in: path
        description: The ID for the content that contains the macro.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: 'The version of the content that contains the macro. Specifying `0` as the `version` will return

          the macro body for the latest content version.'
        required: true
        schema:
          type: integer
          format: int32
      - name: macroId
        in: path
        description: 'The ID of the macro. For apps, this is passed to the macro by the Connect/Forge framework.

          Otherwise, find the macro ID by querying the desired

          content and version, then expanding the body in storage format.

          For example, ''/content/196611/version/7?expand=content.body.storage''.'
        required: true
        schema:
          type: string
      - name: to
        in: path
        required: true
        description: 'The content representation to return the macro in.

          Currently, the following conversions are allowed:


          - `export_view`

          - `styled_view`

          - `view`'
        schema:
          type: string
          enum:
          - export_view
          - view
          - styled_view
      - $ref: '#/components/parameters/bodyConversionExpand'
      - name: allowCache
        in: query
        description: "If this field is false, the cache will erase its current value and begin a conversion.\nIf this field is true, the cache will not erase its current value, and will set the status of the\nresult in cache to RERUNNING. Once the data is updated, the status will change to COMPLETED. \nLarge macros that take long to convert, and who want to show intermediate, but potentially stale data, immediately should set this field to true.\nCache values are stored per macro per user per content and expansions."
        schema:
          type: boolean
          default: false
      - name: spaceKeyContext
        in: query
        description: 'The space key used for resolving embedded content (page includes,

          files, and links) in the content body. For example, if the source content

          contains the link `<ac:link><ri:page ri:content-title="Example page" /><ac:link>`

          and the `spaceKeyContext=TEST` parameter is provided, then the link

          will be converted to a link to the "Example page" page in the "TEST" space.'
        schema:
          type: string
      - name: embeddedContentRender
        in: query
        description: 'Mode used for rendering embedded content, like attachments.


          - `current` renders the embedded content using the latest version.

          - `version-at-save` renders the embedded content using the version at

          the time of save.'
        schema:
          type: string
          default: current
          enum:
          - current
          - version-at-save
      responses:
        '200':
          description: Returned if the requested macro conversion request is created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncId'
        '401':
          description: 'Returned if the authentication credentials are incorrect or missing

            from the request.'
          content: {}
        '404':
          description: 'Returned if;


            - There is no content with the given ID.

            - The calling user does not have permission to view the content.

            - The macro does not exist in the specified version.

            - There is no macro matching the given macro ID or hash.'
          content: {}
      security:
      - basicAuth: []
      - oAuthDefinitions:
        - read:confluence-content.all
      x-atlassian-oauth2-scopes:
      - scheme: oAuthDefinitions
        state: Current
        scopes:
        - read:confluence-content.all
      - scheme: oAuthDefinitions
        state: Beta
        scopes:
        - read:content.metadata:confluence
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: false
      x-atlassian-connect-scope: READ
components:
  schemas:
    Embeddable:
      type: object
      additionalProperties: true
    GenericLinks:
      type: object
      additionalProperties:
        oneOf:
        - type: object
          additionalProperties: true
        - type: string
    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
    AsyncId:
      required:
      - asyncId
      type: object
      properties:
        asyncId:
          type: string
    MacroInstance:
      type: object
      properties:
        name:
          type: string
        body:
          type: string
        parameters:
          type: object
        _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'
    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'
  parameters:
    bodyConversionExpand:
      name: expand
      in: query
      description: "A multi-value parameter indicating which properties of the content to expand and populate. Expands are dependent on the\n`to` conversion format and may be irrelevant for certain conversions (e.g. `macroRenderedOutput` is redundant when\nconverting to `view` format). \n\nIf rendering to `view` format, and the body content being converted includes arbitrary nested content (such as macros); then it is \nnecessary to include webresource expands in the request. Webresources for content body are the batched JS and CSS dependencies for\nany nested dynamic content (i.e. macros).\n\n- `embeddedContent` returns metadata for nested content (e.g. page included using page include macro)\n- `mediaToken` returns JWT token for retrieving attachment data from Media API\n- `macroRenderedOutput` additionally converts body to view format\n- `webresource.superbatch.uris.js` returns all common JS dependencies as static URLs\n- `webresource.superbatch.uris.css` returns all common CSS dependencies as static URLs\n- `webresource.superbatch.uris.all` returns all common dependencies as static URLs\n- `webresource.superbatch.tags.all` returns all common JS dependencies as html `<script>` tags\n- `webresource.superbatch.tags.css` returns all common CSS dependencies as html `<style>` tags\n- `webresource.superbatch.tags.js` returns all common dependencies as html `<script>` and `<style>` tags\n- `webresource.uris.js` returns JS dependencies specific to conversion\n- `webresource.uris.css` returns CSS dependencies specific to conversion\n- `webresource.uris.all` returns all dependencies specific to conversion     \n- `webresource.tags.all` returns common JS dependencies as html `<script>` tags\n- `webresource.tags.css` returns common CSS dependencies as html `<style>` tags\n- `webresource.tags.js` returns common dependencies as html `<script>` and `<style>` tags"
      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/