Chilkat Online Tools

VB.NET / Atlassian Confluence Cloud / Get space property

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 Chilkat.Http
Dim success As Boolean

Dim queryParams As New Chilkat.JsonObject
queryParams.UpdateString("expand","<string>")
queryParams.UpdateString("expand","<string>")

' Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"


Dim resp As Chilkat.HttpResponse = http.QuickRequestParams("GET","https://your-domain.atlassian.net/wiki/rest/api/space/:spaceKey/property/:key",queryParams)
If (http.LastMethodSuccess = False) Then
    Debug.WriteLine(http.LastErrorText)
    Exit Sub
End If


Dim sbResponseBody As New Chilkat.StringBuilder
resp.GetBodySb(sbResponseBody)

Dim jResp As New Chilkat.JsonObject
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Debug.WriteLine("Response Body:")
Debug.WriteLine(jResp.Emit())

Dim respStatusCode As Integer = resp.StatusCode
Debug.WriteLine("Response Status Code = " & respStatusCode)
If (respStatusCode >= 400) Then
    Debug.WriteLine("Response Header:")
    Debug.WriteLine(resp.Header)
    Debug.WriteLine("Failed.")

    Exit Sub
End If



' Sample JSON response:
' (Sample code for parsing the JSON response is shown below)

' {
'   "id": -13429300,
'   "key": "ut veniam dolor",
'   "value": {},
'   "_expandable": {
'     "version": "cillum officia ipsum ut",
'     "space": "in Lorem consectetur"
'   },
'   "version": {
'     "when": "1951-11-29T18:04:27.736Z",
'     "message": "dolore magna nisi incididunt",
'     "number": -49820236,
'     "minorEdit": true
'   },
'   "space": {
'     "id": -20471082,
'     "key": "in pr",
'     "name": "culpa dolor si",
'     "type": "irure dolor ea aliquip",
'     "status": "sed ex",
'     "_expandable": {
'       "settings": "exercitation ea nisi Lorem",
'       "metadata": "elit",
'       "operations": "Lorem consequat aliquip",
'       "lookAndFeel": "non occaecat nisi dolor",
'       "permissions": "pariatur cupidatat dolor sed dolor",
'       "icon": "aliquip",
'       "description": "in",
'       "theme": "qui",
'       "history": "et fugiat culpa irure amet",
'       "homepage": "commodo ut amet aute sint"
'     },
'     "_links": {},
'     "icon": {
'       "path": "laborum velit dolore",
'       "width": -4680192,
'       "height": 21898365,
'       "isDefault": false
'     },
'     "description": {
'       "plain": {
'         "value": "sit deserunt",
'         "representation": "plain",
'         "embeddedContent": [
'           {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           }
'         ]
'       },
'       "view": {
'         "value": "commodo dolore do",
'         "representation": "plain",
'         "embeddedContent": [
'           {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           }
'         ]
'       }
'     },
'     "homepage": {
'       "value": "<Circular reference to #/components/schemas/Content detected>"
'     },
'     "metadata": {
'       "labels": {
'         "results": [
'           {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           }
'         ],
'         "start": 4373903,
'         "limit": -70310049,
'         "size": -89717135,
'         "_links": {}
'       }
'     },
'     "operations": [
'       {
'         "operation": "update",
'         "targetType": "space"
'       },
'       {
'         "operation": "update",
'         "targetType": "attachment"
'       }
'     ],
'     "permissions": [
'       {
'         "subjects": {
'           "_expandable": {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           "user": {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           "group": {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           }
'         },
'         "operation": {
'           "operation": "restore",
'           "targetType": "comment"
'         },
'         "anonymousAccess": false,
'         "unlicensedAccess": false
'       },
'       {
'         "subjects": {
'           "_expandable": {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           "user": {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           "group": {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           }
'         },
'         "operation": {
'           "operation": "export",
'           "targetType": "attachment"
'         },
'         "anonymousAccess": false,
'         "unlicensedAccess": false
'       }
'     ],
'     "settings": {
'       "routeOverrideEnabled": false,
'       "_links": {}
'     },
'     "theme": {},
'     "lookAndFeel": {
'       "headings": {
'         "color": "<string>"
'       },
'       "links": {
'         "color": "<string>"
'       },
'       "menus": {
'         "hoverOrFocus": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "color": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         }
'       },
'       "header": {
'         "backgroundColor": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "button": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "primaryNavigation": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "secondaryNavigation": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "search": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         }
'       },
'       "content": {
'         "screen": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "container": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "header": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "body": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         }
'       },
'       "bordersAndDividers": {
'         "color": "<string>"
'       }
'     },
'     "history": {
'       "createdDate": "1978-05-15T09:31:11.737Z"
'     }
'   }
' }

