> ## Documentation Index
> Fetch the complete documentation index at: https://mcp-atlassian.soomiles.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Confluence Pages

> Create, read, update, delete pages, and navigate page trees

### Get Page

Get content of a specific Confluence page by its ID, or by its title and space key.

**Parameters:**

| Parameter             | Type      | Required | Description                                                                                                                                                                                                                                                                                                                                                                                |
| --------------------- | --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `page_id`             | `string`  | No       | Confluence page ID (numeric ID, can be found in the page URL). For example, in the URL '[https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title](https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title)', the page ID is '123456789'. Provide this OR both 'title' and 'space\_key'. If page\_id is provided, title and space\_key will be ignored. |
| `title`               | `string`  | No       | The exact title of the Confluence page. Use this with 'space\_key' if 'page\_id' is not known.                                                                                                                                                                                                                                                                                             |
| `space_key`           | `string`  | No       | The key of the Confluence space where the page resides (e.g., 'DEV', 'TEAM'). Required if using 'title'.                                                                                                                                                                                                                                                                                   |
| `include_metadata`    | `boolean` | No       | Whether to include page metadata such as creation date, last update, version, and labels.                                                                                                                                                                                                                                                                                                  |
| `convert_to_markdown` | `boolean` | No       | Whether to convert page to markdown (true) or keep it in raw HTML format (false). Raw HTML can reveal macros (like dates) not visible in markdown, but CAUTION: using HTML significantly increases token usage in AI responses.                                                                                                                                                            |
| **Example:**          |           |          |                                                                                                                                                                                                                                                                                                                                                                                            |

```json theme={null}
{"page_id": "12345678", "include_metadata": true}
```

<Tip>
  Content is returned in Markdown format (auto-converted from Confluence storage format). Use `include_metadata` for labels, version info, and last modified date.
</Tip>

***

### Create Page

Create a new Confluence page.

<Note>This is a **write** tool. Disabled when `READ_ONLY_MODE=true`.</Note>

**Parameters:**

| Parameter                | Type      | Required | Description                                                                                                                                                                                                   |
| ------------------------ | --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `space_key`              | `string`  | Yes      | The key of the space to create the page in (usually a short uppercase code like 'DEV', 'TEAM', or 'DOC')                                                                                                      |
| `title`                  | `string`  | Yes      | The title of the page                                                                                                                                                                                         |
| `content`                | `string`  | No\*     | The content of the page. Format depends on content\_format parameter. Can be Markdown (default), wiki markup, storage format, or XHTML storage format                                                         |
| `content_file`           | `string`  | No\*     | Absolute or relative filesystem path to read the page body from (UTF-8). Mutually exclusive with `content`.                                                                                                   |
| `parent_id`              | `string`  | No       | (Optional) parent page ID. If provided, this page will be created as a child of the specified page                                                                                                            |
| `content_format`         | `string`  | No       | (Optional) The format of the content parameter. Options: 'markdown' (default), 'wiki', 'storage', or 'xhtml'. Use 'xhtml' for Confluence XHTML storage format. Wiki format uses Confluence wiki markup syntax |
| `enable_heading_anchors` | `boolean` | No       | (Optional) Whether to enable automatic heading anchor generation. Only applies when content\_format is 'markdown'                                                                                             |
| `include_content`        | `boolean` | No       | (Optional) Whether to include page content in the response. Defaults to false since callers already have the content at create time.                                                                          |
| `emoji`                  | `string`  | No       | (Optional) Page title emoji (icon shown in navigation). Can be any emoji character like '📝', '🚀', '📚'. Set to null/None to remove.                                                                         |
| `page_width`             | `string`  | No       | Page layout width. Options: 'full-width', 'default'.                                                                                                                                                          |
| `table_layout`           | `string`  | No       | Table width preset for Markdown tables. Options: 'full-width', 'wide', 'default'.                                                                                                                             |
| **Example:**             |           |          |                                                                                                                                                                                                               |

```json theme={null}
{"space_key": "DEV", "title": "Architecture Decision Record", "content": "## Context\n\nWe need to decide...", "parent_id": "98765432"}
```

<Tip>
  Use Markdown for content — it's auto-converted to Confluence storage format. Specify `parent_id` to create as a child page.
</Tip>

<Note>Exactly one of `content` or `content_file` must be provided.</Note>

***

### Update Page

Update an existing Confluence page.

<Note>This is a **write** tool. Disabled when `READ_ONLY_MODE=true`.</Note>

**Parameters:**

