/install confluence-atlassian
\r \r
Confluence REST API v2 Skill\r
\r Interact with Atlassian Confluence Cloud using the REST API v2. This skill enables reading, creating, updating, and deleting Confluence content including pages, blog posts, attachments, comments, spaces, labels, and more.\r \r
Authentication\r
\r
Basic Auth (Email + API Token)\r
\r Required Environment Variables:\r
[email protected]\r
CONFLUENCE_API_TOKEN=your_api_token\r
CONFLUENCE_DOMAIN=your_domain # e.g. "yourcompany" for yourcompany.atlassian.net\r
```\r
\r
### Base URL\r
```\r
https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2\r
```\r
\r
### Generate API Token\r
1. Go to https://id.atlassian.com/manage-profile/security/api-tokens\r
2. Click "Create API token"\r
3. Label it (e.g., "nanobot")\r
4. Copy the token\r
\r
### curl Authentication\r
```bash\r
--user "$CONFLUENCE_EMAIL:$CONFLUENCE_API_TOKEN"\r
```\r
\r
**curl Authentication Header:**\r
```bash\r
-H "Authorization: Basic $(echo -n '$CONFLUENCE_EMAIL:$CONFLUENCE_API_TOKEN' | base64)"\r
```\r
\r
### Generate Base64 Auth String\r
```bash\r
# Linux/Mac\r
echo -n "$CONFLUENCE_EMAIL:$CONFLUENCE_API_TOKEN" | base64\r
\r
# Windows PowerShell\r
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("$CONFLUENCE_EMAIL:$CONFLUENCE_API_TOKEN"))\r
```\r
\r
## Rate Limiting\r
\r
- If you encounter HTTP 429 (Too Many Requests), wait 5-10 seconds and retry automatically\r
- Maximum 3 retries with exponential backoff\r
\r
## Common Headers\r
```bash\r
-H "Accept: application/json"\r
-H "Content-Type: application/json"\r
-H "Authorization: Basic \x3Cbase64_encoded_auth>"\r
```\r
\r
---\r
\r
## API Endpoints Reference\r
\r
Total: **100+ API Endpoints** across 29 API Groups\r
\r
---\r
\r
### 1. Admin Key (3 endpoints)\r
\r
| Method | Endpoint | Description |\r
|--------|----------|-------------|\r
| GET | `/admin-key` | Get Admin Key status |\r
| POST | `/admin-key` | Enable Admin Key |\r
| DELETE | `/admin-key` | Disable Admin Key |\r
\r
**Get Admin Key:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/admin-key" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Enable Admin Key (10 min default):**\r
```bash\r
curl -X POST "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/admin-key" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{"durationInMinutes": 10}'\r
```\r
\r
---\r
\r
### 2. Attachment (8 endpoints)\r
\r
| Method | Endpoint | Description |\r
|--------|----------|-------------|\r
| GET | `/attachments` | Get all attachments |\r
| GET | `/attachments/{id}` | Get attachment by ID |\r
| DELETE | `/attachments/{id}` | Delete attachment |\r
| GET | `/attachments/{id}/labels` | Get labels for attachment |\r
| GET | `/attachments/{id}/operations` | Get permitted operations |\r
| GET | `/attachments/{id}/versions` | Get attachment versions |\r
| GET | `/attachments/{id}/versions/{version-number}` | Get version details |\r
| GET | `/attachments/{id}/footer-comments` | Get attachment comments |\r
\r
**Get All Attachments:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/attachments?limit=25" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Get Attachment by ID:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/attachments/att123456" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Delete Attachment (move to trash):**\r
```bash\r
curl -X DELETE "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/attachments/att123456" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Purge (permanently delete) trashed attachment:**\r
```bash\r
curl -X DELETE "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/attachments/att123456?purge=true" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
---\r
\r
### 3. Blog Post (15 endpoints)\r
\r
| Method | Endpoint | Description |\r
|--------|----------|-------------|\r
| GET | `/blogposts` | Get all blog posts |\r
| POST | `/blogposts` | Create blog post |\r
| GET | `/blogposts/{id}` | Get blog post by ID |\r
| PUT | `/blogposts/{id}` | Update blog post |\r
| DELETE | `/blogposts/{id}` | Delete blog post |\r
| GET | `/blogposts/{id}/attachments` | Get attachments |\r
| GET | `/blogposts/{id}/custom-content` | Get custom content |\r
| GET | `/blogposts/{id}/labels` | Get labels |\r
| GET | `/blogposts/{id}/likes/count` | Get like count |\r
| GET | `/blogposts/{id}/likes/users` | Get users who liked |\r
| GET | `/blogposts/{id}/operations` | Get operations |\r
| GET | `/blogposts/{id}/versions` | Get versions |\r
| GET | `/blogposts/{id}/versions/{version-number}` | Get version details |\r
| GET | `/blogposts/{id}/footer-comments` | Get footer comments |\r
| GET | `/blogposts/{id}/inline-comments` | Get inline comments |\r
\r
**Get All Blog Posts:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/blogposts?limit=25&space-id=123" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Create Blog Post:**\r
```bash\r
curl -X POST "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/blogposts" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"spaceId": "SPACE_KEY",\r
"title": "My Blog Post",\r
"body": {\r
"representation": "storage",\r
"value": "\x3Cp>Blog post content here\x3C/p>"\r
}\r
}'\r
```\r
\r
**Get Blog Post with Body:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/blogposts/123?body-format=storage" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
---\r
\r
### 4. Comment (12 endpoints)\r
\r
| Method | Endpoint | Description |\r
|--------|----------|-------------|\r
| GET | `/footer-comments` | Get all footer comments |\r
| POST | `/footer-comments` | Create footer comment |\r
| GET | `/footer-comments/{comment-id}` | Get footer comment |\r
| PUT | `/footer-comments/{comment-id}` | Update footer comment |\r
| DELETE | `/footer-comments/{comment-id}` | Delete footer comment |\r
| GET | `/footer-comments/{id}/children` | Get child comments |\r
| GET | `/inline-comments` | Get all inline comments |\r
| POST | `/inline-comments` | Create inline comment |\r
| GET | `/inline-comments/{comment-id}` | Get inline comment |\r
| PUT | `/inline-comments/{comment-id}` | Update inline comment |\r
| DELETE | `/inline-comments/{comment-id}` | Delete inline comment |\r
| GET | `/inline-comments/{id}/children` | Get child inline comments |\r
\r
**Create Footer Comment on Page:**\r
```bash\r
curl -X POST "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/footer-comments" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"pageId": "123456",\r
"body": {\r
"representation": "storage",\r
"value": "\x3Cp>Comment content\x3C/p>"\r
}\r
}'\r
```\r
\r
**Create Inline Comment:**\r
```bash\r
curl -X POST "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/inline-comments" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"pageId": "123456",\r
"body": {\r
"representation": "storage",\r
"value": "\x3Cp>Inline comment\x3C/p>"\r
},\r
"inlineCommentProperties": {\r
"textSelection": "selected text",\r
"textSelectionMatchCount": 1,\r
"textSelectionMatchIndex": 0\r
}\r
}'\r
```\r
\r
**Resolve Inline Comment:**\r
```bash\r
curl -X PUT "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/inline-comments/123" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"version": {"number": 2},\r
"resolved": true\r
}'\r
```\r
\r
---\r
\r
### 5. Content Properties (40 endpoints)\r
\r
For: Attachments, Blog Posts, Pages, Custom Content, Whiteboards, Databases, Folders, Comments, Smart Links\r
\r
| Method | Endpoint Pattern | Description |\r
|--------|-----------------|-------------|\r
| GET | `/{type}/{id}/properties` | Get all properties |\r
| POST | `/{type}/{id}/properties` | Create property |\r
| GET | `/{type}/{id}/properties/{property-id}` | Get property |\r
| PUT | `/{type}/{id}/properties/{property-id}` | Update property |\r
| DELETE | `/{type}/{id}/properties/{property-id}` | Delete property |\r
\r
**Get Page Properties:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages/123456/properties" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Create Page Property:**\r
```bash\r
curl -X POST "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages/123456/properties" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"key": "custom-key",\r
"value": {"nested": "value"}\r
}'\r
```\r
\r
**Update Page Property:**\r
```bash\r
curl -X PUT "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages/123456/properties/789" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"key": "custom-key",\r
"value": {"updated": "value"},\r
"version": {"number": 2}\r
}'\r
```\r
\r
---\r
\r
### 6. Label (14 endpoints)\r
\r
| Method | Endpoint | Description |\r
|--------|----------|-------------|\r
| GET | `/labels` | Get all labels |\r
| GET | `/labels/{id}/attachments` | Get attachments with label |\r
| GET | `/labels/{id}/blogposts` | Get blog posts with label |\r
| GET | `/labels/{id}/pages` | Get pages with label |\r
| GET | `/attachments/{id}/labels` | Get attachment labels |\r
| GET | `/blogposts/{id}/labels` | Get blog post labels |\r
| GET | `/custom-content/{id}/labels` | Get custom content labels |\r
| GET | `/pages/{id}/labels` | Get page labels |\r
| GET | `/spaces/{id}/labels` | Get space labels |\r
| GET | `/spaces/{id}/content/labels` | Get space content labels |\r
\r
**Get Page Labels:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages/123456/labels" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
---\r
\r
### 7. Page (14 endpoints)\r
\r
| Method | Endpoint | Description |\r
|--------|----------|-------------|\r
| GET | `/pages` | Get all pages |\r
| POST | `/pages` | Create page |\r
| GET | `/pages/{id}` | Get page by ID |\r
| PUT | `/pages/{id}` | Update page |\r
| DELETE | `/pages/{id}` | Delete page |\r
| PUT | `/pages/{id}/title` | Update page title |\r
| GET | `/pages/{id}/attachments` | Get attachments |\r
| GET | `/pages/{id}/custom-content` | Get custom content |\r
| GET | `/pages/{id}/labels` | Get labels |\r
| GET | `/pages/{id}/operations` | Get operations |\r
| GET | `/pages/{id}/versions` | Get versions |\r
| GET | `/pages/{id}/versions/{version-number}` | Get version details |\r
| GET | `/pages/{id}/footer-comments` | Get footer comments |\r
| GET | `/pages/{id}/inline-comments` | Get inline comments |\r
\r
**Get All Pages in Space:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages?space-id=123&limit=50" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Get Page with Body:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages/123456?body-format=storage" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Create Page:**\r
```bash\r
curl -X POST "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"spaceId": "SPACE_KEY",\r
"title": "My New Page",\r
"parentId": "123456",\r
"body": {\r
"representation": "storage",\r
"value": "\x3Cp>Page content in storage format\x3C/p>"\r
}\r
}'\r
```\r
\r
**Update Page:**\r
```bash\r
curl -X PUT "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages/123456" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"id": "123456",\r
"status": "current",\r
"title": "Updated Page Title",\r
"body": {\r
"representation": "storage",\r
"value": "\x3Cp>Updated content\x3C/p>"\r
},\r
"version": {\r
"number": 5,\r
"message": "Updated page content"\r
}\r
}'\r
```\r
\r
**Delete Page (move to trash):**\r
```bash\r
curl -X DELETE "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages/123456" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
---\r
\r
### 8. Space (22 endpoints)\r
\r
| Method | Endpoint | Description |\r
|--------|----------|-------------|\r
| GET | `/spaces` | Get all spaces |\r
| POST | `/spaces` | Create space |\r
| GET | `/spaces/{id}` | Get space by ID |\r
| PUT | `/spaces/{id}` | Update space |\r
| DELETE | `/spaces/{id}` | Delete space |\r
| GET | `/spaces/{id}/pages` | Get space pages |\r
| GET | `/spaces/{id}/pages/search` | Search pages in space |\r
| GET | `/spaces/{id}/blogposts` | Get space blog posts |\r
| GET | `/spaces/{id}/content` | Get space content |\r
| GET | `/spaces/{id}/content/types` | Get content types |\r
| GET | `/spaces/{id}/labels` | Get space labels |\r
| GET | `/spaces/{id}/content/labels` | Get space content labels |\r
| GET | `/spaces/{id}/operations` | Get space operations |\r
| GET | `/spaces/{id}/permissions` | Get space permissions |\r
| GET | `/spaces/{id}/properties` | Get space properties |\r
| POST | `/spaces/{id}/properties` | Create space property |\r
| GET | `/spaces/{id}/properties/{property-id}` | Get space property |\r
| PUT | `/spaces/{id}/properties/{property-id}` | Update space property |\r
| DELETE | `/spaces/{id}/properties/{property-id}` | Delete space property |\r
| GET | `/spaces/{id}/icons` | Get space icons |\r
| POST | `/spaces/{id}/icons` | Set space icon |\r
| GET | `/spaces/{id}/lookups` | Lookup space by key |\r
\r
**Get All Spaces:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/spaces?limit=50" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Get Space by Key:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/spaces?keys=SPACE_KEY" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Create Space:**\r
```bash\r
curl -X POST "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/spaces" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"name": "My New Space",\r
"key": "MYSpace",\r
"description": {\r
"plain": {\r
"value": "Space description"\r
}\r
}\r
}'\r
```\r
\r
---\r
\r
### 9. User (9 endpoints)\r
\r
| Method | Endpoint | Description |\r
|--------|----------|-------------|\r
| GET | `/users/me` | Get current user |\r
| GET | `/users/{id}` | Get user by ID |\r
| GET | `/users/bulk` | Get multiple users |\r
| POST | `/users/bulk` | Bulk get users by emails |\r
| GET | `/user/access/check-access-by-email` | Check user access by email |\r
| POST | `/user/access/check-access-by-email` | Check user access |\r
| GET | `/user/access/invite-by-email` | Get user invite by email |\r
| POST | `/user/access/invite-by-email` | Invite user by email |\r
| POST | `/user/access/batch-invite-by-email` | Batch invite users |\r
\r
**Get Current User:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/users/me" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Get User by ID:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/users/123456" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Bulk Get Users:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/users/bulk?ids=123,456" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
---\r
\r
### 10. Version History (8 endpoints)\r
\r
| Method | Endpoint | Description |\r
|--------|----------|-------------|\r
| GET | `/pages/{id}/versions` | Get page versions |\r
| GET | `/pages/{id}/versions/{version-number}` | Get specific version |\r
| GET | `/blogposts/{id}/versions` | Get blog post versions |\r
| GET | `/blogposts/{id}/versions/{version-number}` | Get specific version |\r
| GET | `/attachments/{id}/versions` | Get attachment versions |\r
| GET | `/attachments/{id}/versions/{version-number}` | Get specific version |\r
| POST | `/pages/{id}/versions/restore` | Restore page version |\r
| POST | `/blogposts/{id}/versions/restore` | Restore blog post version |\r
\r
**Get Page Versions:**\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages/123456/versions?limit=10" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Restore Page Version:**\r
```bash\r
curl -X POST "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages/123456/versions/restore" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{"newVersion": {"message": "Restoring previous version"}}'\r
```\r
\r
---\r
\r
### 11. Whiteboard (7 endpoints)\r
\r
| Method | Endpoint | Description |\r
|--------|----------|-------------|\r
| GET | `/whiteboards` | Get all whiteboards |\r
| POST | `/whiteboards` | Create whiteboard |\r
| GET | `/whiteboards/{id}` | Get whiteboard by ID |\r
| PUT | `/whiteboards/{id}` | Update whiteboard |\r
| DELETE | `/whiteboards/{id}` | Delete whiteboard |\r
| GET | `/whiteboards/{id}/connections` | Get whiteboard connections |\r
| GET | `/whiteboards/{id}/operations` | Get whiteboard operations |\r
\r
**Create Whiteboard:**\r
```bash\r
curl -X POST "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/whiteboards" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"spaceId": "123456",\r
"title": "My Whiteboard"\r
}'\r
```\r
\r
---\r
\r
## Pagination\r
\r
The V2 API uses cursor-based pagination. Responses include a `_links.next` URL when more results are available.\r
\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages?space-id=123456&limit=100" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
**Response:**\r
```json\r
{\r
"results": [...],\r
"_links": {\r
"next": "/wiki/api/v2/pages?cursor=abc123",\r
"base": "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki"\r
}\r
}\r
```\r
\r
---\r
\r
## Search\r
\r
### Search Pages by Title\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages?title=My%20Page&space-id=123456" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
### Get Page with All Details\r
```bash\r
curl -X GET "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages/123456?include-labels=true&include-properties=true&include-versions=true&body-format=storage" \\r
-H "Authorization: Basic \x3Cbase64_auth>"\r
```\r
\r
### Update Page Title\r
```bash\r
curl -X PUT "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages/123456/title" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{"value": "New Page Title"}'\r
```\r
\r
### Redact Page Content (remove sensitive content)\r
```bash\r
curl -X POST "https://$CONFLUENCE_DOMAIN.atlassian.net/wiki/api/v2/pages/123456/redact" \\r
-H "Authorization: Basic \x3Cbase64_auth>" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"version": {"number": 3},\r
"body": {\r
"representation": "storage",\r
"value": "\x3Cp>Redacted content\x3C/p>"\r
}\r
}'\r
```\r
\r
---\r
\r
## Error Handling\r
\r
| Status | Meaning |\r
|--------|---------|\r
| 400 | Bad request or malformed data |\r
| 401 | Invalid credentials or expired token |\r
| 403 | Permission denied |\r
| 404 | Resource not found |\r
| 409 | Conflict (e.g., duplicate title) |\r
| 429 | Rate limited - wait and retry |\r
| 500 | Internal server error |\r
\r
---\r
\r
## Notes\r
\r
- **Confluence Storage Format**: Content uses XML-like storage format. Example: `\x3Cp>Paragraph\x3C/p>`, `\x3Ch1>Heading\x3C/h1>`, `\x3Cul>\x3Cli>Item\x3C/li>\x3C/ul>`\r
- **Version Numbers**: When updating pages, you must increment the version number\r
- **DELETE Returns 204**: DELETE operations return 204 No Content\r
- **IDs are Strings**: All IDs are passed as strings\r
- **Cursor Pagination**: Use the cursor from `_links.next` for pagination\r
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install confluence-atlassian - 安装完成后,直接呼叫该 Skill 的名称或使用
/confluence-atlassian触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Publish Confluence 是什么?
Full-featured Confluence Cloud REST API v2 skill. Manage pages, spaces, blogposts, attachments, comments, labels, and more via direct Atlassian API calls. Us... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 88 次。
如何安装 Publish Confluence?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install confluence-atlassian」即可一键安装,无需额外配置。
Publish Confluence 是免费的吗?
是的,Publish Confluence 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Publish Confluence 支持哪些平台?
Publish Confluence 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Publish Confluence?
由 AlienTree(@jeffersonling1217-png)开发并维护,当前版本 v1.0.0。