' Sample code for parsing the JSON response...
' Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code



Dim value As String
Dim operation As String
Dim targetType As String
Dim v_expandableValue As String
Dim UserValue As String
Dim GroupValue As String
Dim Operation As String
Dim TargetType As String
Dim anonymousAccess As Boolean
Dim unlicensedAccess As Boolean

Dim id As Integer = jResp.IntOf("id")
Dim key As String = jResp.StringOf("key")
Dim Version As String = jResp.StringOf("_expandable.version")
Dim Space As String = jResp.StringOf("_expandable.space")
Dim When As String = jResp.StringOf("version.when")
Dim Message As String = jResp.StringOf("version.message")
Dim v_Number As Integer = jResp.IntOf("version.number")
Dim MinorEdit As Boolean = jResp.BoolOf("version.minorEdit")
Dim Id As Integer = jResp.IntOf("space.id")
Dim Key As String = jResp.StringOf("space.key")
Dim Name As String = jResp.StringOf("space.name")
Dim v_Type As String = jResp.StringOf("space.type")
Dim Status As String = jResp.StringOf("space.status")
Dim Settings As String = jResp.StringOf("space._expandable.settings")
Dim Metadata As String = jResp.StringOf("space._expandable.metadata")
Dim Operations As String = jResp.StringOf("space._expandable.operations")
Dim LookAndFeel As String = jResp.StringOf("space._expandable.lookAndFeel")
Dim Permissions As String = jResp.StringOf("space._expandable.permissions")
Dim Icon As String = jResp.StringOf("space._expandable.icon")
Dim Description As String = jResp.StringOf("space._expandable.description")
Dim Theme As String = jResp.StringOf("space._expandable.theme")
Dim History As String = jResp.StringOf("space._expandable.history")
Dim Homepage As String = jResp.StringOf("space._expandable.homepage")
Dim Path As String = jResp.StringOf("space.icon.path")
Dim Width As Integer = jResp.IntOf("space.icon.width")
Dim Height As Integer = jResp.IntOf("space.icon.height")
Dim IsDefault As Boolean = jResp.BoolOf("space.icon.isDefault")
Dim Value As String = jResp.StringOf("space.description.plain.value")
Dim Representation As String = jResp.StringOf("space.description.plain.representation")
Dim ViewValue As String = jResp.StringOf("space.description.view.value")
Dim ViewRepresentation As String = jResp.StringOf("space.description.view.representation")
Dim HomepageValue As String = jResp.StringOf("space.homepage.value")
Dim Start As Integer = jResp.IntOf("space.metadata.labels.start")
Dim Limit As Integer = jResp.IntOf("space.metadata.labels.limit")
Dim Size As Integer = jResp.IntOf("space.metadata.labels.size")
Dim RouteOverrideEnabled As Boolean = jResp.BoolOf("space.settings.routeOverrideEnabled")
Dim Color As String = jResp.StringOf("space.lookAndFeel.headings.color")
Dim LinksColor As String = jResp.StringOf("space.lookAndFeel.links.color")
Dim HoverOrFocusValue As String = jResp.StringOf("space.lookAndFeel.menus.hoverOrFocus.value")
Dim ColorValue As String = jResp.StringOf("space.lookAndFeel.menus.color.value")
Dim BackgroundColorValue As String = jResp.StringOf("space.lookAndFeel.header.backgroundColor.value")
Dim ButtonValue As String = jResp.StringOf("space.lookAndFeel.header.button.value")
Dim PrimaryNavigationValue As String = jResp.StringOf("space.lookAndFeel.header.primaryNavigation.value")
Dim SecondaryNavigationValue As String = jResp.StringOf("space.lookAndFeel.header.secondaryNavigation.value")
Dim SearchValue As String = jResp.StringOf("space.lookAndFeel.header.search.value")
Dim ScreenValue As String = jResp.StringOf("space.lookAndFeel.content.screen.value")
Dim ContainerValue As String = jResp.StringOf("space.lookAndFeel.content.container.value")
Dim HeaderValue As String = jResp.StringOf("space.lookAndFeel.content.header.value")
Dim BodyValue As String = jResp.StringOf("space.lookAndFeel.content.body.value")
Dim BordersAndDividersColor As String = jResp.StringOf("space.lookAndFeel.bordersAndDividers.color")
Dim CreatedDate As String = jResp.StringOf("space.history.createdDate")
Dim i As Integer = 0
Dim count_i As Integer = jResp.SizeOfArray("space.description.plain.embeddedContent")
While i < count_i
    jResp.I = i
    value = jResp.StringOf("space.description.plain.embeddedContent[i].value")
    i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("space.description.view.embeddedContent")
