> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# confluence

> Spaces, pages, and content

**Server path:** `/confluence` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                            | Description                                                                                                                                                                                                               |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`confluence_create_page`](#confluence_create_page)             | Create a new page in Confluence                                                                                                                                                                                           |
| [`confluence_update_page`](#confluence_update_page)             | Update an existing page in Confluence                                                                                                                                                                                     |
| [`confluence_get_page_content`](#confluence_get_page_content)   | Get content and details of a specific page by ID                                                                                                                                                                          |
| [`confluence_get_spaces`](#confluence_get_spaces)               | Get all spaces that the user has permission to view. Uses cursor-based pagination - to get the next page, extract the cursor from the \_links.next field in the response and pass it in the next request.                 |
| [`confluence_get_pages`](#confluence_get_pages)                 | Get pages from a specific space or all pages the user has access to. Uses cursor-based pagination - to get the next page, extract the cursor from the \_links.next field in the response and pass it in the next request. |
| [`confluence_create_space`](#confluence_create_space)           | Create a new space in Confluence                                                                                                                                                                                          |
| [`confluence_get_page_children`](#confluence_get_page_children) | Get child pages of a specific page. Uses cursor-based pagination - to get the next page, extract the cursor from the \_links.next field in the response and pass it in the next request.                                  |
| [`confluence_add_comment`](#confluence_add_comment)             | Add a comment to a page                                                                                                                                                                                                   |
| [`confluence_create_blog_post`](#confluence_create_blog_post)   | Create a new blog post in Confluence                                                                                                                                                                                      |
| [`confluence_update_blog_post`](#confluence_update_blog_post)   | Update an existing blog post in Confluence                                                                                                                                                                                |
| [`confluence_delete_blog_post`](#confluence_delete_blog_post)   | Delete a blog post from Confluence                                                                                                                                                                                        |

***

## confluence\_create\_page

Create a new page in Confluence

**Parameters:**

| Parameter  | Type   | Required | Default | Description                                              |
| ---------- | ------ | -------- | ------- | -------------------------------------------------------- |
| `title`    | string | Yes      | —       | Page title                                               |
| `spaceId`  | string | Yes      | —       | Space Id (should come from confluence\_get\_spaces tool) |
| `content`  | string | Yes      | —       | Page content in HTML storage format or plain text        |
| `parentId` | string | No       | —       | Parent page ID (optional)                                |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "PinkConnect ID"
      },
      "title": {
        "type": "string",
        "description": "Page title"
      },
      "spaceId": {
        "type": "string",
        "description": "Space Id (should come from confluence_get_spaces tool)"
      },
      "content": {
        "type": "string",
        "description": "Page content in HTML storage format or plain text"
      },
      "parentId": {
        "type": "string",
        "description": "Parent page ID (optional)"
      }
    },
    "required": [
      "PCID",
      "title",
      "spaceId",
      "content"
    ]
  }
  ```
</Expandable>

***

## confluence\_update\_page

Update an existing page in Confluence

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                                                         |
| --------- | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------- |
| `pageId`  | string | Yes      | —       | Page ID to update                                                                                                   |
| `title`   | string | No       | —       | Updated page title                                                                                                  |
| `content` | string | No       | —       | Updated page content in HTML storage format or plain text                                                           |
| `status`  | string | No       | —       | Page status (optional - use "draft" to keep as draft, "current" to publish; defaults to "current" if not specified) |
| `version` | number | Yes      | —       | Current version number of the page (required for updates)                                                           |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "PinkConnect ID"
      },
      "pageId": {
        "type": "string",
        "description": "Page ID to update"
      },
      "title": {
        "type": "string",
        "description": "Updated page title"
      },
      "content": {
        "type": "string",
        "description": "Updated page content in HTML storage format or plain text"
      },
      "status": {
        "type": "string",
        "enum": [
          "current",
          "draft"
        ],
        "description": "Page status (optional - use \"draft\" to keep as draft, \"current\" to publish; defaults to \"current\" if not specified)"
      },
      "version": {
        "type": "number",
        "description": "Current version number of the page (required for updates)"
      }
    },
    "required": [
      "PCID",
      "pageId",
      "version"
    ]
  }
  ```
</Expandable>

***

## confluence\_get\_page\_content

Get content and details of a specific page by ID

**Parameters:**

| Parameter | Type   | Required | Default | Description                     |
| --------- | ------ | -------- | ------- | ------------------------------- |
| `pageId`  | string | Yes      | —       | Page ID to retrieve content for |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "PinkConnect ID"
      },
      "pageId": {
        "type": "string",
        "description": "Page ID to retrieve content for"
      }
    },
    "required": [
      "PCID",
      "pageId"
    ]
  }
  ```
</Expandable>

***

## confluence\_get\_spaces

Get all spaces that the user has permission to view. Uses cursor-based pagination - to get the next page, extract the cursor from the \_links.next field in the response and pass it in the next request.

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                                                 |
| --------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------- |
| `cursor`  | string | No       | —       | Opaque cursor string from \_links.next in previous response for pagination (optional - omit for first page) |
| `limit`   | number | No       | `25`    | Maximum number of spaces to return (default: 25)                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "PinkConnect ID"
      },
      "cursor": {
        "type": "string",
        "description": "Opaque cursor string from _links.next in previous response for pagination (optional - omit for first page)"
      },
      "limit": {
        "type": "number",
        "default": 25,
        "description": "Maximum number of spaces to return (default: 25)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## confluence\_get\_pages

Get pages from a specific space or all pages the user has access to. Uses cursor-based pagination - to get the next page, extract the cursor from the \_links.next field in the response and pass it in the next request.

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                                                 |
| --------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------- |
| `spaceId` | string | No       | —       | Space ID to filter pages (optional - if not provided, returns pages from all spaces)                        |
| `cursor`  | string | No       | —       | Opaque cursor string from \_links.next in previous response for pagination (optional - omit for first page) |
| `limit`   | number | No       | `25`    | Maximum number of pages to return (default: 25)                                                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "PinkConnect ID"
      },
      "spaceId": {
        "type": "string",
        "description": "Space ID to filter pages (optional - if not provided, returns pages from all spaces)"
      },
      "cursor": {
        "type": "string",
        "description": "Opaque cursor string from _links.next in previous response for pagination (optional - omit for first page)"
      },
      "limit": {
        "type": "number",
        "default": 25,
        "description": "Maximum number of pages to return (default: 25)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## confluence\_create\_space

Create a new space in Confluence

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                |
| ------------- | ------ | -------- | ------- | ------------------------------------------ |
| `key`         | string | Yes      | —       | Space key (e.g., "PROJ")                   |
| `name`        | string | Yes      | —       | Space name (e.g., "Project Documentation") |
| `description` | string | No       | —       | Space description (optional)               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "PinkConnect ID"
      },
      "key": {
        "type": "string",
        "description": "Space key (e.g., \"PROJ\")"
      },
      "name": {
        "type": "string",
        "description": "Space name (e.g., \"Project Documentation\")"
      },
      "description": {
        "type": "string",
        "description": "Space description (optional)"
      }
    },
    "required": [
      "PCID",
      "key",
      "name"
    ]
  }
  ```
</Expandable>

***

## confluence\_get\_page\_children

Get child pages of a specific page. Uses cursor-based pagination - to get the next page, extract the cursor from the \_links.next field in the response and pass it in the next request.

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                                                 |
| --------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------- |
| `pageId`  | string | Yes      | —       | Parent page ID                                                                                              |
| `cursor`  | string | No       | —       | Opaque cursor string from \_links.next in previous response for pagination (optional - omit for first page) |
| `limit`   | number | No       | `25`    | Maximum number of children to return (default: 25)                                                          |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "PinkConnect ID"
      },
      "pageId": {
        "type": "string",
        "description": "Parent page ID"
      },
      "cursor": {
        "type": "string",
        "description": "Opaque cursor string from _links.next in previous response for pagination (optional - omit for first page)"
      },
      "limit": {
        "type": "number",
        "default": 25,
        "description": "Maximum number of children to return (default: 25)"
      }
    },
    "required": [
      "PCID",
      "pageId"
    ]
  }
  ```
</Expandable>

***

## confluence\_add\_comment

Add a comment to a page

**Parameters:**

| Parameter | Type   | Required | Default | Description                                          |
| --------- | ------ | -------- | ------- | ---------------------------------------------------- |
| `pageId`  | string | Yes      | —       | Page ID to comment on                                |
| `comment` | string | Yes      | —       | Comment content in HTML storage format or plain text |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "PinkConnect ID"
      },
      "pageId": {
        "type": "string",
        "description": "Page ID to comment on"
      },
      "comment": {
        "type": "string",
        "description": "Comment content in HTML storage format or plain text"
      }
    },
    "required": [
      "PCID",
      "pageId",
      "comment"
    ]
  }
  ```
</Expandable>

***

## confluence\_create\_blog\_post

Create a new blog post in Confluence

**Parameters:**

| Parameter | Type   | Required | Default     | Description                                            |
| --------- | ------ | -------- | ----------- | ------------------------------------------------------ |
| `spaceId` | string | Yes      | —           | Space ID where the blog post will be created           |
| `title`   | string | Yes      | —           | Blog post title                                        |
| `body`    | string | Yes      | —           | Blog post content in HTML storage format or plain text |
| `status`  | string | No       | `"current"` | Publication status of the blog post                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "PinkConnect ID"
      },
      "spaceId": {
        "type": "string",
        "description": "Space ID where the blog post will be created"
      },
      "title": {
        "type": "string",
        "description": "Blog post title"
      },
      "body": {
        "type": "string",
        "description": "Blog post content in HTML storage format or plain text"
      },
      "status": {
        "type": "string",
        "enum": [
          "current",
          "draft"
        ],
        "default": "current",
        "description": "Publication status of the blog post"
      }
    },
    "required": [
      "PCID",
      "spaceId",
      "title",
      "body"
    ]
  }
  ```
</Expandable>

***

## confluence\_update\_blog\_post

Update an existing blog post in Confluence

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                    |
| --------- | ------ | -------- | ------- | -------------------------------------------------------------- |
| `postId`  | string | Yes      | —       | Blog post ID to update                                         |
| `title`   | string | No       | —       | Updated blog post title                                        |
| `body`    | string | No       | —       | Updated blog post content in HTML storage format or plain text |
| `status`  | string | No       | —       | Updated publication status                                     |
| `version` | number | Yes      | —       | Current version number of the blog post (required for updates) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "PinkConnect ID"
      },
      "postId": {
        "type": "string",
        "description": "Blog post ID to update"
      },
      "title": {
        "type": "string",
        "description": "Updated blog post title"
      },
      "body": {
        "type": "string",
        "description": "Updated blog post content in HTML storage format or plain text"
      },
      "status": {
        "type": "string",
        "enum": [
          "current",
          "draft"
        ],
        "description": "Updated publication status"
      },
      "version": {
        "type": "number",
        "description": "Current version number of the blog post (required for updates)"
      }
    },
    "required": [
      "PCID",
      "postId",
      "version"
    ]
  }
  ```
</Expandable>

***

## confluence\_delete\_blog\_post

Delete a blog post from Confluence

**Parameters:**

| Parameter | Type   | Required | Default | Description            |
| --------- | ------ | -------- | ------- | ---------------------- |
| `postId`  | string | Yes      | —       | Blog post ID to delete |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "PinkConnect ID"
      },
      "postId": {
        "type": "string",
        "description": "Blog post ID to delete"
      }
    },
    "required": [
      "PCID",
      "postId"
    ]
  }
  ```
</Expandable>
