Atlassian Confluence Template API

The Atlassian Confluence Template API enables creating and customizing templates within Confluence for standardized content creation.

OpenAPI Specification

atlassian-wiki-rest-api-template--openapi-original.yml Raw ↑
openapi: 3.0.1
info:
  title: 'Atlassian wiki/rest/api/template/'
  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: Template
paths:
  /wiki/rest/api/template/blueprint:
    get:
      tags:
        - Template
      summary: Atlassian Get Blueprint Templates
      description: >-
        Returns all templates provided by blueprints. Use this method to
        retrieve<br>all global blueprint templates or all blueprint templates in
        a space.<br><br>Note, all global blueprints are inherited by each space.
        Space blueprints<br>can be customised without affecting the global
        blueprints.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
        required**:<br>'View' permission for the space to view blueprints for
        the space and permission<br>to access the Confluence site ('Can use'
        global permission) to view global blueprints.
      operationId: atlassianGetblueprinttemplates
      parameters:
        - name: spaceKey
          in: query
          description: |-
            The key of the space to be queried for templates. If the `spaceKey`
            is not specified, global blueprint templates will be returned.
          schema:
            type: string
        - name: start
          in: query
          description: The starting index of the returned templates.
          schema:
            minimum: 0
            type: integer
            format: int32
            default: 0
        - name: limit
          in: query
          description: |-
            The maximum number of templates to return per page.
            Note, this may be restricted by fixed system limits.
          schema:
            minimum: 0
            type: integer
            format: int32
            default: 25
        - name: expand
          in: query
          description: |-
            A multi-value parameter indicating which properties of the template
            to expand.

            - `body` returns the content of the template in storage format.
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - body
      responses:
        '200':
          description: Returned if the requested templates are returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlueprintTemplateArray'
        '403':
          description: |-
            Returned if the calling user does not have permission to view
            blueprint templates.
          content: {}
      security:
        - basicAuth: []
        - oAuthDefinitions:
            - read:confluence-content.summary
      x-atlassian-oauth2-scopes:
        - scheme: oAuthDefinitions
          state: Current
          scopes:
            - read:confluence-content.summary
        - scheme: oAuthDefinitions
          state: Beta
          scopes:
            - read:template:confluence
            - read:content-details:confluence
      x-atlassian-data-security-policy:
        - app-access-rule-exempt: true
      x-atlassian-connect-scope: READ
  /wiki/rest/api/template/page:
    get:
      tags:
        - Template
      summary: Atlassian Get Content Templates
      description: >-
        Returns all content templates. Use this method to retrieve all
        global<br>content templates or all content templates in a
        space.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
        required**:<br>'View' permission for the space to view space templates
        and permission to<br>access the Confluence site ('Can use' global
        permission) to view global templates.
      operationId: atlassianGetcontenttemplates
      parameters:
        - name: spaceKey
          in: query
          description: |-
            The key of the space to be queried for templates. If the `spaceKey`
            is not specified, global templates will be returned.
          schema:
            type: string
        - name: start
          in: query
          description: The starting index of the returned templates.
          schema:
            minimum: 0
            type: integer
            format: int32
            default: 0
        - name: limit
          in: query
          description: |-
            The maximum number of templates to return per page.
            Note, this may be restricted by fixed system limits.
          schema:
            minimum: 0
            type: integer
            format: int32
            default: 25
        - name: expand
          in: query
          description: |-
            A multi-value parameter indicating which properties of the template
            to expand.

            - `body` returns the content of the template in storage format.
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - body
      responses:
        '200':
          description: Returned if the requested templates are returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentTemplateArray'
        '403':
          description: |-
            Returned if the calling user does not have permission to view the
            content templates.
          content: {}
      security:
        - basicAuth: []
        - oAuthDefinitions:
            - read:confluence-content.summary
      x-atlassian-oauth2-scopes:
        - scheme: oAuthDefinitions
          state: Current
          scopes:
            - read:confluence-content.summary
        - scheme: oAuthDefinitions
          state: Beta
          scopes:
            - read:template:confluence
            - read:content-details:confluence
      x-atlassian-data-security-policy:
        - app-access-rule-exempt: true
      x-atlassian-connect-scope: READ
  /wiki/rest/api/template/{contentTemplateId}:
    get:
      tags:
        - Template
      summary: Atlassian Get Content Template
      description: >-
        Returns a content template. This includes information about
        template,<br>like the name, the space or blueprint that the template is
        in, the body<br>of the template, and
        more.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
        required**:<br>'View' permission for the space to view space templates
        and permission to<br>access the Confluence site ('Can use' global
        permission) to view global templates.
      operationId: atlassianGetcontenttemplate
      parameters:
        - name: contentTemplateId
          in: path
          description: The ID of the content template to be returned.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returned if the requested template is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentTemplate'
        '403':
          description: |-
            Returned if;

            - There is no template with the given ID.
            - The calling user does not have permission to view the template.
          content: {}
      security:
        - basicAuth: []
        - oAuthDefinitions:
            - read:confluence-content.summary
      x-atlassian-oauth2-scopes:
        - scheme: oAuthDefinitions
          state: Current
          scopes:
            - read:confluence-content.summary
        - scheme: oAuthDefinitions
          state: Beta
          scopes:
            - read:template:confluence
            - read:content-details:confluence
      x-atlassian-data-security-policy:
        - app-access-rule-exempt: true
      x-atlassian-connect-scope: READ
    delete:
      tags:
        - Template
      summary: Atlassian Remove Template
      description: >-
        Deletes a template. This results in different actions depending on
        the<br>type of template:<br><br>- If the template is a content template,
        it is deleted.<br>- If the template is a modified space-level blueprint
        template, it reverts<br>to the template inherited from the global-level
        blueprint template.<br>- If the template is a modified global-level
        blueprint template, it reverts<br>to the default global-level blueprint
        template.<br><br> Note, unmodified blueprint templates cannot be
        deleted.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw)
        required**:<br>        'Admin' permission for the space to delete a
        space template or 'Confluence Administrator'<br>        global
        permission to delete a global template.
      operationId: atlassianRemovetemplate
      parameters:
        - name: contentTemplateId
          in: path
          description: The ID of the template to be deleted.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Returned if the template has been successfully been deleted.
          content: {}
        '403':
          description: |-
            Returned if;

            - There is no template with the given ID.
            - The calling user does not have permission to delete the template.
      security:
        - basicAuth: []
        - oAuthDefinitions:
            - write:confluence-content
      x-atlassian-oauth2-scopes:
        - scheme: oAuthDefinitions
          state: Current
          scopes:
            - write:confluence-content
        - scheme: oAuthDefinitions
          state: Beta
          scopes:
            - write:template:confluence
      x-atlassian-data-security-policy:
        - app-access-rule-exempt: true
      x-atlassian-connect-scope: DELETE
components:
  schemas:
    BlueprintTemplateArray:
      required:
        - _links
        - limit
        - results
        - size
        - start
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/BlueprintTemplate'
        start:
          type: integer
          format: int32
        limit:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        _links:
          $ref: '#/components/schemas/GenericLinks'
    ContentTemplateArray:
      required:
        - _links
        - limit
        - results
        - size
        - start
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/ContentTemplate'
        start:
          type: integer
          format: int32
        limit:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        _links:
          $ref: '#/components/schemas/GenericLinks'
    ContentTemplate:
      required:
        - _links
        - description
        - labels
        - name
        - templateId
        - templateType
      type: object
      properties:
        templateId:
          type: string
        originalTemplate:
          type: object
          properties:
            pluginKey:
              type: string
            moduleKey:
              type: string
        referencingBlueprint:
          type: string
        name:
          type: string
        description:
          type: string
        space:
          type: object
          additionalProperties: true
        labels:
          type: array
          items:
            $ref: '#/components/schemas/Label'
        templateType:
          type: string
        editorVersion:
          type: string
        body:
          $ref: '#/components/schemas/ContentTemplateBody'
        _expandable:
          type: object
          properties:
            body:
              type: string
        _links:
          $ref: '#/components/schemas/GenericLinks'
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/).