Atlassian Content - Children and Descendants API

The Content - Children and Descendants API from Atlassian — 7 operation(s) for content - children and descendants.

Operations 7

GET /wiki/rest/api/content/{id}/child Atlassian Get Content Children #
PUT /wiki/rest/api/content/{pageId}/move/{position}/{targetId} Atlassian Move A Page To A New Location Relative To A Target Page #
GET /wiki/rest/api/content/{id}/child/{type} Atlassian Get Content Children By Type #
GET /wiki/rest/api/content/{id}/descendant Atlassian Get Content Descendants #
GET /wiki/rest/api/content/{id}/descendant/{type} Atlassian Get Content Descendants By Type #
POST /wiki/rest/api/content/{id}/pagehierarchy/copy Atlassian Copy Page Hierarchy #
POST /wiki/rest/api/content/{id}/copy Atlassian Copy Single Page #

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-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-search-search-page-response-search-result-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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/atlassian-content-children-and-descendants-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

atlassian-content-children-and-descendants-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Atlassian The Confluence Cloud REST Content - Children and Descendants API
  description: This document describes the REST API and resources provided by Confluence. The REST APIs are for developers who want to integrate Confluence into their application and for administrators who want to script interactions with the Confluence server.Confluence's REST APIs provide access to resources (data entities) via URI paths. To use a REST API, your application will make an HTTP request and parse the response. The response format is JSON. Your methods will be the standard HTTP methods like GET, PUT, POST and DELETE. Because the REST API is based on open standards, you can use any web development language to access the API.
  termsOfService: https://atlassian.com/terms/
  version: 1.0.0
servers:
- url: //your-domain.atlassian.net
tags:
- name: Content - Children and Descendants
  description: ''
