Available since v. 2.17.0
New REST APIs:
Available since v. 2.31.0
New REST APIs:
Available since v. 3.12.*
New REST APIs:
Available since v. 3.16.*
Below REST APIs are now available to space administrators:
Available since v. 4.21.*
New REST API: Get content information
Get content post information
Available only for Confluence Administrators or Space Administrator
This API supports Pagination
This API supports optional parameters
Method type: GET
URL: {CONFLUENCE_URL}/rest/extender/1.0/content/{CONTENT_ID}
where {CONTENT_ID} is the page or the blog post
Example URL:
{CONFLUENCE_URL}/rest/extender/1.0/content/163841
Response format: JSON
Example response:
{ "hasComments": false, "hasChildren": true, "lastModificationDateString": "2020-10-26 15:44:29", "lastPermissionModificationDate": 1727280841377, "lastPermissionModificationDateString": "2024-09-25 18:14:01", "creatorName": "not exist", "lastModifierName": "not exist", "type": "page", "creationDate": 1603723469341, "version": 1, "spaceKey": "ds", "spaceName": "Demonstration Space", "creationDateString": "2020-10-26 15:44:29", "lastModificationDate": 1603723469341, "name": "Welcome to Confluence", "hasLabels": false, "position": 8, "id": 163841, "hasParent": false, "status": "current" }
Replacing the text on the content (replace all)
Available only for Confluence Administrators or Space Administrator
Method type: POST
URL: {CONFLUENCE_URL}/rest/extender/1.0/content/{CONTENT_ID}/replaceAll
where {CONTENT_ID} is the page
Request format: JSON
Example request:
{ "find": "Jira SD”, "replace": “Jira SM”, “ignoreCase”: true }
{ "find": "Jira SD”, "replace": “Jira SM” }
find - required - the text you want to replace
replace - required - the text you want to replace the search text with
ignoreCase - optional - whether the search text should be case-sensitive - true or false (default)
Response format: JSON
Example response:
{ "ignoreCase": true, "numberOfReplacements": 3, "message": "done" }
Replacing the text on all contents in the space (replace all)
Available only for Confluence Administrators or Space Administrator
The replaceAll task runs a background process with an explicit logging (WARN) of which page is currently being processed.
This API can run only one instance of a background process, if any process is running in the background you'll be prompted the next time you try.
The API changes and indexes pages in packages of 50 pages so don't worry if progress stops for a long time on one package - the time of the whole process depends on the performance of the application.
Method type: POST
URL: {CONFLUENCE_URL}/rest/extender/1.0/space/{SPACE_KEY}/content/replaceAll
where {SPACE_KEY} is the space key
Request format: JSON
Example request:
{ "find": "Jira SD”, "replace": “Jira SM”, “ignoreCase”: true }
{ "find": "Jira SD”, "replace": “Jira SM” }
find - required - the text you want to replace
replace - required - the text you want to replace the search text with
ignoreCase - optional - whether the search text should be case-sensitive - true or false (default)
Response format: JSON
Example response:
{ "message": "task 'replaceAll' for space 'DEMO' has been started in the background", "status": "done" }
{ "message": "API 'replaceAll' for space 'DEMO' is in progress, wait for it to finish [50 of 166]", "status": "waiting" }
Check process status
Method type - GET
URL: {CONFLUENCE_URL}/rest/extender/1.0/space/content/replaceAll/taskStatus
Example response:
{ "message": "no 'replaceAll' job for the space is running", "status": "done" }
{ "message": "API 'replaceAll' for space 'DEMO' is in progress, wait for it to finish [100 of 166]", "status": "in progress" }
Add text to the top of the content (prepend)
Available only for Confluence Administrators or Space Administrator
Method type: POST
URL: {CONFLUENCE_URL}/rest/extender/1.0/content/{CONTENT_ID}/prepend
where {CONTENT_ID} is the page
Request format: JSON
Example request:
{ "text": "<p>Update: Please check news</p>"
Response format: JSON
Example response:
{ "status": "done" }
Add text to the end of the content (append)
Available only for Confluence Administrators or Space Administrator
Method type: POST
URL: {CONFLUENCE_URL}/rest/extender/1.0/content/{CONTENT_ID}/append
where {CONTENT_ID} is the page
Request format: JSON
Example request:
{ "text": "<p>This is the end of the page</p>"
Response format: JSON
Example response:
{ "status": "done" }
Move/reorder page
Available to all users, but the API checks the appropriate permissions
Additional information:
if the source page contains child pages, its entire tree will be moved
you can move a page between spaces
Method type: POST
URL:
{CONFLUENCE_URL}/rest/extender/1.0/content/movePage
or
{CONFLUENCE_URL}/rest/extender/1.0/content/reorderPage
Request format: JSON
Example request:
{ "sourcePageId": 123456, "targetPageId": 987654, "position": "below" }
{ "sourcePageId": 123456, "targetPageId": 987654, "position": "above" }
{ "sourcePageId": 123456, "targetPageId": 987654, "position": "append" }
Response format: JSON
Example response:
{ "message": "The page 'Test page' already exists in space 'TEST'. You need to rename the page title before moving it." }
{ "message": "Page 'Test page (Id: 851977)' moved.", "status": "done" }
{ "message": "The source page cannot be the same as the target page." }
Change the creator of all contents in the space created by user
Available only for Confluence Administrators
When sometimes a user leaves your company, you can change the content (pages / blogs) he has created to another user instead of an "unknown user"
Method type: PUT
URL: {CONFLUENCE_URL}/rest/extender/1.0/content/changeCreator/space/{SPACE_KEY}/user/{USER_NAME_OR_KEY}
where {SPACE_KEY} is the space key
where {USER_NAME_OR_KEY} is the user name or the user key
Request format: JSON
Example request:
{ "newCreatorName": "johnb" }
Response format: JSON
Example response:
{ "total": 1, "contentsSkipped": [], "contentsChanged": [ 786506 ], "message": "success" }
{ "total": 5, "contentsSkipped": [], "contentsChanged": [ 786508, 786509, 786507, 786514, 786515 ], "message": "success" }
Change the creator of all content by id’s
Available only for Confluence Administrators
When sometimes a user leaves your company, you can change the content (pages / blogs) he has created to another user instead of an "unknown user"
Method type: PUT
URL: {CONFLUENCE_URL}/rest/extender/1.0/content/changeCreator/contentId
Request format: JSON
Example request:
{ "contentIds": [ 1111111, 2222222, 786506 ], "newCreatorName": "johnb" }
Response format: JSON
Example response:
{ "total": 1, "contentsSkipped": [ 1111111, 2222222 ], "contentsChanged": [ 786506 ], "message": "success" }