While i < count_i
    jResp.I = i
    value = jResp.StringOf("space.description.view.embeddedContent[i].value")
    i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("space.metadata.labels.results")
While i < count_i
    jResp.I = i
    value = jResp.StringOf("space.metadata.labels.results[i].value")
    i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("space.operations")
While i < count_i
    jResp.I = i
    operation = jResp.StringOf("space.operations[i].operation")
    targetType = jResp.StringOf("space.operations[i].targetType")
    i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("space.permissions")
While i < count_i
    jResp.I = i
    v_expandableValue = jResp.StringOf("space.permissions[i].subjects._expandable.value")
    UserValue = jResp.StringOf("space.permissions[i].subjects.user.value")
    GroupValue = jResp.StringOf("space.permissions[i].subjects.group.value")
    Operation = jResp.StringOf("space.permissions[i].operation.operation")
    TargetType = jResp.StringOf("space.permissions[i].operation.targetType")
    anonymousAccess = jResp.BoolOf("space.permissions[i].anonymousAccess")
    unlicensedAccess = jResp.BoolOf("space.permissions[i].unlicensedAccess")
    i = i + 1
End While

Curl Command

curl -G -d "expand=%3Cstring%3E"
	-d "expand=%3Cstring%3E"
	-H "Authorization: Bearer <access_token>"
https://your-domain.atlassian.net/wiki/rest/api/space/:spaceKey/property/:key

Postman Collection Item JSON

