GET

Get pages for label

Returns the pages of specified label. The number of results is limited by the limit parameter and additional results (if available) will be available through the next URL present in the Link response header.

Permissions required: Permission to view the content of the page and its corresponding space.

Data Security Policy: Not exempt from app access rules
Scopes
read:page:confluence

Connect app scope requiredREAD

Request

Path parameters

id

integer

Required

Query parameters

space-id

array<integer>

body-format

PrimaryBodyRepresentation

sort

PageSortOrder

cursor

string

limit

integer

Responses

Returned if the requested pages for specified label were successfully fetched.

Headers

Link

string

application/json

MultiEntityResult<Page>
GET/labels/{id}/pages
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestConfluence(route`/wiki/api/v2/labels/{id}/pages`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 { "results": [ { "id": "<string>", "status": "current", "title": "<string>", "spaceId": "<string>", "parentId": "<string>", "parentType": "page", "position": 57, "authorId": "<string>", "ownerId": "<string>", "lastOwnerId": "<string>", "createdAt": "<string>", "version": { "createdAt": "<string>", "message": "<string>", "number": 19, "minorEdit": true, "authorId": "<string>" }, "body": { "storage": {}, "atlas_doc_format": {} }, "_links": { "webui": "<string>", "editui": "<string>", "tinyui": "<string>" } } ], "_links": { "next": "<string>", "base": "<string>" } }
GET

Get pages

Returns all pages. The number of results is limited by the limit parameter and additional results (if available) will be available through the next URL present in the Link response header.

Permissions required: Permission to access the Confluence site ('Can use' global permission). Only pages that the user has permission to view will be returned.

Data Security Policy: Not exempt from app access rules
Scopes
read:page:confluence

Connect app scope requiredREAD

Request

Query parameters

id

array<integer>

space-id

array<integer>

sort

PageSortOrder

status

array<string>

title

string

body-format

PrimaryBodyRepresentation

cursor

string

limit

integer

Responses

Returned if the requested pages are returned.

Headers

Link

string

application/json

MultiEntityResult<Page>
GET/pages
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestConfluence(route`/wiki/api/v2/pages`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 { "results": [ { "id": "<string>", "status": "current", "title": "<string>", "spaceId": "<string>", "parentId": "<string>", "parentType": "page", "position": 57, "authorId": "<string>", "ownerId": "<string>", "lastOwnerId": "<string>", "createdAt": "<string>", "version": { "createdAt": "<string>", "message": "<string>", "number": 19, "minorEdit": true, "authorId": "<string>" }, "body": { "storage": {}, "atlas_doc_format": {} }, "_links": { "webui": "<string>", "editui": "<string>", "tinyui": "<string>" } } ], "_links": { "next": "<string>", "base": "<string>" } }
POST

Create page

Creates a page in the space.

Pages are created as published by default unless specified as a draft in the status field. If creating a published page, the title must be specified.

Permissions required: Permission to view the corresponding space. Permission to create a page in the space.

Data Security Policy: Not exempt from app access rules
Scopes
write:page:confluence

Connect app scope requiredWRITE

Request

Query parameters

embedded

boolean

private

boolean

root-level

boolean

Request bodyapplication/json

spaceId

string

Required
status

string

title

string

parentId

string

body

oneOf [PageBodyWrite, PageNestedBodyWrite]

Responses

Returned if the page was successfully created.

application/json

allOf [PageSingle, object]

PageSingle
object
POST/pages
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "spaceId": "<string>", "status": "current", "title": "<string>", "parentId": "<string>", "body": { "representation": "storage", "value": "<string>" } }`; const response = await api.asUser().requestConfluence(route`/wiki/api/v2/pages`, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 { "id": "<string>", "status": "current", "title": "<string>", "spaceId": "<string>", "parentId": "<string>", "parentType": "page", "position": 57, "authorId": "<string>", "ownerId": "<string>", "lastOwnerId": "<string>", "createdAt": "<string>", "version": { "createdAt": "<string>", "message": "<string>", "number": 19, "minorEdit": true, "authorId": "<string>" }, "body": { "storage": {}, "atlas_doc_format": {}, "view": {} }, "labels": { "results": [ { "id": "<string>", "name": "<string>", "prefix": "<string>" } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "properties": { "results": [ { "id": "<string>", "key": "<string>", "version": {} } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "operations": { "results": [ { "operation": "<string>", "targetType": "<string>" } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "likes": { "results": [ { "accountId": "<string>" } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "versions": { "results": [ { "createdAt": "<string>", "message": "<string>", "number": 19, "minorEdit": true, "authorId": "<string>" } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "isFavoritedByCurrentUser": true, "_links": { "base": "<string>" } }
GET

Get page by id

Returns a specific page.

Permissions required: Permission to view the page and its corresponding space.

Data Security Policy: Not exempt from app access rules
Scopes
read:page:confluence

Connect app scope requiredREAD

Request

Path parameters

id

integer

Required

Query parameters

body-format

PrimaryBodyRepresentationSingle

get-draft

boolean

status

array<string>

version

integer

include-labels

boolean

include-properties

boolean

include-operations

boolean

include-likes

boolean

include-versions

boolean

include-version

boolean

Responses

Returned if the requested page is returned.

application/json

allOf [PageSingle, object]

PageSingle
object
GET/pages/{id}
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestConfluence(route`/wiki/api/v2/pages/{id}`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 { "id": "<string>", "status": "current", "title": "<string>", "spaceId": "<string>", "parentId": "<string>", "parentType": "page", "position": 57, "authorId": "<string>", "ownerId": "<string>", "lastOwnerId": "<string>", "createdAt": "<string>", "version": { "createdAt": "<string>", "message": "<string>", "number": 19, "minorEdit": true, "authorId": "<string>" }, "body": { "storage": {}, "atlas_doc_format": {}, "view": {} }, "labels": { "results": [ { "id": "<string>", "name": "<string>", "prefix": "<string>" } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "properties": { "results": [ { "id": "<string>", "key": "<string>", "version": {} } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "operations": { "results": [ { "operation": "<string>", "targetType": "<string>" } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "likes": { "results": [ { "accountId": "<string>" } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "versions": { "results": [ { "createdAt": "<string>", "message": "<string>", "number": 19, "minorEdit": true, "authorId": "<string>" } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "isFavoritedByCurrentUser": true, "_links": { "base": "<string>" } }
PUT

Update page

Update a page by id.

When the "current" version is updated, the provided body content is considered as the latest version. This latest body content will be attempted to be merged into the draft version through a content reconciliation algorithm. If two versions are significantly diverged, the latest provided content may entirely override what was previously in the draft.

Permissions required: Permission to view the page and its corresponding space. Permission to update pages in the space.

Data Security Policy: Not exempt from app access rules
Scopes
write:page:confluence

Connect app scope requiredWRITE

Request

Path parameters

id

integer

Required

Request bodyapplication/json

id

string

Required
status

string

Required
title

string

Required
spaceId

any

parentId

any

ownerId

any

body

oneOf [PageBodyWrite, PageNestedBodyWrite]

Required
version

object

Required

Responses

Returned if the requested page is successfully updated.

application/json

allOf [PageSingle, object]

PageSingle
object
PUT/pages/{id}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "id": "<string>", "status": "current", "title": "<string>", "body": { "representation": "storage", "value": "<string>" }, "version": { "number": 237, "message": "<string>" } }`; const response = await api.asUser().requestConfluence(route`/wiki/api/v2/pages/{id}`, { method: 'PUT', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 { "id": "<string>", "status": "current", "title": "<string>", "spaceId": "<string>", "parentId": "<string>", "parentType": "page", "position": 57, "authorId": "<string>", "ownerId": "<string>", "lastOwnerId": "<string>", "createdAt": "<string>", "version": { "createdAt": "<string>", "message": "<string>", "number": 19, "minorEdit": true, "authorId": "<string>" }, "body": { "storage": {}, "atlas_doc_format": {}, "view": {} }, "labels": { "results": [ { "id": "<string>", "name": "<string>", "prefix": "<string>" } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "properties": { "results": [ { "id": "<string>", "key": "<string>", "version": {} } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "operations": { "results": [ { "operation": "<string>", "targetType": "<string>" } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "likes": { "results": [ { "accountId": "<string>" } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "versions": { "results": [ { "createdAt": "<string>", "message": "<string>", "number": 19, "minorEdit": true, "authorId": "<string>" } ], "meta": { "hasMore": true, "cursor": "<string>" }, "_links": { "self": "<string>" } }, "isFavoritedByCurrentUser": true, "_links": { "base": "<string>" } }
DEL

Delete page

Delete a page by id.

By default this will delete pages that are non-drafts. To delete a page that is a draft, the endpoint must be called on a draft with the following param draft=true. Discarded drafts are not sent to the trash and are permanently deleted.

Deleting a page moves the page to the trash, where it can be restored later. To permanently delete a page (or "purge" it), the endpoint must be called on a trashed page with the following param purge=true.

Permissions required: Permission to view the page and its corresponding space. Permission to delete pages in the space. Permission to administer the space (if attempting to purge).

Data Security Policy: Not exempt from app access rules
Scopes
delete:page:confluence

Connect app scope requiredDELETE

Request

Path parameters

id

integer

Required

Query parameters

purge

boolean

draft

boolean

Responses

Returned if the page was successfully deleted.

DEL/pages/{id}
1 2 3 4 5 6 7 8 9 10 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestConfluence(route`/wiki/api/v2/pages/{id}`, { method: 'DELETE' }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.text());
GET

Get pages in space

Returns all pages in a space. The number of results is limited by the limit parameter and additional results (if available) will be available through the next URL present in the Link response header.

Permissions required: Permission to access the Confluence site ('Can use' global permission) and 'View' permission for the space. Only pages that the user has permission to view will be returned.

Data Security Policy: Not exempt from app access rules
Scopes
read:page:confluence

Connect app scope requiredREAD

Request

Path parameters

id

integer

Required

Query parameters

depth

string

sort

PageSortOrder

status

array<string>

title

string

body-format

PrimaryBodyRepresentation

cursor

string

limit

integer

Responses

Returned if the requested pages are returned.

Headers

Link

string

application/json

MultiEntityResult<Page>
GET/spaces/{id}/pages
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestConfluence(route`/wiki/api/v2/spaces/{id}/pages`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 { "results": [ { "id": "<string>", "status": "current", "title": "<string>", "spaceId": "<string>", "parentId": "<string>", "parentType": "page", "position": 57, "authorId": "<string>", "ownerId": "<string>", "lastOwnerId": "<string>", "createdAt": "<string>", "version": { "createdAt": "<string>", "message": "<string>", "number": 19, "minorEdit": true, "authorId": "<string>" }, "body": { "storage": {}, "atlas_doc_format": {} }, "_links": { "webui": "<string>", "editui": "<string>", "tinyui": "<string>" } } ], "_links": { "next": "<string>", "base": "<string>" } }

Rate this page: