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’, 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: | | | |
{"page_id": "12345678", "include_metadata": true}
Content is returned in Markdown format (auto-converted from Confluence storage format). Use include_metadata for labels, version info, and last modified date.
Create Page
Create a new Confluence page.
This is a write tool. Disabled when READ_ONLY_MODE=true.
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: | | | |
{"space_key": "DEV", "title": "Architecture Decision Record", "content": "## Context\n\nWe need to decide...", "parent_id": "98765432"}
Use Markdown for content — it’s auto-converted to Confluence storage format. Specify parent_id to create as a child page.
Exactly one of content or content_file must be provided.
Update Page
Update an existing Confluence page.
This is a write tool. Disabled when READ_ONLY_MODE=true.
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: | | | |
{"page_id": "12345678", "title": "Updated Title", "content": "## Updated Content\n\nNew information...", "is_minor_edit": true}
Set is_minor_edit: true to skip notification emails. The page version is auto-incremented.
Exactly one of content or content_file must be provided.
Update Page Section
Update a single section of a Confluence page without affecting the rest.
This is a write tool. Disabled when READ_ONLY_MODE=true.
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:
{"page_id": "12345678", "heading_text": "Weekly Update", "new_content": "- Shipped v2.1\n- Started v2.2 planning", "version_comment": "Weekly sync"}
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.
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.
Delete Page
Delete an existing Confluence page.
This is a write tool. Disabled when READ_ONLY_MODE=true.
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’, 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.
This is a write tool. Disabled when READ_ONLY_MODE=true.
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:
{"page_id": "12345678", "target_parent_id": "98765432"}
At least one of target_parent_id or target_space_key must be provided.
Use target_space_key to move pages between spaces. Omit target_parent_id with a space key to move to the space root.
Copy Page
Copy a Confluence page to a new location.
This is a write tool. Disabled when READ_ONLY_MODE=true.
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:
{"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.
This is a write tool. Disabled when READ_ONLY_MODE=true.
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 |
Omitting all restriction lists or passing empty lists removes all page restrictions.
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’, the page ID is ‘123456789’. |
from_version | integer | Yes | Source version number (>=1) |
to_version | integer | Yes | Target version number (>=1) |
Example:
{"page_id": "12345678", "from_version": 1, "to_version": 3}
Use confluence_get_page_history to discover available version numbers. The diff is in unified format, showing additions and removals between versions.