Endpoint Documentation
HTTP REST API
The REST API documentation describes the usage of the Download Feature to download configs directly from Confluence in your automated provisioning scripts with e.g. curl
or wget
. All Endpoints can only be accessed by an authenticated Confluence User that has the Page View Permission of the page the codebox is embedded in. Authentication can be done via Basic Auth and since Confluence 7.9 with Personal Access Tokens.
Download the codeblock or raw template
The Endpoint let's you download a specific codeblock as plain text.
GET /rest/advancedcodeblocks/1/download_code/plain_text
Note: API Changes since App version 3.4.0. Please read api changes below if you used a previous version of the app.
Request Parameter
key | A code to identify the actual codeblock of the codebox. It is the BASE64 encoded version of the section name. Use |
macroId | An unique ID generated by Confluence for the macro. |
pageId | The ID of the Confluence Page the macro is embedded in. |
asciiOnly | Optional. Set this to 'true' if you want to have all non-ASCII chars removed from the response body. This will retain ASCII and |
Request Example
Example 1: Basic AuthResponse Codes
200 | Download possible Response Body will contain the codeblock as plain text. |
401 | Unauthorized Not logged in to Confluence. (Please keep in mind that you will need to use a captcha once your authentication attemps fail to often) |
403 | Forbidden You do not have the view page permission right on the Confluence Page in which the macro is embedded. |
500 | Internal error Wrong URL-parameters, Confluence page does not exist any more or any other error. Confluence logs the exeption to the logfile. |
Response Body
Encoding | UTF-8 |
Content-Type | text/plain |
Response Body Example
<VirtualHost *:80>
DocumentRoot /var/www/server1
ServerName www.server1.com
</VirtualHost>
API Changes
DEPRECATED: GET /plugins/servlet/advanced-codeblock-macro-downloadcode NEW: GET /rest/advancedcodeblocks/1/download_code/plain_text Changed Request Parameters: pagepropertykey ==> key macroid ==> macroId pageid ==> pageId asciionly ==> asciiOnly
Download xml list
The Endpoint lists all download links for one specific codebox as XML.
GET /rest/advancedcodeblocks/1/download_list/xml
Note: API Changes since App version 3.4.0. Please read api changes below if you used a previous version of the app.
Request Parameter
macroId | An unique ID generated by Confluence for the macro. |
pageId | The ID of the Confluence Page the macro is embedded in. |
Request Example
Example 1: Basic AuthResponse Codes
200 | Download possible Response Body will contain the downloadlist as XML. <advancedCodeblockMacro>
<!-- See full example below -->
</advancedCodeblockMacro> |
401 | Unauthorized Not logged in to Confluence. (Please keep in mind that you will need to use a captcha once your authentication attemps fail to often) <advancedCodeblockMacro>
<error>401 UNAUTHORIZED</error>
<message>no logged in user found</message>
</advancedCodeblockMacro> |
403 | Forbidden You do not have the view page permission right on the Confluence Page in which the macro is embedded. <advancedCodeblockMacro>
<error>403 FORBIDDEN</error>
<message>no read permission on page with id 1234</message>
</advancedCodeblockMacro> |
500 | Internal error Wrong URL-parameters, Confluence page does not exist any more or any other error. Confluence logs the exeption to the logfile. <advancedCodeblockMacro>
<error>500 ERROR</error>
<message>Did you provide valid URL-Parameters?</message>
</advancedCodeblockMacro> |
Response Body
Encoding | UTF-8 |
Content-Type | application/xml |
Response Body Example
The first codeblock is for [testsystem 1]
The second codeblock is for [testsystem 2]
The third codeblock is for [raw]
<advancedCodeblockMacro>
<page>
<pageId>360457</pageId>
<pageName>Testpage</pageName>
<spaceKey>TEST</spaceKey>
<macroId>b77502b0-1dc4-4227-8c11-b03d9f581507</macroId>
</page>
<codeBlocks>
<codeBlock>
<key>dGVzdHN5c3RlbSAx</key>
<name>testsystem 1</name>
<download>http://localhost:8090/plugins/servlet/advanced-codeblock-macro-downloadcode?key=dGVzdHN5c3RlbSAx&pageId=360457&macroId=b77502b0-1dc4-4227-8c11-b03d9f581507</download>
</codeBlock>
<codeBlock>
<key>dGVzdHN5c3RlbSAy</key>
<name>testsystem 2</name>
<download>http://localhost:8090/plugins/servlet/advanced-codeblock-macro-downloadcode?key=dGVzdHN5c3RlbSAy&pageId=360457&macroId=b77502b0-1dc4-4227-8c11-b03d9f581507</download>
</codeBlock>
<codeBlock>
<key>cmF3</key>
<name>raw</name>
<download>http://localhost:8090/plugins/servlet/advanced-codeblock-macro-downloadcode?key=cmF3&pageId=360457&macroId=b77502b0-1dc4-4227-8c11-b03d9f581507</download>
</codeBlock>
</codeBlocks>
</advancedCodeblockMacro>
API Changes
DEPRECATED: GET /plugins/servlet/advanced-codeblock-macro-downloadlist NEW: GET /rest/advancedcodeblocks/1/download_list/xml Changed Request Parameters: macroid ==> macroId pageid ==> pageId
Download json list
The Endpoint lists all download links for one specific codebox as JSON.
GET /rest/advancedcodeblocks/1/download_list/json
Note: Introduced with App version 3.4.0. This Endpoint does not exist in previous versions.
Request Parameter
macroId | An unique ID generated by Confluence for the macro. |
pageId | The ID of the Confluence Page the macro is embedded in. |
Request Example
Example 1: Basic AuthResponse Codes
200 | Download possible Response Body will contain the downloadlist as JSON. {
"...": "See full example below"
} |
401 | Unauthorized Not logged in to Confluence. (Please keep in mind that you will need to use a captcha once your authentication attemps fail to often) {
"error": "401 UNAUTHORIZED",
"message": "no logged in user found"
} |
403 | Forbidden You do not have the view page permission right on the Confluence Page in which the macro is embedded. {
"error": "403 FORBIDDEN",
"message": "no read permission on page with id 1234"
} |
500 | Internal error Wrong URL-parameters, Confluence page does not exist any more or any other error. Confluence logs the exeption to the logfile. {
"error": "500 ERROR",
"message": "Did you provide valid URL-Parameters?"
} |
Response Body
Encoding | UTF-8 |
Content-Type | application/json |
Response Body Example
The first codeblock is for [testsystem 1]
The second codeblock is for [testsystem 2]
The third codeblock is for [raw]
{ "page": { "pageId": 360457, "pageName": "Testpage", "spaceKey": "TEST", "macroId": "b77502b0-1dc4-4227-8c11-b03d9f581507" }, "codeBlocks": [ { "key": "dGVzdHN5c3RlbSAx", "name": "testsystem 1", "download": "http://localhost:8090/rest/advancedcodeblocks/1/code?key=dGVzdHN5c3RlbSAx&pageId=360457¯oId=b77502b0-1dc4-4227-8c11-b03d9f581507" }, { "key": "dGVzdHN5c3RlbSAy", "name": "testsystem 2", "download": "http://localhost:8090/rest/advancedcodeblocks/1/code?key=dGVzdHN5c3RlbSAyb2p1aWh6dXRpb2ppODc2Z2hvacOkw7bDtmtsamo=&pageId=360457¯oId=b77502b0-1dc4-4227-8c11-b03d9f581507" }, { "key": "cmF3", "name": "raw", "download": "http://localhost:8090/rest/advancedcodeblocks/1/code?key=cmF3&pageId=360457¯oId=b77502b0-1dc4-4227-8c11-b03d9f581507" } ] }
API Changes
NEW: GET /rest/advancedcodeblocks/1/download_list/json