| Parameter                | Type      | Required | Description                                                                                                                                                                                                   |
| ------------------------ | --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `page_id`                | `string`  | Yes      | The ID of the page to update                                                                                                                                                                                  |
| `title`                  | `string`  | Yes      | The new title of the page                                                                                                                                                                                     |
| `content`                | `string`  | No\*     | The new content of the page. Format depends on content\_format parameter                                                                                                                                      |
| `content_file`           | `string`  | No\*     | Absolute or relative filesystem path to read the new page body from (UTF-8). Mutually exclusive with `content`.                                                                                               |
| `is_minor_edit`          | `boolean` | No       | Whether this is a minor edit                                                                                                                                                                                  |
| `version_comment`        | `string`  | No       | Optional comment for this version                                                                                                                                                                             |
| `parent_id`              | `string`  | No       | Optional the new parent page ID                                                                                                                                                                               |
| `content_format`         | `string`  | No       | (Optional) The format of the content parameter. Options: 'markdown' (default), 'wiki', 'storage', or 'xhtml'. Use 'xhtml' for Confluence XHTML storage format. Wiki format uses Confluence wiki markup syntax |
| `enable_heading_anchors` | `boolean` | No       | (Optional) Whether to enable automatic heading anchor generation. Only applies when content\_format is 'markdown'                                                                                             |
| `include_content`        | `boolean` | No       | (Optional) Whether to include page content in the response. Defaults to false since callers already have the content at update time.                                                                          |
| `emoji`                  | `string`  | No       | (Optional) Page title emoji (icon shown in navigation). Can be any emoji character like '📝', '🚀', '📚'. Set to null/None to remove.                                                                         |
| `page_width`             | `string`  | No       | Page layout width. Options: 'full-width', 'default'. Use an empty string to reset to default.                                                                                                                 |
| `table_layout`           | `string`  | No       | Table width preset for Markdown tables. Options: 'full-width', 'wide', 'default'.                                                                                                                             |
| **Example:**             |           |          |                                                                                                                                                                                                               |

```json theme={null}
{"page_id": "12345678", "title": "Updated Title", "content": "## Updated Content\n\nNew information...", "is_minor_edit": true}
```

<Tip>
  Set `is_minor_edit: true` to skip notification emails. The page version is auto-incremented.
</Tip>

<Note>Exactly one of `content` or `content_file` must be provided.</Note>

***

### Update Page Section

Update a single section of a Confluence page without affecting the rest.

<Note>This is a **write** tool. Disabled when `READ_ONLY_MODE=true`.</Note>

**Parameters:**

| Parameter         | Type      | Required | Description                                                                                                                                                                                     |
| ----------------- | --------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `page_id`         | `string`  | Yes      | The ID of the page to update                                                                                                                                                                    |
| `heading_text`    | `string`  | Yes      | Exact text of the heading that starts the section to replace. Matching is case-sensitive. Use `confluence_get_page` with `convert_to_markdown=false` to inspect exact heading text when unsure. |
| `new_content`     | `string`  | Yes      | Replacement content for the section body. Do not include the heading itself — only the body beneath it. Format is controlled by `content_format`.                                               |
| `content_format`  | `string`  | No       | Format of `new_content`. Options: `'markdown'` (default) or `'storage'` (raw Confluence storage XML). Use `'storage'` to insert macros or elements that markdown cannot express.                |
| `is_minor_edit`   | `boolean` | No       | Whether this is a minor edit                                                                                                                                                                    |
| `version_comment` | `string`  | No       | Optional comment for this version                                                                                                                                                               |

**Example:**

```json theme={null}
{"page_id": "12345678", "heading_text": "Weekly Update", "new_content": "- Shipped v2.1\n- Started v2.2 planning", "version_comment": "Weekly sync"}
```

<Tip>
  Use this instead of `confluence_update_page` when the page contains macros, layouts, task lists, or other Confluence-specific elements you don't want to lose. The tool fetches the page as raw storage XML, surgically replaces only the target section, and writes the full XML back — so everything outside the section is preserved exactly.
</Tip>

<Warning>
  `heading_text` must match the heading exactly as it appears in Confluence (case-sensitive, no surrounding emoji — emoji in headings are stripped automatically). If the heading is not found, a `ValueError` is raised.
</Warning>

***

### Delete Page

Delete an existing Confluence page.

<Note>This is a **write** tool. Disabled when `READ_ONLY_MODE=true`.</Note>

**Parameters:**

| Parameter | Type     | Required | Description                  |
| --------- | -------- | -------- | ---------------------------- |
| `page_id` | `string` | Yes      | The ID of the page to delete |

***

### Get Page Children

Get child pages and folders of a specific Confluence page.

**Parameters:**

| Parameter             | Type      | Required | Description                                                                                                                          |
| --------------------- | --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `parent_id`           | `string`  | Yes      | The ID of the parent page whose children you want to retrieve                                                                        |
| `expand`              | `string`  | No       | Fields to expand in the response (e.g., 'version', 'body.storage')                                                                   |
| `limit`               | `integer` | No       | Maximum number of child items to return (1-50)                                                                                       |
| `include_content`     | `boolean` | No       | Whether to include the page content in the response                                                                                  |
| `convert_to_markdown` | `boolean` | No       | Whether to convert page content to markdown (true) or keep it in raw HTML format (false). Only relevant if include\_content is true. |
| `start`               | `integer` | No       | Starting index for pagination (0-based)                                                                                              |
| `include_folders`     | `boolean` | No       | Whether to include child folders in addition to child pages                                                                          |

