Hierarchy

  • CommonHttpService
    • ContentChildrenAndDescendantsService

Constructors

Methods

  • Copies a single page and its associated properties, permissions, attachments, and custom contents. The id path parameter refers to the content ID of the page to copy. The target of the page to be copied is defined using the destination in the request body and can be one of the following types.

    • space: page will be copied to the specified space as a root page on the space
    • parent_page: page will be copied as a child of the specified parent page
    • parent_content: page will be copied as a child of the specified parent content
    • existing_page: page will be copied and replace the specified page

    By default, the following objects are expanded: space, history, version.

    Permissions required: 'Add' permission for the space that the content will be copied in and permission to update the content if copying to an existing_page.

    Parameters

    • params: {
          copyPageRequest: CopyPageRequest;
          expand?: string[];
          id: string;
      }
      • copyPageRequest: CopyPageRequest

        Request object from json post body

      • Optionalexpand?: string[]

        A multi-value parameter indicating which properties of the content to expand. Maximum sub-expansions allowed is 8.

        • childTypes.all returns whether the content has attachments, comments, or child pages/whiteboards. Use this if you only need to check whether the content has children of a particular type.
        • childTypes.attachment returns whether the content has attachments.
        • childTypes.comment returns whether the content has comments.
        • childTypes.page returns whether the content has child pages.
        • childTypes.whiteboard returns whether the content has child whiteboards.
        • childTypes.database returns whether the content has child databases.
        • childTypes.embed returns whether the content has child embeds (smartlinks).
        • childTypes.folder returns whether the content has child folder.
        • container returns the space that the content is in. This is the same as the information returned by Get space.
        • metadata.currentuser returns information about the current user in relation to the content, including when they last viewed it, modified it, contributed to it, or added it as a favorite.
        • metadata.properties returns content properties that have been set via the Confluence REST API.
        • metadata.labels returns the labels that have been added to the content.
        • metadata.frontend this property is only used by Atlassian.
        • operations returns the operations for the content, which are used when setting permissions.
        • children.page returns pages that are descendants at the level immediately below the content.
        • children.whiteboard returns whiteboards that are descendants at the level immediately below the content.
        • children.database returns databases that are descendants at the level immediately below the content.
        • children.embed returns embeds (smartlinks) that are descendants at the level immediately below the content.
        • children.folder returns folders that are descendants at the level immediately below the content.
        • children.attachment returns all attachments for the content.
        • children.comment returns all comments on the content.
        • restrictions.read.restrictions.user returns the users that have permission to read the content.
        • restrictions.read.restrictions.group returns the groups that have permission to read the content. Note that this may return deleted groups, because deleting a group doesn't remove associated restrictions.
        • restrictions.update.restrictions.user returns the users that have permission to update the content.
        • restrictions.update.restrictions.group returns the groups that have permission to update the content. Note that this may return deleted groups because deleting a group doesn't remove associated restrictions.
        • history returns the history of the content, including the date it was created.
        • history.lastUpdated returns information about the most recent update of the content, including who updated it and when it was updated.
        • history.previousVersion returns information about the update prior to the current content update.
        • history.contributors returns all of the users who have contributed to the content.
        • history.nextVersion returns information about the update after to the current content update.
        • ancestors returns the parent content, if the content is a page or whiteboard.
        • body returns the body of the content in different formats, including the editor format, view format, and export format.
        • body.storage returns the body of content in storage format.
        • body.view returns the body of content in view format.
        • version returns information about the most recent update of the content, including who updated it and when it was updated.
        • descendants.page returns pages that are descendants at any level below the content.
        • descendants.whiteboard returns whiteboards that are descendants at any level below the content.
        • descendants.database returns databases that are descendants at any level below the content.
        • descendants.embed returns embeds (smartlinks) that are descendants at any level below the content.
        • descendants.folder returns folders that are descendants at any level below the content.
        • descendants.attachment returns all attachments for the content, same as children.attachment.
        • descendants.comment returns all comments on the content, same as children.comment.
        • space returns the space that the content is in. This is the same as the information returned by Get space.

        In addition, the following comment-specific expansions can be used:

        • extensions.inlineProperties returns inline comment-specific properties.
        • extensions.resolution returns the resolution status of each comment.
      • id: string

    Returns Promise<null | Content>

    Returned if the content is copied.

    POST /wiki/rest/api/content/{id}/copy @scopes-current write:confluence-content @scopes-beta read:content-details:confluence, write:page:confluence

  • Copy page hierarchy allows the copying of an entire hierarchy of pages and their associated properties, permissions and attachments. The id path parameter refers to the content id of the page to copy, and the new parent of this copied page is defined using the destinationPageId in the request body. The titleOptions object defines the rules of renaming page titles during the copy; for example, search and replace can be used in conjunction to rewrite the copied page titles.

    Response example:

     {
    "id" : "1180606",
    "links" : {
    "status" : "/rest/api/longtask/1180606"
    }
    }

    Use the /longtask/ REST API to get the copy task status.

    Parameters

    Returns Promise<LongTask>

    Returns a full JSON representation of a long running task

    POST /wiki/rest/api/content/{id}/pagehierarchy/copy @scopes-current write:confluence-content @scopes-beta read:content.metadata:confluence, write:page:confluence

  • Returns a map of the descendants of a piece of content. This is similar to Get content children, except that this method returns child pages at all levels, rather than just the direct child pages.

    A piece of content has different types of descendants, depending on its type:

    • page: descendant is page, whiteboard, database, embed, folder, comment, attachment
    • whiteboard: descendant is page, whiteboard, database, embed, folder, comment, attachment
    • database: descendant is page, whiteboard, database, embed, folder, comment, attachment
    • embed: descendant is page, whiteboard, database, embed, folder, comment, attachment
    • folder: descendant is page, whiteboard, database, embed, folder, comment, attachment
    • blogpost: descendant is comment, attachment
    • attachment: descendant is comment
    • comment: descendant is attachment

    The map will always include all descendant types that are valid for the content. However, if the content has no instances of a descendant type, the map will contain an empty array for that descendant type.

    Permissions required: 'View' permission for the space, and permission to view the content if it is a page.

    Parameters

    • params: {
          expand?: ("attachment" | "page" | "comment")[];
          id: string;
      }
      • Optionalexpand?: ("attachment" | "page" | "comment")[]

        A multi-value parameter indicating which properties of the children to expand, where:

        • attachment returns all attachments for the content.
        • comments returns all comments for the content.
        • page returns all child pages of the content.
        • whiteboard returns all child whiteboards of the content.
        • database returns all child databases of the content.
        • embed returns all child embeds of the content.
        • folder returns all child folders of the content.
      • id: string

        The ID of the content to be queried for its descendants.

    Returns Promise<ContentChildren>

    Returned if the requested descendants are returned.

    GET /wiki/rest/api/content/{id}/descendant @scopes-current read:confluence-content.summary @scopes-beta read:content-details:confluence

  • Returns all descendants of a given type, for a piece of content. This is similar to Get content children by type, except that this method returns child pages at all levels, rather than just the direct child pages.

    A piece of content has different types of descendants, depending on its type:

    • page: descendant is page, whiteboard, database, embed, folder, comment, attachment
    • whiteboard: descendant is page, whiteboard, database, embed, folder, comment, attachment
    • database: descendant is page, whiteboard, database, embed, folder, comment, attachment
    • embed: descendant is page, whiteboard, database, embed, folder, comment, attachment
    • folder: descendant is page, whiteboard, database, embed, folder, comment, attachment
    • blogpost: descendant is comment, attachment
    • attachment: descendant is comment
    • comment: descendant is attachment

    Custom content types that are provided by apps can also be returned.

    If the expand query parameter is used with the body.export_view and/or body.styled_view properties, then the query limit parameter will be restricted to a maximum value of 25.

    Permissions required: 'View' permission for the space, and permission to view the content if it is a page.

    Parameters

    • params: {
          depth?: "all" | "root" | "<any positive integer argument in the range of 1 and 100>";
          expand?: string[];
          id: string;
          limit?: number;
          start?: number;
          type: "attachment" | "page" | "comment";
      }
      • Optionaldepth?: "all" | "root" | "<any positive integer argument in the range of 1 and 100>"

        Filter the results to descendants upto a desired level of the content. Note, the maximum value supported is 100. root level of the content means immediate (level 1) descendants of the type requested. all represents returning all descendants of the type requested.

      • Optionalexpand?: string[]

        A multi-value parameter indicating which properties of the content to expand.

        • childTypes.all returns whether the content has attachments, comments, or child pages/whiteboards. Use this if you only need to check whether the content has children of a particular type.
        • childTypes.attachment returns whether the content has attachments.
        • childTypes.comment returns whether the content has comments.
        • childTypes.page returns whether the content has child pages.
        • childTypes.whiteboard returns whether the content has child whiteboards.
        • childTypes.database returns whether the content has child databases.
        • childTypes.embed returns whether the content has child embeds (smartlinks).
        • childTypes.folder returns whether the content has child folders.
        • container returns the space that the content is in. This is the same as the information returned by Get space.
        • metadata.currentuser returns information about the current user in relation to the content, including when they last viewed it, modified it, contributed to it, or added it as a favorite.
        • metadata.properties returns content properties that have been set via the Confluence REST API.
        • metadata.labels returns the labels that have been added to the content.
        • metadata.frontend this property is only used by Atlassian.
        • operations returns the operations for the content, which are used when setting permissions.
        • children.page returns pages that are descendants at the level immediately below the content.
        • children.whiteboard returns whiteboards that are descendants at the level immediately below the content.
        • children.database returns databases that are descendants at the level immediately below the content.
        • children.embed returns embeds (smartlinks) that are descendants at the level immediately below the content.
        • children.folder returns folders that are descendants at the level immediately below the content.
        • children.attachment returns all attachments for the content.
        • children.comment returns all comments on the content.
        • restrictions.read.restrictions.user returns the users that have permission to read the content.
        • restrictions.read.restrictions.group returns the groups that have permission to read the content. Note that this may return deleted groups, because deleting a group doesn't remove associated restrictions.
        • restrictions.update.restrictions.user returns the users that have permission to update the content.
        • restrictions.update.restrictions.group returns the groups that have permission to update the content. Note that this may return deleted groups because deleting a group doesn't remove associated restrictions.
        • history returns the history of the content, including the date it was created.
        • history.lastUpdated returns information about the most recent update of the content, including who updated it and when it was updated.
        • history.previousVersion returns information about the update prior to the current content update.
        • history.contributors returns all of the users who have contributed to the content.
        • history.nextVersion returns information about the update after to the current content update.
        • ancestors returns the parent content, if the content is a page or whiteboard.
        • body returns the body of the content in different formats, including the editor format, view format, and export format.
        • body.storage returns the body of content in storage format.
        • body.view returns the body of content in view format.
        • version returns information about the most recent update of the content, including who updated it and when it was updated.
        • descendants.page returns pages that are descendants at any level below the content.
        • descendants.whiteboard returns whiteboards that are descendants at any level below the content.
        • descendants.database returns databases that are descendants at any level below the content.
        • descendants.embed returns embeds (smartlinks) that are descendants at any level below the content.
        • descendants.folder returns folders that are descendants at any level below the content.
        • descendants.attachment returns all attachments for the content, same as children.attachment.
        • descendants.comment returns all comments on the content, same as children.comment.
        • space returns the space that the content is in. This is the same as the information returned by Get space.

        In addition, the following comment-specific expansions can be used:

        • extensions.inlineProperties returns inline comment-specific properties.
        • extensions.resolution returns the resolution status of each comment.
      • id: string

        The ID of the content to be queried for its descendants.

      • Optionallimit?: number

        The maximum number of content to return per page. Note, this may be restricted by fixed system limits.

      • Optionalstart?: number

        The starting index of the returned content.

      • type: "attachment" | "page" | "comment"

        The type of descendants to return.

    Returns Promise<ContentArray>

    Returned if the requested content is returned.

    GET /wiki/rest/api/content/{id}/descendant/{type} @scopes-current read:confluence-content.summary @scopes-beta read:content-details:confluence

  • Move a page to a new location relative to a target page:

    • before - move the page under the same parent as the target, before the target in the list of children
    • after - move the page under the same parent as the target, after the target in the list of children
    • append - move the page to be a child of the target

    Caution: This API can move pages to the top level of a space. Top-level pages are difficult to find in the UI because they do not show up in the page tree display. To avoid this, never use before or after positions when the targetId is a top-level page.

    Parameters

    • params: {
          pageId: string;
          position: "after" | "before" | "append";
          targetId: string;
      }
      • pageId: string

        The ID of the page to be moved

      • position: "after" | "before" | "append"

        The position to move the page to relative to the target page:

        • before - move the page under the same parent as the target, before the target in the list of children
        • after - move the page under the same parent as the target, after the target in the list of children
        • append - move the page to be a child of the target
      • targetId: string

        The ID of the target page for this operation

    Returns Promise<{
        pageId?: string;
    } & {
        [key: string]: unknown;
    }>

    Page was successfully moved

    PUT /wiki/rest/api/content/{pageId}/move/{position}/{targetId} @scopes-current write:confluence-content @scopes-beta write:page:confluence

  • Method to initialize the class. Normally used to set up validation rules.

    Returns void