paths:
  /wiki/rest/api/content/{id}/child:
    get:
      tags:
      - Content - Children and Descendants
      summary: Atlassian Get Content Children
      deprecated: true
      description: 'Deprecated, use [Confluence''s v2 API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).<br><br>Returns a map of the direct children of a piece of content. A piece of content<br>has different types of child content, depending on its type. These are<br>the default parent-child content type relationships:<br><br>- `page`: child content is `page`, `comment`, `attachment`<br>- `blogpost`: child content is `comment`, `attachment`<br>- `attachment`: child content is `comment`<br>- `comment`: child content is `attachment`<br><br>Apps can override these default relationships. Apps can also introduce<br>new content types that create new parent-child content relationships.<br><br>Note, the map will always include all child content types that are valid<br>for the content. However, if the content has no instances of a child content<br>type, the map will contain an empty array for that child content type.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**: ''View'' permission for the space,<br>and permission to view the content if it is a page.'
      operationId: atlassianGetcontentchildren
      parameters:
      - name: id
        in: path
        description: The ID of the content to be queried for its children.
        required: true
        schema:
          type: string
      - name: expand
        in: query
        description: '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.

          - Custom content types that are provided by apps are also supported.'
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: parentVersion
        in: query
        description: 'The version of the parent content to retrieve children for.

          Currently, this only works for the latest version.'
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: Returned if the requested content children are returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentChildren'
        '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.summary
      x-atlassian-oauth2-scopes:
      - scheme: oAuthDefinitions
        state: Current
        scopes:
        - read:confluence-content.summary
      - 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/{pageId}/move/{position}/{targetId}:
    put:
      tags:
      - Content - Children and Descendants
      summary: Atlassian Move A Page To A New Location Relative To A Target Page
      description: 'Move a page to a new location relative to a target page:<br><br>* `before` - move the page under the same parent as the target, before the target in the list of children<br>* `after` - move the page under the same parent as the target, after the target in the list of children<br>* `append` - move the page to be a child of the target<br><br>Caution: This API can move pages to the top level of a space. Top-level pages are difficult to find in the UI<br>because they do not show up in the page tree display. To avoid this, never use `before` or `after` positions<br>when the `targetId` is a top-level page.'
      operationId: atlassianMovepage
      parameters:
      - name: pageId
        in: path
        description: The ID of the page to be moved
        required: true
        schema:
          type: string
      - name: position
        in: path
        description: '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'
        required: true
        schema:
          type: string
          enum:
          - before
          - after
          - append
      - name: targetId
        in: path
        description: The ID of the target page for this operation
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Page was successfully moved
          content:
            application/json:
              schema:
                type: object
                properties:
                  pageId:
                    $ref: '#/components/schemas/ContentId'
        '400':
          description: "Returned if;\n\n- A page already exists in the target space with the same name.\n  User is advised to rename page before moving.\n- The move would create a parent-child loop (page becomes a descendant and ancestor of itself)\n- The page has permission restrictions that the user does not have permission to create in the target space.\n  User is advised to remove restrictions before moving."
          content: {}
        '403':
          description: 'Returned if;


            - User does not have permission to remove page from current space

            - User does not have permission to create a page in target space'
          content: {}
        '404':
          description: 'Returned if;


            - The id or targetId refer to non-existent pages'
          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:page:confluence
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: false
      x-atlassian-connect-scope: WRITE
  /wiki/rest/api/content/{id}/child/{type}:
    get:
      tags:
      - Content - Children and Descendants
      summary: Atlassian Get Content Children By Type
      deprecated: true
      description: 'Deprecated, use [Confluence''s v2 API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/).<br><br>Returns all children of a given type, for a piece of content.<br>A piece of content has different types of child content, depending on its type:<br><br>- `page`: child content is `page`, `comment`, `attachment`<br>- `blogpost`: child content is `comment`, `attachment`<br>- `attachment`: child content is `comment`<br>- `comment`: child content is `attachment`<br><br>Custom content types that are provided by apps can also be returned.<br><br>Note, this method only returns direct children. To return children at all<br>levels, use [Get descendants by type](#api-content-id-descendant-type-get).<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**: ''View'' permission for the space,<br>and permission to view the content if it is a page.'
      operationId: atlassianGetcontentchildrenbytype
      parameters:
      - name: id
        in: path
        description: The ID of the content to be queried for its children.
        required: true
        schema:
          type: string
      - name: type
        in: path
        description: The type of children to return.
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/contentExpand'
      - name: parentVersion
        in: query
        description: 'The version of the parent content to retrieve children for.

          Currently, this only works for the latest version.'
        schema:
          minimum: 0
          type: integer
          format: int32
          default: 0
      - name: start
        in: query
        description: The starting index of the returned content.
        schema:
          type: integer
          format: int32
      - name: limit
        in: query
        description: 'The maximum number of content to return per page. Note,

          this may be restricted by fixed system limits.'
        schema:
          minimum: 0
          type: integer
          format: int32
          default: 25
      responses:
        '200':
          description: Returned if the requested content is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentArray'
        '400':
          description: 'Returned if the parent type and desired child content type are not compatible.

            Eg: Cannot find `page` children of a `blogpost`.'
          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:
        - read:confluence-content.summary
      x-atlassian-oauth2-scopes:
      - scheme: oAuthDefinitions
        state: Current
        scopes:
        - read:confluence-content.summary
      - 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}/descendant:
    get:
      tags:
      - Content - Children and Descendants
      summary: Atlassian Get Content Descendants
      description: 'Returns a map of the descendants of a piece of content. This is similar<br>to [Get content children](#api-content-id-child-get), except that this<br>method returns child pages at all levels, rather than just the direct<br>child pages.<br><br>A piece of content has different types of descendants, depending on its type:<br><br>- `page`: descendant is `page`, `comment`, `attachment`<br>- `blogpost`: descendant is `comment`, `attachment`<br>- `attachment`: descendant is `comment`<br>- `comment`: descendant is `attachment`<br><br>The map will always include all descendant types that are valid for the content.<br>However, if the content has no instances of a descendant type, the map will<br>contain an empty array for that descendant type.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:<br>''View'' permission for the space, and permission to view the content if it<br>is a page.'
      operationId: atlassianGetcontentdescendants
      parameters:
      - name: id
        in: path
        description: The ID of the content to be queried for its descendants.
        required: true
        schema:
          type: string
      - name: expand
        in: query
        description: '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.'
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - attachment
            - comment
            - page
      responses:
        '200':
          description: Returned if the requested descendants are returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentChildren'
        '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.summary
      x-atlassian-oauth2-scopes:
      - scheme: oAuthDefinitions
        state: Current
        scopes:
        - read:confluence-content.summary
      - 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}/descendant/{type}:
    get:
      tags:
      - Content - Children and Descendants
      summary: Atlassian Get Content Descendants By Type
      description: 'Returns all descendants of a given type, for a piece of content. This is<br>similar to [Get content children by type](#api-content-id-child-type-get),<br>except that this method returns child pages at all levels, rather than just<br>the direct child pages.<br><br>A piece of content has different types of descendants, depending on its type:<br><br>- `page`: descendant is `page`, `comment`, `attachment`<br>- `blogpost`: descendant is `comment`, `attachment`<br>- `attachment`: descendant is `comment`<br>- `comment`: descendant is `attachment`<br><br>Custom content types that are provided by apps can also be returned.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:<br>''View'' permission for the space, and permission to view the content if it<br>is a page.'
      operationId: atlassianGetdescendantsoftype
      parameters:
      - name: id
        in: path
        description: The ID of the content to be queried for its descendants.
        required: true
        schema:
          type: string
      - name: type
        in: path
        description: The type of descendants to return.
        required: true
        schema:
          type: string
          enum:
          - page
          - comment
          - attachment
      - name: depth
        in: query
        description: 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.
        schema:
          type: string
          default: all
          enum:
          - all
          - root
          - <any positive integer argument in the range of 1 and 100>
      - $ref: '#/components/parameters/contentExpand'
      - name: start
        in: query
        description: The starting index of the returned content.
        schema:
          minimum: 0
          type: integer
          format: int32
          default: 0
      - name: limit
        in: query
        description: 'The maximum number of content to return per page. Note,

          this may be restricted by fixed system limits.'
        schema:
          minimum: 0
          type: integer
          format: int32
          default: 25
      responses:
        '200':
          description: Returned if the requested content is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentArray'
        '400':
          description: 'Returned if;


            - Any of the required request params are missing.

            - The request is invalid such as negative start param, a format besides int32 for limit etc.'
          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:
        - read:confluence-content.summary
      x-atlassian-oauth2-scopes:
      - scheme: oAuthDefinitions
        state: Current
        scopes:
        - read:confluence-content.summary
      - 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}/pagehierarchy/copy:
    post:
      tags:
      - Content - Children and Descendants
      summary: Atlassian Copy Page Hierarchy
      description: 'Copy page hierarchy allows the copying of an entire hierarchy of pages and their associated properties, permissions and attachments.<br> 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.<br> The titleOptions object defines the rules of renaming page titles during the copy;<br> for example, search and replace can be used in conjunction to rewrite the copied page titles.<br><br> Response example:<br> <br> {<br>      "id" : "1180606",<br>      "links" : {<br>           "status" : "/rest/api/longtask/1180606"<br>      }<br> }<br> <br> Use the /longtask/ REST API to get the copy task status.'
      operationId: atlassianCopypagehierarchy
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        description: Request object from json post body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CopyPageHierarchyRequest'
        required: true
      responses:
        '202':
          description: Returns a full JSON representation of a long running task
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LongTask'
        '400':
          description: Returned if the title prefix is invalid (e.g. is empty, creates a conflict)
          content: {}
        '403':
          description: Returned if the user does not have permission to create content at destination
          content: {}
        '404':
          description: Returned if original page or destination page 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:
        - read:content.metadata:confluence
        - write:page:confluence
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: false
      x-codegen-request-body-name: request
      x-atlassian-connect-scope: WRITE
  /wiki/rest/api/content/{id}/copy:
    post:
      tags:
      - Content - Children and Descendants
      summary: Atlassian Copy Single Page
      description: 'Copies a single page and its associated properties, permissions, attachments, and custom contents.<br> The `id` path parameter refers to the content ID of the page to copy. The target of the page to be copied<br> is defined using the `destination` in the request body and can be one of the following types.<br><br>  - `space`: page will be copied to the specified space as a root page on the space<br>  - `parent_page`: page will be copied as a child of the specified parent page<br>  - `existing_page`: page will be copied and replace the specified page<br><br>By default, the following objects are expanded: `space`, `history`, `version`.<br><br>**[Permissions](https://confluence.atlassian.com/x/_AozKw) 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`.'
      operationId: atlassianCopypage
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/contentExpandWithSubExpandLimit'
      requestBody:
        description: Request object from json post body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CopyPageRequest'
        required: true
      responses:
        '200':
          description: Returned if the content is copied.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/Content'
        '400':
          description: 'Returned if;


            - destination or any of its fields are not specified.

            - destination.type is invalid.

            - sub-expansions limit exceeds.'
          content: {}
        '401':
          description: 'Returned if the authentication credentials are incorrect or missing

            from the request.'
          content: {}
        '403':
          description: Returned if the user does not have permission to create content at destination.
          content: {}
        '404':
          description: 'Returned if;


            - the original page doesn''t exist.

            - the destination page doesn’t exist.

            - the destination space doesn’t 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:
        - read:content-details:confluence
        - write:page:confluence
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: false
      x-codegen-request-body-name: request
      x-atlassian-connect-scope: WRITE