{
  "name": "Get space property",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/api/space/:spaceKey/property/:key?expand=<string>&expand=<string>",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "space",
        ":spaceKey",
        "property",
        ":key"
      ],
      "query": [
        {
          "key": "expand",
          "value": "<string>",
          "description": "A multi-value parameter indicating which properties of the space\nproperty to expand. By default, the `version` object is expanded.\n\n- `version` returns information about the version of the content.\n- `space` returns the space that the properties are in."
        },
        {
          "key": "expand",
          "value": "<string>",
          "description": "A multi-value parameter indicating which properties of the space\nproperty to expand. By default, the `version` object is expanded.\n\n- `version` returns information about the version of the content.\n- `space` returns the space that the properties are in."
        }
      ],
      "variable": [
        {
          "key": "spaceKey",
          "value": "<string>",
          "type": "string",
          "description": "(Required) The key of the space that the property is in."
        },
        {
          "key": "key",
          "value": "<string>",
          "type": "string",
          "description": "(Required) The key of the space property."
        }
      ]
    },
    "description": "Returns a space property.\n\n**[Permissions required](https://confluence.atlassian.com/x/_AozKw)**: ‘View’ permission for the space."
  },
  "response": [
    {
      "name": "Returned if the requested space property is 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/space/:spaceKey/property/:key?expand=<string>&expand=<string>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "space",
            ":spaceKey",
            "property",
            ":key"
          ],
          "query": [
            {
              "key": "expand",
              "value": "<string>"
            },
            {
              "key": "expand",
              "value": "<string>"
            }
          ],
          "variable": [
            {
              "key": "spaceKey"
            },
            {
              "key": "key"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"id\": -13429300,\n \"key\": \"ut veniam dolor\",\n \"value\": {},\n \"_expandable\": {\n  \"version\": \"cillum officia ipsum ut\",\n  \"space\": \"in Lorem consectetur\"\n },\n \"version\": {\n  \"when\": \"1951-11-29T18:04:27.736Z\",\n  \"message\": \"dolore magna nisi incididunt\",\n  \"number\": -49820236,\n  \"minorEdit\": true\n },\n \"space\": {\n  \"id\": -20471082,\n  \"key\": \"in pr\",\n  \"name\": \"culpa dolor si\",\n  \"type\": \"irure dolor ea aliquip\",\n  \"status\": \"sed ex\",\n  \"_expandable\": {\n   \"settings\": \"exercitation ea nisi Lorem\",\n   \"metadata\": \"elit\",\n   \"operations\": \"Lorem consequat aliquip\",\n   \"lookAndFeel\": \"non occaecat nisi dolor\",\n   \"permissions\": \"pariatur cupidatat dolor sed dolor\",\n   \"icon\": \"aliquip\",\n   \"description\": \"in\",\n   \"theme\": \"qui\",\n   \"history\": \"et fugiat culpa irure amet\",\n   \"homepage\": \"commodo ut amet aute sint\"\n  },\n  \"_links\": {},\n  \"icon\": {\n   \"path\": \"laborum velit dolore\",\n   \"width\": -4680192,\n   \"height\": 21898365,\n   \"isDefault\": false\n  },\n  \"description\": {\n   \"plain\": {\n    \"value\": \"sit deserunt\",\n    \"representation\": \"plain\",\n    \"embeddedContent\": [\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   },\n   \"view\": {\n    \"value\": \"commodo dolore do\",\n    \"representation\": \"plain\",\n    \"embeddedContent\": [\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   }\n  },\n  \"homepage\": {\n   \"value\": \"<Circular reference to #/components/schemas/Content detected>\"\n  },\n  \"metadata\": {\n   \"labels\": {\n    \"results\": [\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    \"start\": 4373903,\n    \"limit\": -70310049,\n    \"size\": -89717135,\n    \"_links\": {}\n   }\n  },\n  \"operations\": [\n   {\n    \"operation\": \"update\",\n    \"targetType\": \"space\"\n   },\n   {\n    \"operation\": \"update\",\n    \"targetType\": \"attachment\"\n   }\n  ],\n  \"permissions\": [\n   {\n    \"subjects\": {\n     \"_expandable\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     },\n     \"user\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     },\n     \"group\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     }\n    },\n    \"operation\": {\n     \"operation\": \"restore\",\n     \"targetType\": \"comment\"\n    },\n    \"anonymousAccess\": false,\n    \"unlicensedAccess\": false\n   },\n   {\n    \"subjects\": {\n     \"_expandable\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     },\n     \"user\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     },\n     \"group\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     }\n    },\n    \"operation\": {\n     \"operation\": \"export\",\n     \"targetType\": \"attachment\"\n    },\n    \"anonymousAccess\": false,\n    \"unlicensedAccess\": false\n   }\n  ],\n  \"settings\": {\n   \"routeOverrideEnabled\": false,\n   \"_links\": {}\n  },\n  \"theme\": {},\n  \"lookAndFeel\": {\n   \"headings\": {\n    \"color\": \"<string>\"\n   },\n   \"links\": {\n    \"color\": \"<string>\"\n   },\n   \"menus\": {\n    \"hoverOrFocus\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"color\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    }\n   },\n   \"header\": {\n    \"backgroundColor\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"button\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"primaryNavigation\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"secondaryNavigation\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"search\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    }\n   },\n   \"content\": {\n    \"screen\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"container\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"header\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"body\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    }\n   },\n   \"bordersAndDividers\": {\n    \"color\": \"<string>\"\n   }\n  },\n  \"history\": {\n   \"createdDate\": \"1978-05-15T09:31:11.737Z\"\n  }\n }\n}"
    },
    {
      "name": "Returned if any of the following is true:\n\n- There is no space with the given key.\n- There is no property with the given key.\n- The calling user does not have permission to view the space.",
      "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/space/:spaceKey/property/:key?expand=<string>&expand=<string>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "space",
            ":spaceKey",
            "property",
            ":key"
          ],
          "query": [
            {
              "key": "expand",
              "value": "<string>"
            },
            {
              "key": "expand",
              "value": "<string>"
            }
          ],
          "variable": [
            {
              "key": "spaceKey"
            },
            {
              "key": "key"
            }
          ]
        }
      },
      "status": "Not Found",
      "code": 404,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    }
  ]
}