***

### Get Page History

Get a historical version of a specific Confluence page.

**Parameters:**

| Parameter             | Type      | Required | Description                                                                                                                                                                                                                                                          |
| --------------------- | --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `page_id`             | `string`  | Yes      | Confluence page ID (numeric ID, can be found in the page URL). For example, in '[https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title](https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title)', the page ID is '123456789'. |
| `version`             | `integer` | Yes      | The version number of the page to retrieve                                                                                                                                                                                                                           |
| `convert_to_markdown` | `boolean` | No       | Whether to convert page to markdown (true) or keep it in raw HTML format (false). Raw HTML can reveal macros (like dates) not visible in markdown, but CAUTION: using HTML significantly increases token usage in AI responses.                                      |

***

### Move Page

Move a Confluence page to a new parent or space.

<Note>This is a **write** tool. Disabled when `READ_ONLY_MODE=true`.</Note>

**Parameters:**

| Parameter          | Type     | Required | Description                                                                                                                               |
| ------------------ | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `page_id`          | `string` | Yes      | ID of the page to move                                                                                                                    |
| `target_parent_id` | `string` | No\*     | Target parent page ID. If omitted with `target_space_key`, moves to space root.                                                           |
| `target_space_key` | `string` | No\*     | Target space key for cross-space moves                                                                                                    |
| `position`         | `string` | No       | Position: 'append' (default, move as child of target), 'above' (move before target as sibling), or 'below' (move after target as sibling) |

**Example:**

```json theme={null}
{"page_id": "12345678", "target_parent_id": "98765432"}
```

<Warning>
  At least one of `target_parent_id` or `target_space_key` must be provided.
</Warning>

<Tip>
  Use `target_space_key` to move pages between spaces. Omit `target_parent_id` with a space key to move to the space root.
</Tip>

***

### Copy Page

Copy a Confluence page to a new location.

<Note>This is a **write** tool. Disabled when `READ_ONLY_MODE=true`.</Note>

**Parameters:**

| Parameter               | Type      | Required | Description                                                              |
| ----------------------- | --------- | -------- | ------------------------------------------------------------------------ |
| `source_page_id`        | `string`  | Yes      | The ID of the page to copy                                               |
| `destination_space_key` | `string`  | Yes      | Space key for the new page                                               |
| `new_title`             | `string`  | Yes      | Title for the copied page                                                |
| `destination_parent_id` | `string`  | No       | Parent page ID in the destination space. Omit to copy to the space root. |
| `copy_attachments`      | `boolean` | No       | Whether to copy attachments. Supported on Confluence Cloud.              |

**Example:**

```json theme={null}
{"source_page_id": "12345678", "destination_space_key": "DOCS", "new_title": "Copied Runbook", "destination_parent_id": "98765432"}
```

***

### Get Page Restrictions

Get view and edit restrictions for a Confluence page.

**Parameters:**

| Parameter | Type     | Required | Description        |
| --------- | -------- | -------- | ------------------ |
| `page_id` | `string` | Yes      | The ID of the page |

***

### Set Page Restrictions

Replace view and edit restrictions for a Confluence page.

<Note>This is a **write** tool. Disabled when `READ_ONLY_MODE=true`.</Note>

**Parameters:**

| Parameter     | Type     | Required | Description                                                           |
| ------------- | -------- | -------- | --------------------------------------------------------------------- |
| `page_id`     | `string` | Yes      | The ID of the page to restrict                                        |
| `read_users`  | `array`  | No       | Account IDs (Cloud) or usernames (Server/DC) allowed to view the page |
| `read_groups` | `array`  | No       | Group names allowed to view the page                                  |
| `edit_users`  | `array`  | No       | Account IDs (Cloud) or usernames (Server/DC) allowed to edit the page |
| `edit_groups` | `array`  | No       | Group names allowed to edit the page                                  |

<Warning>Omitting all restriction lists or passing empty lists removes all page restrictions.</Warning>

***

### Get Page Diff

Get a unified diff between two versions of a Confluence page.

**Parameters:**

| Parameter      | Type      | Required | Description                                                                                                                                                                                                                                                          |
| -------------- | --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `page_id`      | `string`  | Yes      | Confluence page ID (numeric ID, can be found in the page URL). For example, in '[https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title](https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title)', the page ID is '123456789'. |
| `from_version` | `integer` | Yes      | Source version number (>=1)                                                                                                                                                                                                                                          |
| `to_version`   | `integer` | Yes      | Target version number (>=1)                                                                                                                                                                                                                                          |

**Example:**

```json theme={null}
{"page_id": "12345678", "from_version": 1, "to_version": 3}
```

<Tip>
  Use `confluence_get_page_history` to discover available version numbers. The diff is in unified format, showing additions and removals between versions.
</Tip>

***