components:
  schemas:
    CopyPageHierarchyRequest:
      required:
      - destinationPageId
      type: object
      properties:
        copyAttachments:
          type: boolean
          description: If set to `true`, attachments are copied to the destination page.
          default: false
        copyPermissions:
          type: boolean
          description: If set to `true`, page permissions are copied to the destination page.
          default: false
        copyProperties:
          type: boolean
          description: If set to `true`, content properties are copied to the destination page.
          default: false
        copyLabels:
          type: boolean
          description: If set to `true`, labels are copied to the destination page.
          default: false
        copyCustomContents:
          type: boolean
          description: If set to `true`, custom contents are copied to the destination page.
          default: false
        copyDescendants:
          type: boolean
          description: If set to `true`, descendants are copied to the destination page.
          default: true
        destinationPageId:
          $ref: '#/components/schemas/ContentId'
        titleOptions:
          $ref: '#/components/schemas/CopyPageHierarchyTitleOptions'
    ContentLookAndFeel:
      type: object
      properties:
        screen:
          $ref: '#/components/schemas/ScreenLookAndFeel'
        container:
          $ref: '#/components/schemas/ContainerLookAndFeel'
        header:
          $ref: '#/components/schemas/ContainerLookAndFeel'
        body:
          $ref: '#/components/schemas/ContainerLookAndFeel'
    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`.'
    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'
    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'
    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'
    SearchFieldLookAndFeel:
      required:
      - backgroundColor
      - color
      type:
      - object
      - 'null'
      properties:
        backgroundColor:
          type: string
        color:
          type: string
    ButtonLookAndFeel:
      required:
      - backgroundColor
      - color
      type:
      - object
      - 'null'
      properties:
        backgroundColor:
          type: string
        color:
          type: string
    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.'
    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'
    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'
    Embeddable:
      type: object
      additionalProperties: true
    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.
    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
        spaceKey:
          type: string
        _links:
          $ref: '#/components/schemas/GenericLinks'
    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'
    ContentChildren:
      type: object
      additionalProperties: true
      properties:
        attachment:
          $ref: '#/components/schemas/ContentArray'
        comment:
          $ref

# --- truncated at 32 KB (86 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/openapi/atlassian-content-children-and-descendants-api-openapi.yml