4.6 KiB
4.6 KiB
Confluence Routing Reference
App name: confluence
Base URL proxied: api.atlassian.com
Getting Cloud ID
Confluence Cloud requires a cloud ID in the API path. First, get accessible resources:
GET /confluence/oauth/token/accessible-resources
Response:
[{
"id": "62909843-b784-4c35-b770-e4e2a26f024b",
"url": "https://yoursite.atlassian.net",
"name": "yoursite",
"scopes": ["read:confluence-content.all", "write:confluence-content", ...]
}]
API Path Pattern
V2 API (recommended):
/confluence/ex/confluence/{cloudId}/wiki/api/v2/{endpoint}
V1 REST API (limited):
/confluence/ex/confluence/{cloudId}/wiki/rest/api/{endpoint}
Common Endpoints (V2 API)
Pages
List Pages
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/pages
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/pages?space-id={spaceId}
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/pages?limit=25
Get Page
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/pages/{pageId}
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/pages/{pageId}?body-format=storage
Create Page
POST /confluence/ex/confluence/{cloudId}/wiki/api/v2/pages
Content-Type: application/json
{
"spaceId": "98306",
"status": "current",
"title": "Page Title",
"body": {
"representation": "storage",
"value": "<p>Page content</p>"
}
}
Update Page
PUT /confluence/ex/confluence/{cloudId}/wiki/api/v2/pages/{pageId}
Content-Type: application/json
{
"id": "98391",
"status": "current",
"title": "Updated Title",
"body": {
"representation": "storage",
"value": "<p>Updated content</p>"
},
"version": {"number": 2}
}
Delete Page
DELETE /confluence/ex/confluence/{cloudId}/wiki/api/v2/pages/{pageId}
Get Page Children
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/pages/{pageId}/children
Get Page Labels
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/pages/{pageId}/labels
Get Page Comments
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/pages/{pageId}/footer-comments
Spaces
List Spaces
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/spaces
Get Space
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/spaces/{spaceId}
Get Space Pages
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/spaces/{spaceId}/pages
Blogposts
List Blogposts
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/blogposts
Create Blogpost
POST /confluence/ex/confluence/{cloudId}/wiki/api/v2/blogposts
Content-Type: application/json
{
"spaceId": "98306",
"title": "Blog Post Title",
"body": {
"representation": "storage",
"value": "<p>Blog content</p>"
}
}
Comments
List Footer Comments
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/footer-comments
Create Footer Comment
POST /confluence/ex/confluence/{cloudId}/wiki/api/v2/footer-comments
Content-Type: application/json
{
"pageId": "98391",
"body": {
"representation": "storage",
"value": "<p>Comment text</p>"
}
}
Attachments
List Attachments
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/attachments
Get Page Attachments
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/pages/{pageId}/attachments
Tasks
List Tasks
GET /confluence/ex/confluence/{cloudId}/wiki/api/v2/tasks
User (V1 API)
Get Current User
GET /confluence/ex/confluence/{cloudId}/wiki/rest/api/user/current
Notes
- Always fetch cloud ID first using
/oauth/token/accessible-resources - V2 API is recommended for most operations
- Content uses Confluence storage format (XML-like):
<p>Paragraph</p> - When updating pages, you must increment the version number
- DELETE operations return 204 No Content
- Pagination uses cursor-based approach with
_links.nextcontaining the cursor value