Chilkat Online Tools

VB.NET / Atlassian Confluence Cloud / Create 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

' Use this online tool to generate code from sample JSON: Generate Code to Create JSON

' The following JSON is sent in the request body.

' {
'   "key": "<string>",
'   "value": "<object>"
' }

Dim json As New Chilkat.JsonObject
json.UpdateString("key","<string>")
json.UpdateString("value","<object>")

' Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"
http.SetRequestHeader("Content-Type","application/json")

Dim resp As Chilkat.HttpResponse = http.PostJson3("https://your-domain.atlassian.net/wiki/rest/api/space/:spaceKey/property","application/json",json)
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 -X POST
	-H "Authorization: Bearer <access_token>"
	-H "Content-Type: application/json"
	-d '{
    "key": "<string>",
    "value": "<object>"
}'
https://your-domain.atlassian.net/wiki/rest/api/space/:spaceKey/property

Postman Collection Item JSON

{
  "name": "Create space property",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "POST",
    "header": [
      {
        "key": "Content-Type",
        "value": "application/json"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n    \"key\": \"<string>\",\n    \"value\": \"<object>\"\n}"
    },
    "url": {
      "raw": "{{baseUrl}}/api/space/:spaceKey/property",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "space",
        ":spaceKey",
        "property"
      ],
      "variable": [
        {
          "key": "spaceKey",
          "value": "<string>",
          "type": "string",
          "description": "(Required) The key of the space that the property will be created in."
        }
      ]
    },
    "description": "Creates a new space property.\n\n**[Permissions required](https://confluence.atlassian.com/x/_AozKw)**:\n‘Admin’ permission for the space."
  },
  "response": [
    {
      "name": "Returned if the space property is created.",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"key\": \"<string>\",\n    \"value\": \"<object>\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/api/space/:spaceKey/property",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "space",
            ":spaceKey",
            "property"
          ],
          "variable": [
            {
              "key": "spaceKey"
            }
          ]
        }
      },
      "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- The space already has a value with the given key.\n- No property value was provided.",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"key\": \"<string>\",\n    \"value\": \"<object>\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/api/space/:spaceKey/property",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "space",
            ":spaceKey",
            "property"
          ],
          "variable": [
            {
              "key": "spaceKey"
            }
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    },
    {
      "name": "Returned if the user does not have 'Admin' permission for the space.",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"key\": \"<string>\",\n    \"value\": \"<object>\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/api/space/:spaceKey/property",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "space",
            ":spaceKey",
            "property"
          ],
          "variable": [
            {
              "key": "spaceKey"
            }
          ]
        }
      },
      "status": "Forbidden",
      "code": 403,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    },
    {
      "name": "Returned if the value for the property is too long.",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"key\": \"<string>\",\n    \"value\": \"<object>\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/api/space/:spaceKey/property",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "space",
            ":spaceKey",
            "property"
          ],
          "variable": [
            {
              "key": "spaceKey"
            }
          ]
        }
      },
      "status": "Request Entity Too Large",
      "code": 413,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    }
  ]
}