Back to Collection Items
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As New ChilkatHttp
Dim success As Long
Dim queryParams As New ChilkatJsonObject
success = queryParams.UpdateString("spaceKey","<string>")
success = queryParams.UpdateInt("start",0)
success = queryParams.UpdateInt("limit",25)
success = queryParams.UpdateString("expand","<string>")
success = queryParams.UpdateString("expand","<string>")
' Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"
Dim resp As ChilkatHttpResponse
Set resp = http.QuickRequestParams("GET","https://your-domain.atlassian.net/wiki/rest/api/template/blueprint",queryParams)
If (http.LastMethodSuccess = 0) Then
Debug.Print http.LastErrorText
Exit Sub
End If
Dim sbResponseBody As New ChilkatStringBuilder
success = resp.GetBodySb(sbResponseBody)
Dim jResp As New ChilkatJsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0
Debug.Print "Response Body:"
Debug.Print jResp.Emit()
Dim respStatusCode As Long
respStatusCode = resp.StatusCode
Debug.Print "Response Status Code = " & respStatusCode
If (respStatusCode >= 400) Then
Debug.Print "Response Header:"
Debug.Print resp.Header
Debug.Print "Failed."
Exit Sub
End If
' Sample JSON response:
' (Sample code for parsing the JSON response is shown below)
' {
' "results": [
' {
' "templateId": "velit aute fug",
' "originalTemplate": {
' "pluginKey": "id adipisicing ex ea amet",
' "moduleKey": "elit occaecat exercitation"
' },
' "referencingBlueprint": "fug",
' "name": "do sit esse officia dolore",
' "description": "commodo et eu",
' "labels": [
' {
' "prefix": "nisi cupidatat in proident",
' "name": "deserunt magna ut eu",
' "id": "dolor in",
' "label": "nostrud culpa enim"
' },
' {
' "prefix": "sint qui labore",
' "name": "Ut qui exercitation dolore",
' "id": "non dolor aute",
' "label": "dolor quis magna ex"
' }
' ],
' "templateType": "officia",
' "_expandable": {
' "body": "pariatur Ut deserunt"
' },
' "_links": {},
' "body": {
' "value": "nulla aliqua culpa anim sunt",
' "representation": "anonymous_export_view",
' "_expandable": {
' "content": "ut est pariatur"
' },
' "embeddedContent": [
' {
' "entityId": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "entity": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' {
' "entityId": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "entity": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' }
' ],
' "webresource": {
' "keys": [
' {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' ],
' "contexts": [
' {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' ],
' "uris": {
' "all": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "css": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "js": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' "tags": {
' "all": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "css": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "data": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "js": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' "superbatch": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' }
' }
' },
' {
' "templateId": "voluptate mollit in",
' "originalTemplate": {
' "pluginKey": "Excepteur laborum",
' "moduleKey": "ea nulla"
' },
' "referencingBlueprint": "ipsum magna velit adipisicing est",
' "name": "in velit pariatur",
' "description": "ipsum qui et",
' "labels": [
' {
' "prefix": "incididunt non laborum sit",
' "name": "id tempor",
' "id": "mollit",
' "label": "deserunt exercitation tempor nulla"
' },
' {
' "prefix": "nostrud dolor",
' "name": "eiusmod in ad",
' "id": "cupidatat labore in",
' "label": "do deserunt amet"
' }
' ],
' "templateType": "aute",
' "_expandable": {
' "body": "labore deserunt"
' },
' "_links": {},
' "body": {
' "value": "aute qui",
' "representation": "editor2",
' "_expandable": {
' "content": "occaecat ea voluptate nostrud"
' },
' "embeddedContent": [
' {
' "entityId": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "entity": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' {
' "entityId": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "entity": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' }
' ],
' "webresource": {
' "keys": [
' {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' ],
' "contexts": [
' {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' ],
' "uris": {
' "all": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "css": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "js": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' "tags": {
' "all": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "css": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "data": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' },
' "js": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' "superbatch": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' }
' }
' }
' ],
' "start": -43882824,
' "limit": 59508609,
' "size": -8662482,
' "_links": {}
' }
' Sample code for parsing the JSON response...
' Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Dim templateId As String
Dim PluginKey As String
Dim ModuleKey As String
Dim referencingBlueprint As String
Dim name As String
Dim description As String
Dim templateType As String
Dim Body As String
Dim Value As String
Dim Representation As String
Dim Content As String
Dim AllValue As String
Dim CssValue As String
Dim JsValue As String
Dim DataValue As String
Dim SuperbatchValue As String
Dim j As Long
Dim count_j As Long
Dim prefix As String
Dim id As String
Dim label As String
Dim entityIdValue As String
Dim entityValue As String
Dim value As String
Dim start As Long
start = jResp.IntOf("start")
Dim limit As Long
limit = jResp.IntOf("limit")
Dim size As Long
size = jResp.IntOf("size")
Dim i As Long
i = 0
Dim count_i As Long
count_i = jResp.SizeOfArray("results")
Do While i < count_i
jResp.I = i
templateId = jResp.StringOf("results[i].templateId")
PluginKey = jResp.StringOf("results[i].originalTemplate.pluginKey")
ModuleKey = jResp.StringOf("results[i].originalTemplate.moduleKey")
referencingBlueprint = jResp.StringOf("results[i].referencingBlueprint")
name = jResp.StringOf("results[i].name")
description = jResp.StringOf("results[i].description")
templateType = jResp.StringOf("results[i].templateType")
Body = jResp.StringOf("results[i]._expandable.body")
Value = jResp.StringOf("results[i].body.value")
Representation = jResp.StringOf("results[i].body.representation")
Content = jResp.StringOf("results[i].body._expandable.content")
AllValue = jResp.StringOf("results[i].body.webresource.uris.all.value")
CssValue = jResp.StringOf("results[i].body.webresource.uris.css.value")
JsValue = jResp.StringOf("results[i].body.webresource.uris.js.value")
AllValue = jResp.StringOf("results[i].body.webresource.tags.all.value")
CssValue = jResp.StringOf("results[i].body.webresource.tags.css.value")
DataValue = jResp.StringOf("results[i].body.webresource.tags.data.value")
JsValue = jResp.StringOf("results[i].body.webresource.tags.js.value")
SuperbatchValue = jResp.StringOf("results[i].body.webresource.superbatch.value")
j = 0
count_j = jResp.SizeOfArray("results[i].labels")
Do While j < count_j
jResp.J = j
prefix = jResp.StringOf("results[i].labels[j].prefix")
name = jResp.StringOf("results[i].labels[j].name")
id = jResp.StringOf("results[i].labels[j].id")
label = jResp.StringOf("results[i].labels[j].label")
j = j + 1
Loop
j = 0
count_j = jResp.SizeOfArray("results[i].body.embeddedContent")
Do While j < count_j
jResp.J = j
entityIdValue = jResp.StringOf("results[i].body.embeddedContent[j].entityId.value")
entityValue = jResp.StringOf("results[i].body.embeddedContent[j].entity.value")
j = j + 1
Loop
j = 0
count_j = jResp.SizeOfArray("results[i].body.webresource.keys")
Do While j < count_j
jResp.J = j
value = jResp.StringOf("results[i].body.webresource.keys[j].value")
j = j + 1
Loop
j = 0
count_j = jResp.SizeOfArray("results[i].body.webresource.contexts")
Do While j < count_j
jResp.J = j
value = jResp.StringOf("results[i].body.webresource.contexts[j].value")
j = j + 1
Loop
i = i + 1
Loop
Curl Command
curl -G -d "spaceKey=%3Cstring%3E"
-d "start=0"
-d "limit=25"
-d "expand=%3Cstring%3E"
-d "expand=%3Cstring%3E"
-H "Authorization: Bearer <access_token>"
https://your-domain.atlassian.net/wiki/rest/api/template/blueprint
Postman Collection Item JSON
{
"name": "Get blueprint templates",
"request": {
"auth": {
"type": "oauth2"
},
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/template/blueprint?spaceKey=<string>&start=0&limit=25&expand=<string>&expand=<string>",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"template",
"blueprint"
],
"query": [
{
"key": "spaceKey",
"value": "<string>",
"description": "The key of the space to be queried for templates. If the `spaceKey`\nis not specified, global blueprint templates will be returned."
},
{
"key": "start",
"value": "0",
"description": "The starting index of the returned templates."
},
{
"key": "limit",
"value": "25",
"description": "The maximum number of templates to return per page.\nNote, this may be restricted by fixed system limits."
},
{
"key": "expand",
"value": "<string>",
"description": "A multi-value parameter indicating which properties of the template\nto expand.\n\n- `body` returns the content of the template in storage format."
},
{
"key": "expand",
"value": "<string>",
"description": "A multi-value parameter indicating which properties of the template\nto expand.\n\n- `body` returns the content of the template in storage format."
}
]
},
"description": "Returns all templates provided by blueprints. Use this method to retrieve\nall global blueprint templates or all blueprint templates in a space.\n\nNote, all global blueprints are inherited by each space. Space blueprints\ncan be customised without affecting the global blueprints.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission)."
},
"response": [
{
"name": "Returned if the requested templates are returned.",
"originalRequest": {
"method": "GET",
"header": [
{
"description": {
"content": "Added as a part of security scheme: oauth2",
"type": "text/plain"
},
"key": "Authorization",
"value": "<token>"
}
],
"url": {
"raw": "{{baseUrl}}/api/template/blueprint?spaceKey=<string>&start=0&limit=25&expand=<string>&expand=<string>",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"template",
"blueprint"
],
"query": [
{
"key": "spaceKey",
"value": "<string>"
},
{
"key": "start",
"value": "0"
},
{
"key": "limit",
"value": "25"
},
{
"key": "expand",
"value": "<string>"
},
{
"key": "expand",
"value": "<string>"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"results\": [\n {\n \"templateId\": \"velit aute fug\",\n \"originalTemplate\": {\n \"pluginKey\": \"id adipisicing ex ea amet\",\n \"moduleKey\": \"elit occaecat exercitation\"\n },\n \"referencingBlueprint\": \"fug\",\n \"name\": \"do sit esse officia dolore\",\n \"description\": \"commodo et eu\",\n \"labels\": [\n {\n \"prefix\": \"nisi cupidatat in proident\",\n \"name\": \"deserunt magna ut eu\",\n \"id\": \"dolor in\",\n \"label\": \"nostrud culpa enim\"\n },\n {\n \"prefix\": \"sint qui labore\",\n \"name\": \"Ut qui exercitation dolore\",\n \"id\": \"non dolor aute\",\n \"label\": \"dolor quis magna ex\"\n }\n ],\n \"templateType\": \"officia\",\n \"_expandable\": {\n \"body\": \"pariatur Ut deserunt\"\n },\n \"_links\": {},\n \"body\": {\n \"value\": \"nulla aliqua culpa anim sunt\",\n \"representation\": \"anonymous_export_view\",\n \"_expandable\": {\n \"content\": \"ut est pariatur\"\n },\n \"embeddedContent\": [\n {\n \"entityId\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"entity\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n {\n \"entityId\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"entity\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n ],\n \"webresource\": {\n \"keys\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"contexts\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"uris\": {\n \"all\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"css\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"js\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"tags\": {\n \"all\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"css\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"data\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"js\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"superbatch\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n }\n },\n {\n \"templateId\": \"voluptate mollit in\",\n \"originalTemplate\": {\n \"pluginKey\": \"Excepteur laborum\",\n \"moduleKey\": \"ea nulla\"\n },\n \"referencingBlueprint\": \"ipsum magna velit adipisicing est\",\n \"name\": \"in velit pariatur\",\n \"description\": \"ipsum qui et\",\n \"labels\": [\n {\n \"prefix\": \"incididunt non laborum sit\",\n \"name\": \"id tempor\",\n \"id\": \"mollit\",\n \"label\": \"deserunt exercitation tempor nulla\"\n },\n {\n \"prefix\": \"nostrud dolor\",\n \"name\": \"eiusmod in ad\",\n \"id\": \"cupidatat labore in\",\n \"label\": \"do deserunt amet\"\n }\n ],\n \"templateType\": \"aute\",\n \"_expandable\": {\n \"body\": \"labore deserunt\"\n },\n \"_links\": {},\n \"body\": {\n \"value\": \"aute qui\",\n \"representation\": \"editor2\",\n \"_expandable\": {\n \"content\": \"occaecat ea voluptate nostrud\"\n },\n \"embeddedContent\": [\n {\n \"entityId\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"entity\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n {\n \"entityId\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"entity\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n ],\n \"webresource\": {\n \"keys\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"contexts\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"uris\": {\n \"all\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"css\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"js\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"tags\": {\n \"all\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"css\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"data\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"js\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"superbatch\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n }\n }\n ],\n \"start\": -43882824,\n \"limit\": 59508609,\n \"size\": -8662482,\n \"_links\": {}\n}"
},
{
"name": "Returned if the calling user does not have permission to view\nblueprint templates.",
"originalRequest": {
"method": "GET",
"header": [
{
"description": {
"content": "Added as a part of security scheme: oauth2",
"type": "text/plain"
},
"key": "Authorization",
"value": "<token>"
}
],
"url": {
"raw": "{{baseUrl}}/api/template/blueprint?spaceKey=<string>&start=0&limit=25&expand=<string>&expand=<string>",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"template",
"blueprint"
],
"query": [
{
"key": "spaceKey",
"value": "<string>"
},
{
"key": "start",
"value": "0"
},
{
"key": "limit",
"value": "25"
},
{
"key": "expand",
"value": "<string>"
},
{
"key": "expand",
"value": "<string>"
}
]
}
},
"status": "Forbidden",
"code": 403,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
}
]
}