---
title: Confluence
description: Interact with Confluence
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="confluence_v2"
  color="#E0E0E0"
/>

{/* MANUAL-CONTENT-START:intro */}
[Confluence](https://www.atlassian.com/software/confluence) is Atlassian's powerful team collaboration and knowledge management platform. It serves as a centralized workspace where teams can create, organize, and share information across departments and organizations.

With Confluence, you can:

- **Create structured documentation**: Build comprehensive wikis, project plans, and knowledge bases with rich formatting
- **Collaborate in real-time**: Work together on documents with teammates, with comments, mentions, and editing capabilities
- **Organize information hierarchically**: Structure content with spaces, pages, and nested hierarchies for intuitive navigation
- **Integrate with other tools**: Connect with Jira, Trello, and other Atlassian products for seamless workflow integration
- **Control access permissions**: Manage who can view, edit, or comment on specific content

In Sim, the Confluence integration enables your agents to access and leverage your organization's knowledge base. Agents can retrieve information from Confluence pages, search for specific content, and even update documentation when needed. This allows your workflows to incorporate the collective knowledge stored in your Confluence instance, making it possible to build agents that can reference internal documentation, follow established procedures, and maintain up-to-date information resources as part of their operations.
{/* MANUAL-CONTENT-END */}


## Usage Instructions

Integrate Confluence into the workflow. Can read, create, update, delete pages, manage comments, attachments, labels, and search content.



## Tools

### `confluence_retrieve`

Retrieve content from Confluence pages using the Confluence API.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to retrieve \(numeric ID from page URL or API\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `pageId` | string | Confluence page ID |
| `title` | string | Page title |
| `content` | string | Page content with HTML tags stripped |
| `status` | string | Page status \(current, archived, trashed, draft\) |
| `spaceId` | string | ID of the space containing the page |
| `parentId` | string | ID of the parent page |
| `authorId` | string | Account ID of the page author |
| `createdAt` | string | ISO 8601 timestamp when the page was created |
| `url` | string | URL to view the page in Confluence |
| `body` | object | Raw page body content in storage format |
|   ↳ `value` | string | The content value in the specified format |
|   ↳ `representation` | string | Content representation type |
| `version` | object | Page version information |
|   ↳ `number` | number | Version number |
|   ↳ `message` | string | Version message |
|   ↳ `minorEdit` | boolean | Whether this is a minor edit |
|   ↳ `authorId` | string | Account ID of the version author |
|   ↳ `createdAt` | string | ISO 8601 timestamp of version creation |

### `confluence_update`

Update a Confluence page using the Confluence API.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to update \(numeric ID from page URL or API\) |
| `title` | string | No | New title for the page |
| `content` | string | No | New content for the page in Confluence storage format |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of update |
| `pageId` | string | Confluence page ID |
| `title` | string | Updated page title |
| `status` | string | Page status |
| `spaceId` | string | Space ID |
| `body` | object | Page body content in storage format |
|   ↳ `storage` | object | Body in storage format \(Confluence markup\) |
|     ↳ `value` | string | The content value in the specified format |
|     ↳ `representation` | string | Content representation type |
|   ↳ `view` | object | Body in view format \(rendered HTML\) |
|     ↳ `value` | string | The content value in the specified format |
|     ↳ `representation` | string | Content representation type |
|   ↳ `atlas_doc_format` | object | Body in Atlassian Document Format \(ADF\) |
|     ↳ `value` | string | The content value in the specified format |
|     ↳ `representation` | string | Content representation type |
| `version` | object | Page version information |
|   ↳ `number` | number | Version number |
|   ↳ `message` | string | Version message |
|   ↳ `minorEdit` | boolean | Whether this is a minor edit |
|   ↳ `authorId` | string | Account ID of the version author |
|   ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
| `url` | string | URL to view the page in Confluence |
| `success` | boolean | Update operation success status |

### `confluence_create_page`

Create a new page in a Confluence space.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | Confluence space ID where the page will be created |
| `title` | string | Yes | Title of the new page |
| `content` | string | Yes | Page content in Confluence storage format \(HTML\) |
| `parentId` | string | No | Parent page ID if creating a child page |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of creation |
| `pageId` | string | Created page ID |
| `title` | string | Page title |
| `status` | string | Page status |
| `spaceId` | string | Space ID |
| `parentId` | string | Parent page ID |
| `body` | object | Page body content |
|   ↳ `storage` | object | Body in storage format \(Confluence markup\) |
|     ↳ `value` | string | The content value in the specified format |
|     ↳ `representation` | string | Content representation type |
|   ↳ `view` | object | Body in view format \(rendered HTML\) |
|     ↳ `value` | string | The content value in the specified format |
|     ↳ `representation` | string | Content representation type |
|   ↳ `atlas_doc_format` | object | Body in Atlassian Document Format \(ADF\) |
|     ↳ `value` | string | The content value in the specified format |
|     ↳ `representation` | string | Content representation type |
| `version` | object | Page version information |
|   ↳ `number` | number | Version number |
|   ↳ `message` | string | Version message |
|   ↳ `minorEdit` | boolean | Whether this is a minor edit |
|   ↳ `authorId` | string | Account ID of the version author |
|   ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
| `url` | string | Page URL |

### `confluence_delete_page`

Delete a Confluence page. By default moves to trash; use purge=true to permanently delete.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to delete |
| `purge` | boolean | No | If true, permanently deletes the page instead of moving to trash \(default: false\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of deletion |
| `pageId` | string | Deleted page ID |
| `deleted` | boolean | Deletion status |

### `confluence_list_pages_in_space`

List all pages within a specific Confluence space. Supports pagination and filtering by status.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | The ID of the Confluence space to list pages from |
| `limit` | number | No | Maximum number of pages to return \(default: 50, max: 250\) |
| `status` | string | No | Filter pages by status: current, archived, trashed, or draft |
| `bodyFormat` | string | No | Format for page body content: storage, atlas_doc_format, or view. If not specified, body is not included. |
| `cursor` | string | No | Pagination cursor from previous response to get the next page of results |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `pages` | array | Array of pages in the space |
|   ↳ `id` | string | Unique page identifier |
|   ↳ `title` | string | Page title |
|   ↳ `status` | string | Page status \(e.g., current, archived, trashed, draft\) |
|   ↳ `spaceId` | string | ID of the space containing the page |
|   ↳ `parentId` | string | ID of the parent page \(null if top-level\) |
|   ↳ `authorId` | string | Account ID of the page author |
|   ↳ `createdAt` | string | ISO 8601 timestamp when the page was created |
|   ↳ `version` | object | Page version information |
|     ↳ `number` | number | Version number |
|     ↳ `message` | string | Version message |
|     ↳ `minorEdit` | boolean | Whether this is a minor edit |
|     ↳ `authorId` | string | Account ID of the version author |
|     ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
|   ↳ `body` | object | Page body content \(if bodyFormat was specified\) |
|     ↳ `storage` | object | Body in storage format \(Confluence markup\) |
|       ↳ `value` | string | The content value in the specified format |
|       ↳ `representation` | string | Content representation type |
|     ↳ `view` | object | Body in view format \(rendered HTML\) |
|       ↳ `value` | string | The content value in the specified format |
|       ↳ `representation` | string | Content representation type |
|     ↳ `atlas_doc_format` | object | Body in Atlassian Document Format \(ADF\) |
|       ↳ `value` | string | The content value in the specified format |
|       ↳ `representation` | string | Content representation type |
|   ↳ `webUrl` | string | URL to view the page in Confluence |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_get_page_children`

Get all child pages of a specific Confluence page. Useful for navigating page hierarchies.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | The ID of the parent page to get children from |
| `limit` | number | No | Maximum number of child pages to return \(default: 50, max: 250\) |
| `cursor` | string | No | Pagination cursor from previous response to get the next page of results |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `parentId` | string | ID of the parent page |
| `children` | array | Array of child pages |
|   ↳ `id` | string | Child page ID |
|   ↳ `title` | string | Child page title |
|   ↳ `status` | string | Page status |
|   ↳ `spaceId` | string | Space ID |
|   ↳ `childPosition` | number | Position among siblings |
|   ↳ `webUrl` | string | URL to view the page |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_get_page_ancestors`

Get the ancestor (parent) pages of a specific Confluence page. Returns the full hierarchy from the page up to the root.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | The ID of the page to get ancestors for |
| `limit` | number | No | Maximum number of ancestors to return \(default: 25, max: 250\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `pageId` | string | ID of the page whose ancestors were retrieved |
| `ancestors` | array | Array of ancestor pages, ordered from direct parent to root |
|   ↳ `id` | string | Ancestor page ID |
|   ↳ `title` | string | Ancestor page title |
|   ↳ `status` | string | Page status |
|   ↳ `spaceId` | string | Space ID |
|   ↳ `webUrl` | string | URL to view the page |

### `confluence_list_page_versions`

List all versions (revision history) of a Confluence page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | The ID of the page to get versions for |
| `limit` | number | No | Maximum number of versions to return \(default: 50, max: 250\) |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `pageId` | string | ID of the page |
| `versions` | array | Array of page versions |
|   ↳ `number` | number | Version number |
|   ↳ `message` | string | Version message |
|   ↳ `minorEdit` | boolean | Whether this is a minor edit |
|   ↳ `authorId` | string | Account ID of the version author |
|   ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_get_page_version`

Get details about a specific version of a Confluence page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | The ID of the page |
| `versionNumber` | number | Yes | The version number to retrieve \(e.g., 1, 2, 3\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `pageId` | string | ID of the page |
| `title` | string | Page title at this version |
| `content` | string | Page content with HTML tags stripped at this version |
| `version` | object | Detailed version information |
|   ↳ `number` | number | Version number |
|   ↳ `message` | string | Version message |
|   ↳ `minorEdit` | boolean | Whether this is a minor edit |
|   ↳ `authorId` | string | Account ID of the version author |
|   ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
|   ↳ `contentTypeModified` | boolean | Whether the content type was modified in this version |
|   ↳ `collaborators` | array | List of collaborator account IDs for this version |
|   ↳ `prevVersion` | number | Previous version number |
|   ↳ `nextVersion` | number | Next version number |
| `body` | object | Raw page body content in storage format at this version |
|   ↳ `value` | string | The content value in the specified format |
|   ↳ `representation` | string | Content representation type |

### `confluence_list_page_properties`

List all custom properties (metadata) attached to a Confluence page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | The ID of the page to list properties from |
| `limit` | number | No | Maximum number of properties to return \(default: 50, max: 250\) |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `pageId` | string | ID of the page |
| `properties` | array | Array of content properties |
|   ↳ `id` | string | Property ID |
|   ↳ `key` | string | Property key |
|   ↳ `value` | json | Property value \(can be any JSON\) |
|   ↳ `version` | object | Version information |
|     ↳ `number` | number | Version number |
|     ↳ `message` | string | Version message |
|     ↳ `minorEdit` | boolean | Whether this is a minor edit |
|     ↳ `authorId` | string | Account ID of the version author |
|     ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_create_page_property`

Create a new custom property (metadata) on a Confluence page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | The ID of the page to add the property to |
| `key` | string | Yes | The key/name for the property |
| `value` | json | Yes | The value for the property \(can be any JSON value\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `pageId` | string | ID of the page |
| `propertyId` | string | ID of the created property |
| `key` | string | Property key |
| `value` | json | Property value |
| `version` | object | Version information |
|   ↳ `number` | number | Version number |
|   ↳ `message` | string | Version message |
|   ↳ `minorEdit` | boolean | Whether this is a minor edit |
|   ↳ `authorId` | string | Account ID of the version author |
|   ↳ `createdAt` | string | ISO 8601 timestamp of version creation |

### `confluence_delete_page_property`

Delete a content property from a Confluence page by its property ID.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | The ID of the page containing the property |
| `propertyId` | string | Yes | The ID of the property to delete |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `pageId` | string | ID of the page |
| `propertyId` | string | ID of the deleted property |
| `deleted` | boolean | Deletion status |

### `confluence_search`

Search for content across Confluence pages, blog posts, and other content.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `query` | string | Yes | Search query string |
| `limit` | number | No | Maximum number of results to return \(default: 25\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of search |
| `results` | array | Array of search results |
|   ↳ `id` | string | Unique content identifier |
|   ↳ `title` | string | Content title |
|   ↳ `type` | string | Content type \(e.g., page, blogpost, attachment, comment\) |
|   ↳ `status` | string | Content status \(e.g., current\) |
|   ↳ `url` | string | URL to view the content in Confluence |
|   ↳ `excerpt` | string | Text excerpt matching the search query |
|   ↳ `spaceKey` | string | Key of the space containing the content |
|   ↳ `space` | object | Space information for the content |
|     ↳ `id` | string | Space identifier |
|     ↳ `key` | string | Space key |
|     ↳ `name` | string | Space name |
|   ↳ `lastModified` | string | ISO 8601 timestamp of last modification |
|   ↳ `entityType` | string | Entity type identifier \(e.g., content, space\) |

### `confluence_search_in_space`

Search for content within a specific Confluence space. Optionally filter by text query and content type.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceKey` | string | Yes | The key of the Confluence space to search in \(e.g., "ENG", "HR"\) |
| `query` | string | No | Text search query. If not provided, returns all content in the space. |
| `contentType` | string | No | Filter by content type: page, blogpost, attachment, or comment |
| `limit` | number | No | Maximum number of results to return \(default: 25, max: 250\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `spaceKey` | string | The space key that was searched |
| `totalSize` | number | Total number of matching results |
| `results` | array | Array of search results |
|   ↳ `id` | string | Unique content identifier |
|   ↳ `title` | string | Content title |
|   ↳ `type` | string | Content type \(e.g., page, blogpost, attachment, comment\) |
|   ↳ `status` | string | Content status \(e.g., current\) |
|   ↳ `url` | string | URL to view the content in Confluence |
|   ↳ `excerpt` | string | Text excerpt matching the search query |
|   ↳ `spaceKey` | string | Key of the space containing the content |
|   ↳ `space` | object | Space information for the content |
|     ↳ `id` | string | Space identifier |
|     ↳ `key` | string | Space key |
|     ↳ `name` | string | Space name |
|   ↳ `lastModified` | string | ISO 8601 timestamp of last modification |
|   ↳ `entityType` | string | Entity type identifier \(e.g., content, space\) |

### `confluence_list_blogposts`

List all blog posts across all accessible Confluence spaces.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `limit` | number | No | Maximum number of blog posts to return \(default: 25, max: 250\) |
| `status` | string | No | Filter by status: current, archived, trashed, or draft |
| `sort` | string | No | Sort order: created-date, -created-date, modified-date, -modified-date, title, -title |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `blogPosts` | array | Array of blog posts |
|   ↳ `id` | string | Blog post ID |
|   ↳ `title` | string | Blog post title |
|   ↳ `status` | string | Blog post status |
|   ↳ `spaceId` | string | Space ID |
|   ↳ `authorId` | string | Author account ID |
|   ↳ `createdAt` | string | Creation timestamp |
|   ↳ `version` | object | Version information |
|     ↳ `number` | number | Version number |
|     ↳ `message` | string | Version message |
|     ↳ `minorEdit` | boolean | Whether this is a minor edit |
|     ↳ `authorId` | string | Account ID of the version author |
|     ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
|   ↳ `webUrl` | string | URL to view the blog post |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_get_blogpost`

Get a specific Confluence blog post by ID, including its content.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `blogPostId` | string | Yes | The ID of the blog post to retrieve |
| `bodyFormat` | string | No | Format for blog post body: storage, atlas_doc_format, or view |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `id` | string | Blog post ID |
| `title` | string | Blog post title |
| `status` | string | Blog post status |
| `spaceId` | string | Space ID |
| `authorId` | string | Author account ID |
| `createdAt` | string | Creation timestamp |
| `version` | object | Version information |
|   ↳ `number` | number | Version number |
|   ↳ `message` | string | Version message |
|   ↳ `minorEdit` | boolean | Whether this is a minor edit |
|   ↳ `authorId` | string | Account ID of the version author |
|   ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
| `body` | object | Blog post body content in requested format\(s\) |
|   ↳ `storage` | object | Body in storage format \(Confluence markup\) |
|     ↳ `value` | string | The content value in the specified format |
|     ↳ `representation` | string | Content representation type |
|   ↳ `view` | object | Body in view format \(rendered HTML\) |
|     ↳ `value` | string | The content value in the specified format |
|     ↳ `representation` | string | Content representation type |
|   ↳ `atlas_doc_format` | object | Body in Atlassian Document Format \(ADF\) |
|     ↳ `value` | string | The content value in the specified format |
|     ↳ `representation` | string | Content representation type |
| `webUrl` | string | URL to view the blog post |

### `confluence_create_blogpost`

Create a new blog post in a Confluence space.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | The ID of the space to create the blog post in |
| `title` | string | Yes | Title of the blog post |
| `content` | string | Yes | Blog post content in Confluence storage format \(HTML\) |
| `status` | string | No | Blog post status: current \(default\) or draft |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `id` | string | Created blog post ID |
| `title` | string | Blog post title |
| `status` | string | Blog post status |
| `spaceId` | string | Space ID |
| `authorId` | string | Author account ID |
| `body` | object | Blog post body content |
|   ↳ `storage` | object | Body in storage format \(Confluence markup\) |
|     ↳ `value` | string | The content value in the specified format |
|     ↳ `representation` | string | Content representation type |
|   ↳ `view` | object | Body in view format \(rendered HTML\) |
|     ↳ `value` | string | The content value in the specified format |
|     ↳ `representation` | string | Content representation type |
|   ↳ `atlas_doc_format` | object | Body in Atlassian Document Format \(ADF\) |
|     ↳ `value` | string | The content value in the specified format |
|     ↳ `representation` | string | Content representation type |
| `version` | object | Blog post version information |
|   ↳ `number` | number | Version number |
|   ↳ `message` | string | Version message |
|   ↳ `minorEdit` | boolean | Whether this is a minor edit |
|   ↳ `authorId` | string | Account ID of the version author |
|   ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
| `webUrl` | string | URL to view the blog post |

### `confluence_list_blogposts_in_space`

List all blog posts within a specific Confluence space.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | The ID of the Confluence space to list blog posts from |
| `limit` | number | No | Maximum number of blog posts to return \(default: 25, max: 250\) |
| `status` | string | No | Filter by status: current, archived, trashed, or draft |
| `bodyFormat` | string | No | Format for blog post body: storage, atlas_doc_format, or view |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `blogPosts` | array | Array of blog posts in the space |
|   ↳ `id` | string | Blog post ID |
|   ↳ `title` | string | Blog post title |
|   ↳ `status` | string | Blog post status |
|   ↳ `spaceId` | string | Space ID |
|   ↳ `authorId` | string | Author account ID |
|   ↳ `createdAt` | string | Creation timestamp |
|   ↳ `version` | object | Version information |
|     ↳ `number` | number | Version number |
|     ↳ `message` | string | Version message |
|     ↳ `minorEdit` | boolean | Whether this is a minor edit |
|     ↳ `authorId` | string | Account ID of the version author |
|     ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
|   ↳ `body` | object | Blog post body content |
|     ↳ `storage` | object | Body in storage format \(Confluence markup\) |
|       ↳ `value` | string | The content value in the specified format |
|       ↳ `representation` | string | Content representation type |
|     ↳ `view` | object | Body in view format \(rendered HTML\) |
|       ↳ `value` | string | The content value in the specified format |
|       ↳ `representation` | string | Content representation type |
|     ↳ `atlas_doc_format` | object | Body in Atlassian Document Format \(ADF\) |
|       ↳ `value` | string | The content value in the specified format |
|       ↳ `representation` | string | Content representation type |
|   ↳ `webUrl` | string | URL to view the blog post |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_create_comment`

Add a comment to a Confluence page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to comment on |
| `comment` | string | Yes | Comment text in Confluence storage format |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of creation |
| `commentId` | string | Created comment ID |
| `pageId` | string | Page ID |

### `confluence_list_comments`

List all comments on a Confluence page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to list comments from |
| `limit` | number | No | Maximum number of comments to return \(default: 25\) |
| `bodyFormat` | string | No | Format for the comment body: storage, atlas_doc_format, view, or export_view \(default: storage\) |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `comments` | array | Array of Confluence comments |
|   ↳ `id` | string | Unique comment identifier |
|   ↳ `status` | string | Comment status \(e.g., current\) |
|   ↳ `title` | string | Comment title |
|   ↳ `pageId` | string | ID of the page the comment belongs to |
|   ↳ `blogPostId` | string | ID of the blog post the comment belongs to |
|   ↳ `parentCommentId` | string | ID of the parent comment |
|   ↳ `body` | object | Comment body content |
|     ↳ `value` | string | Comment body content |
|     ↳ `representation` | string | Content representation format \(e.g., storage, view\) |
|   ↳ `createdAt` | string | ISO 8601 timestamp when the comment was created |
|   ↳ `authorId` | string | Account ID of the comment author |
|   ↳ `version` | object | Comment version information |
|     ↳ `number` | number | Version number |
|     ↳ `message` | string | Version message |
|     ↳ `minorEdit` | boolean | Whether this is a minor edit |
|     ↳ `authorId` | string | Account ID of the version author |
|     ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_update_comment`

Update an existing comment on a Confluence page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `commentId` | string | Yes | Confluence comment ID to update |
| `comment` | string | Yes | Updated comment text in Confluence storage format |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of update |
| `commentId` | string | Updated comment ID |
| `updated` | boolean | Update status |

### `confluence_delete_comment`

Delete a comment from a Confluence page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `commentId` | string | Yes | Confluence comment ID to delete |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of deletion |
| `commentId` | string | Deleted comment ID |
| `deleted` | boolean | Deletion status |

### `confluence_upload_attachment`

Upload a file as an attachment to a Confluence page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to attach the file to |
| `file` | file | Yes | The file to upload as an attachment |
| `fileName` | string | No | Optional custom file name for the attachment |
| `comment` | string | No | Optional comment to add to the attachment |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of upload |
| `attachmentId` | string | Uploaded attachment ID |
| `title` | string | Attachment file name |
| `fileSize` | number | File size in bytes |
| `mediaType` | string | MIME type of the attachment |
| `downloadUrl` | string | Download URL for the attachment |
| `pageId` | string | Page ID the attachment was added to |

### `confluence_list_attachments`

List all attachments on a Confluence page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to list attachments from |
| `limit` | number | No | Maximum number of attachments to return \(default: 50, max: 250\) |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `attachments` | array | Array of Confluence attachments |
|   ↳ `id` | string | Unique attachment identifier \(prefixed with "att"\) |
|   ↳ `title` | string | Attachment file name |
|   ↳ `status` | string | Attachment status \(e.g., current, archived, trashed\) |
|   ↳ `mediaType` | string | MIME type of the attachment |
|   ↳ `fileSize` | number | File size in bytes |
|   ↳ `downloadUrl` | string | URL to download the attachment |
|   ↳ `webuiUrl` | string | URL to view the attachment in Confluence UI |
|   ↳ `pageId` | string | ID of the page the attachment belongs to |
|   ↳ `blogPostId` | string | ID of the blog post the attachment belongs to |
|   ↳ `comment` | string | Comment/description of the attachment |
|   ↳ `version` | object | Attachment version information |
|     ↳ `number` | number | Version number |
|     ↳ `message` | string | Version message |
|     ↳ `minorEdit` | boolean | Whether this is a minor edit |
|     ↳ `authorId` | string | Account ID of the version author |
|     ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_delete_attachment`

Delete an attachment from a Confluence page (moves to trash).

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `attachmentId` | string | Yes | Confluence attachment ID to delete |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of deletion |
| `attachmentId` | string | Deleted attachment ID |
| `deleted` | boolean | Deletion status |

### `confluence_list_labels`

List all labels on a Confluence page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to list labels from |
| `limit` | number | No | Maximum number of labels to return \(default: 25, max: 250\) |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of retrieval |
| `labels` | array | Array of labels on the page |
|   ↳ `id` | string | Unique label identifier |
|   ↳ `name` | string | Label name |
|   ↳ `prefix` | string | Label prefix/type \(e.g., global, my, team\) |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_add_label`

Add a label to a Confluence page for organization and categorization.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to add the label to |
| `labelName` | string | Yes | Name of the label to add |
| `prefix` | string | No | Label prefix: global \(default\), my, team, or system |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `pageId` | string | Page ID that the label was added to |
| `labelName` | string | Name of the added label |
| `labelId` | string | ID of the added label |

### `confluence_delete_label`

Remove a label from a Confluence page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to remove the label from |
| `labelName` | string | Yes | Name of the label to remove |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `pageId` | string | Page ID the label was removed from |
| `labelName` | string | Name of the removed label |
| `deleted` | boolean | Deletion status |

### `confluence_get_pages_by_label`

Retrieve all pages that have a specific label applied.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `labelId` | string | Yes | The ID of the label to get pages for |
| `limit` | number | No | Maximum number of pages to return \(default: 50, max: 250\) |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `labelId` | string | ID of the label |
| `pages` | array | Array of pages with this label |
|   ↳ `id` | string | Unique page identifier |
|   ↳ `title` | string | Page title |
|   ↳ `status` | string | Page status \(e.g., current, archived, trashed, draft\) |
|   ↳ `spaceId` | string | ID of the space containing the page |
|   ↳ `parentId` | string | ID of the parent page \(null if top-level\) |
|   ↳ `authorId` | string | Account ID of the page author |
|   ↳ `createdAt` | string | ISO 8601 timestamp when the page was created |
|   ↳ `version` | object | Page version information |
|     ↳ `number` | number | Version number |
|     ↳ `message` | string | Version message |
|     ↳ `minorEdit` | boolean | Whether this is a minor edit |
|     ↳ `authorId` | string | Account ID of the version author |
|     ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_list_space_labels`

List all labels associated with a Confluence space.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | The ID of the Confluence space to list labels from |
| `limit` | number | No | Maximum number of labels to return \(default: 25, max: 250\) |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `spaceId` | string | ID of the space |
| `labels` | array | Array of labels on the space |
|   ↳ `id` | string | Unique label identifier |
|   ↳ `name` | string | Label name |
|   ↳ `prefix` | string | Label prefix/type \(e.g., global, my, team\) |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_get_space`

Get details about a specific Confluence space.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | Confluence space ID to retrieve |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `spaceId` | string | Space ID |
| `name` | string | Space name |
| `key` | string | Space key |
| `type` | string | Space type \(global, personal\) |
| `status` | string | Space status \(current, archived\) |
| `url` | string | URL to view the space in Confluence |
| `authorId` | string | Account ID of the space creator |
| `createdAt` | string | ISO 8601 timestamp when the space was created |
| `homepageId` | string | ID of the space homepage |
| `description` | object | Space description content |
|   ↳ `value` | string | Description text content |
|   ↳ `representation` | string | Content representation format \(e.g., plain, view, storage\) |

### `confluence_create_space`

Create a new Confluence space.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `name` | string | Yes | Name for the new space |
| `key` | string | Yes | Unique key for the space \(uppercase, no spaces\) |
| `description` | string | No | Description for the new space |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `spaceId` | string | Created space ID |
| `name` | string | Space name |
| `key` | string | Space key |
| `type` | string | Space type |
| `status` | string | Space status |
| `url` | string | URL to view the space |
| `homepageId` | string | Homepage ID |
| `description` | object | Space description |
|   ↳ `value` | string | Description text content |
|   ↳ `representation` | string | Content representation format \(e.g., plain, view, storage\) |

### `confluence_update_space`

Update a Confluence space name or description.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | ID of the space to update |
| `name` | string | No | New name for the space |
| `description` | string | No | New description for the space |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `spaceId` | string | Updated space ID |
| `name` | string | Space name |
| `key` | string | Space key |
| `type` | string | Space type |
| `status` | string | Space status |
| `url` | string | URL to view the space |
| `description` | object | Space description |
|   ↳ `value` | string | Description text content |
|   ↳ `representation` | string | Content representation format \(e.g., plain, view, storage\) |

### `confluence_delete_space`

Delete a Confluence space.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | ID of the space to delete |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `spaceId` | string | Deleted space ID |
| `deleted` | boolean | Deletion status |
| `longTaskId` | string | ID of the long-running deletion task; poll Confluence long-task API to track completion |
| `longTaskStatusLink` | string | Relative link to the long-task status endpoint |

### `confluence_list_spaces`

List all Confluence spaces accessible to the user.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `limit` | number | No | Maximum number of spaces to return \(default: 25, max: 250\) |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `spaces` | array | Array of Confluence spaces |
|   ↳ `id` | string | Unique space identifier |
|   ↳ `key` | string | Space key \(short identifier used in URLs\) |
|   ↳ `name` | string | Space name |
|   ↳ `type` | string | Space type \(e.g., global, personal\) |
|   ↳ `status` | string | Space status \(e.g., current, archived\) |
|   ↳ `authorId` | string | Account ID of the space creator |
|   ↳ `createdAt` | string | ISO 8601 timestamp when the space was created |
|   ↳ `homepageId` | string | ID of the space homepage |
|   ↳ `description` | object | Space description |
|     ↳ `value` | string | Description text content |
|     ↳ `representation` | string | Content representation format \(e.g., plain, view, storage\) |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_list_space_properties`

List properties on a Confluence space.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | Space ID to list properties for |
| `limit` | number | No | Maximum number of properties to return \(default: 50, max: 250\) |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `properties` | array | Array of space properties |
|   ↳ `id` | string | Property ID |
|   ↳ `key` | string | Property key |
|   ↳ `value` | json | Property value |
| `spaceId` | string | Space ID |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_create_space_property`

Create a property on a Confluence space.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | Space ID to create the property on |
| `key` | string | Yes | Property key/name |
| `value` | json | No | Property value \(JSON\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `propertyId` | string | Created property ID |
| `key` | string | Property key |
| `value` | json | Property value |
| `spaceId` | string | Space ID |

### `confluence_delete_space_property`

Delete a property from a Confluence space.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | Space ID the property belongs to |
| `propertyId` | string | Yes | Property ID to delete |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `spaceId` | string | Space ID |
| `propertyId` | string | Deleted property ID |
| `deleted` | boolean | Deletion status |

### `confluence_list_space_permissions`

List permissions for a Confluence space.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | Space ID to list permissions for |
| `limit` | number | No | Maximum number of permissions to return \(default: 50, max: 250\) |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `permissions` | array | Array of space permissions |
|   ↳ `id` | string | Permission ID |
|   ↳ `principalType` | string | Principal type \(user, group, role\) |
|   ↳ `principalId` | string | Principal ID |
|   ↳ `operationKey` | string | Operation key \(read, create, delete, etc.\) |
|   ↳ `operationTargetType` | string | Target type \(page, blogpost, space, etc.\) |
|   ↳ `anonymousAccess` | boolean | Whether anonymous access is allowed |
|   ↳ `unlicensedAccess` | boolean | Whether unlicensed access is allowed |
| `spaceId` | string | Space ID |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_get_page_descendants`

Get all descendants of a Confluence page recursively.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Page ID to get descendants for |
| `limit` | number | No | Maximum number of descendants to return \(default: 50, max: 250\) |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `descendants` | array | Array of descendant pages |
|   ↳ `id` | string | Page ID |
|   ↳ `title` | string | Page title |
|   ↳ `type` | string | Content type \(page, whiteboard, database, etc.\) |
|   ↳ `status` | string | Page status |
|   ↳ `spaceId` | string | Space ID |
|   ↳ `parentId` | string | Parent page ID |
|   ↳ `childPosition` | number | Position among siblings |
|   ↳ `depth` | number | Depth in the hierarchy |
| `pageId` | string | Parent page ID |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_list_tasks`

List inline tasks from Confluence. Optionally filter by page, space, assignee, or status.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | No | Filter tasks by page ID |
| `spaceId` | string | No | Filter tasks by space ID |
| `assignedTo` | string | No | Filter tasks by assignee account ID |
| `status` | string | No | Filter tasks by status \(complete or incomplete\) |
| `limit` | number | No | Maximum number of tasks to return \(default: 50, max: 250\) |
| `cursor` | string | No | Pagination cursor from previous response |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `tasks` | array | Array of Confluence tasks |
|   ↳ `id` | string | Task ID |
|   ↳ `localId` | string | Local task ID |
|   ↳ `spaceId` | string | Space ID |
|   ↳ `pageId` | string | Page ID |
|   ↳ `blogPostId` | string | Blog post ID |
|   ↳ `status` | string | Task status \(complete or incomplete\) |
|   ↳ `body` | string | Task body content in storage format |
|   ↳ `createdBy` | string | Creator account ID |
|   ↳ `assignedTo` | string | Assignee account ID |
|   ↳ `completedBy` | string | Completer account ID |
|   ↳ `createdAt` | string | Creation timestamp |
|   ↳ `updatedAt` | string | Last update timestamp |
|   ↳ `dueAt` | string | Due date |
|   ↳ `completedAt` | string | Completion timestamp |
| `nextCursor` | string | Cursor for fetching the next page of results |

### `confluence_get_task`

Get a specific Confluence inline task by ID.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `taskId` | string | Yes | The ID of the task to retrieve |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `id` | string | Task ID |
| `localId` | string | Local task ID |
| `spaceId` | string | Space ID |
| `pageId` | string | Page ID |
| `blogPostId` | string | Blog post ID |
| `status` | string | Task status \(complete or incomplete\) |
| `body` | string | Task body content in storage format |
| `createdBy` | string | Creator account ID |
| `assignedTo` | string | Assignee account ID |
| `completedBy` | string | Completer account ID |
| `createdAt` | string | Creation timestamp |
| `updatedAt` | string | Last update timestamp |
| `dueAt` | string | Due date |
| `completedAt` | string | Completion timestamp |

### `confluence_update_task`

Update the status of a Confluence inline task (complete or incomplete).

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `taskId` | string | Yes | The ID of the task to update |
| `status` | string | Yes | New status for the task \(complete or incomplete\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `id` | string | Task ID |
| `localId` | string | Local task ID |
| `spaceId` | string | Space ID |
| `pageId` | string | Page ID |
| `blogPostId` | string | Blog post ID |
| `status` | string | Updated task status |
| `body` | string | Task body content in storage format |
| `createdBy` | string | Creator account ID |
| `assignedTo` | string | Assignee account ID |
| `completedBy` | string | Completer account ID |
| `createdAt` | string | Creation timestamp |
| `updatedAt` | string | Last update timestamp |
| `dueAt` | string | Due date |
| `completedAt` | string | Completion timestamp |

### `confluence_update_blogpost`

Update an existing Confluence blog post title and/or content.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `blogPostId` | string | Yes | The ID of the blog post to update |
| `title` | string | No | New title for the blog post |
| `content` | string | No | New content for the blog post in storage format |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `blogPostId` | string | Updated blog post ID |
| `title` | string | Blog post title |
| `status` | string | Blog post status |
| `spaceId` | string | Space ID |
| `version` | json | Version information |
| `url` | string | URL to view the blog post |

### `confluence_delete_blogpost`

Delete a Confluence blog post.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `blogPostId` | string | Yes | The ID of the blog post to delete |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `blogPostId` | string | Deleted blog post ID |
| `deleted` | boolean | Deletion status |

### `confluence_get_user`

Get display name and profile info for a Confluence user by account ID.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `accountId` | string | Yes | The Atlassian account ID of the user to look up |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `accountId` | string | Atlassian account ID of the user |
| `displayName` | string | Display name of the user |
| `email` | string | Email address of the user |
| `accountType` | string | Account type \(e.g., atlassian, app, customer\) |
| `profilePicture` | string | Path to the user profile picture |
| `publicName` | string | Public name of the user |


