Chilkat Online Tools

VB.NET / Atlassian Confluence Cloud / Create relationship

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

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

Dim resp As Chilkat.HttpResponse = http.QuickRequest("PUT","https://your-domain.atlassian.net/wiki/rest/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>")
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)

' {
'   "name": "laborum amet",
'   "_expandable": {
'     "relationData": "minim do quis",
'     "source": "quis velit dolore ut",
'     "target": "sint fugiat id repreh"
'   },
'   "_links": {},
'   "relationData": {
'     "createdBy": {
'       "type": "known",
'       "accountId": "est veniam nisi",
'       "accountType": "atlassian",
'       "email": "fugiat tempor est",
'       "publicName": "proident cillum adipisicing",
'       "profilePicture": {
'         "path": "incididunt dolore sit in eu",
'         "width": 66665902,
'         "height": 7198703,
'         "isDefault": false
'       },
'       "displayName": "mollit ex pariatur dolor",
'       "_expandable": {
'         "operations": "adipisicing in",
'         "details": "id minim sed",
'         "personalSpace": "Ut"
'       },
'       "_links": {},
'       "username": "proident ut incididunt consequat",
'       "userKey": "ipsum consequat sed ullamco aliquip",
'       "operations": [
'         {
'           "operation": "copy",
'           "targetType": "space"
'         },
'         {
'           "operation": "purge_version",
'           "targetType": "space"
'         }
'       ],
'       "details": {
'         "business": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "personal": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         }
'       },
'       "personalSpace": {
'         "id": 32251017,
'         "key": "Excepteur do",
'         "name": "est velit non",
'         "type": "deserunt occaecat",
'         "status": "in commodo incididunt non",
'         "_expandable": {
'           "settings": "ut cillum quis in",
'           "metadata": "dolore minim",
'           "operations": "anim commodo amet",
'           "lookAndFeel": "dolore Lorem",
'           "permissions": "dolore anim",
'           "icon": "deserunt ex occaecat amet",
'           "description": "cillum nostrud sint",
'           "theme": "dolor id",
'           "history": "in fugiat eu esse",
'           "homepage": "et"
'         },
'         "_links": {},
'         "icon": {
'           "path": "laboris eiusmod Excepteur eu",
'           "width": -89581460,
'           "height": -66835718,
'           "isDefault": true
'         },
'         "description": {
'           "plain": {
'             "value": "ut eu reprehenderit",
'             "representation": "view",
'             "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": "reprehenderit",
'             "representation": "view",
'             "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": 83305188,
'             "limit": 81363289,
'             "size": -91970205,
'             "_links": {}
'           }
'         },
'         "operations": [
'           {
'             "operation": "purge",
'             "targetType": "comment"
'           },
'           {
'             "operation": "use",
'             "targetType": "blogpost"
'           }
'         ],
'         "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": "purge_version",
'               "targetType": "page"
'             },
'             "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": "administer",
'               "targetType": "blogpost"
'             },
'             "anonymousAccess": false,
'             "unlicensedAccess": false
'           }
'         ],
'         "settings": {
'           "routeOverrideEnabled": true,
'           "_links": {}
'         },
'         "theme": {},
'         "lookAndFeel": {
'           "headings": {
'             "color": "fugiat irure nostrud"
'           },
'           "links": {
'             "color": "ad velit"
'           },
'           "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": "do in laborum"
'           }
'         },
'         "history": {
'           "createdDate": "1968-05-01T03:07:38.118Z"
'         }
'       }
'     },
'     "createdDate": "1955-09-27T16:15:59.770Z",
'     "friendlyCreatedDate": "reprehenderit quis"
'   },
'   "source": {},
'   "target": {}
' }

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



Dim operation As String
Dim targetType As String
Dim value 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 name As String = jResp.StringOf("name")
Dim RelationData As String = jResp.StringOf("_expandable.relationData")
Dim Source As String = jResp.StringOf("_expandable.source")
Dim Target As String = jResp.StringOf("_expandable.target")
Dim v_Type As String = jResp.StringOf("relationData.createdBy.type")
Dim AccountId As String = jResp.StringOf("relationData.createdBy.accountId")
Dim AccountType As String = jResp.StringOf("relationData.createdBy.accountType")
Dim v_Email As String = jResp.StringOf("relationData.createdBy.email")
Dim PublicName As String = jResp.StringOf("relationData.createdBy.publicName")
Dim Path As String = jResp.StringOf("relationData.createdBy.profilePicture.path")
Dim Width As Integer = jResp.IntOf("relationData.createdBy.profilePicture.width")
Dim Height As Integer = jResp.IntOf("relationData.createdBy.profilePicture.height")
Dim IsDefault As Boolean = jResp.BoolOf("relationData.createdBy.profilePicture.isDefault")
Dim DisplayName As String = jResp.StringOf("relationData.createdBy.displayName")
Dim Operations As String = jResp.StringOf("relationData.createdBy._expandable.operations")
Dim Details As String = jResp.StringOf("relationData.createdBy._expandable.details")
Dim PersonalSpace As String = jResp.StringOf("relationData.createdBy._expandable.personalSpace")
Dim Username As String = jResp.StringOf("relationData.createdBy.username")
Dim UserKey As String = jResp.StringOf("relationData.createdBy.userKey")
Dim Value As String = jResp.StringOf("relationData.createdBy.details.business.value")
Dim PersonalValue As String = jResp.StringOf("relationData.createdBy.details.personal.value")
Dim Id As Integer = jResp.IntOf("relationData.createdBy.personalSpace.id")
Dim Key As String = jResp.StringOf("relationData.createdBy.personalSpace.key")
Dim Name As String = jResp.StringOf("relationData.createdBy.personalSpace.name")
Dim PersonalSpaceType As String = jResp.StringOf("relationData.createdBy.personalSpace.type")
Dim Status As String = jResp.StringOf("relationData.createdBy.personalSpace.status")
Dim Settings As String = jResp.StringOf("relationData.createdBy.personalSpace._expandable.settings")
Dim Metadata As String = jResp.StringOf("relationData.createdBy.personalSpace._expandable.metadata")
Dim v_expandableOperations As String = jResp.StringOf("relationData.createdBy.personalSpace._expandable.operations")
Dim LookAndFeel As String = jResp.StringOf("relationData.createdBy.personalSpace._expandable.lookAndFeel")
Dim Permissions As String = jResp.StringOf("relationData.createdBy.personalSpace._expandable.permissions")
Dim Icon As String = jResp.StringOf("relationData.createdBy.personalSpace._expandable.icon")
Dim Description As String = jResp.StringOf("relationData.createdBy.personalSpace._expandable.description")
Dim Theme As String = jResp.StringOf("relationData.createdBy.personalSpace._expandable.theme")
Dim History As String = jResp.StringOf("relationData.createdBy.personalSpace._expandable.history")
Dim Homepage As String = jResp.StringOf("relationData.createdBy.personalSpace._expandable.homepage")
Dim IconPath As String = jResp.StringOf("relationData.createdBy.personalSpace.icon.path")
Dim IconWidth As Integer = jResp.IntOf("relationData.createdBy.personalSpace.icon.width")
Dim IconHeight As Integer = jResp.IntOf("relationData.createdBy.personalSpace.icon.height")
Dim IconIsDefault As Boolean = jResp.BoolOf("relationData.createdBy.personalSpace.icon.isDefault")
Dim PlainValue As String = jResp.StringOf("relationData.createdBy.personalSpace.description.plain.value")
Dim Representation As String = jResp.StringOf("relationData.createdBy.personalSpace.description.plain.representation")
Dim ViewValue As String = jResp.StringOf("relationData.createdBy.personalSpace.description.view.value")
Dim ViewRepresentation As String = jResp.StringOf("relationData.createdBy.personalSpace.description.view.representation")
Dim HomepageValue As String = jResp.StringOf("relationData.createdBy.personalSpace.homepage.value")
Dim Start As Integer = jResp.IntOf("relationData.createdBy.personalSpace.metadata.labels.start")
Dim Limit As Integer = jResp.IntOf("relationData.createdBy.personalSpace.metadata.labels.limit")
Dim Size As Integer = jResp.IntOf("relationData.createdBy.personalSpace.metadata.labels.size")
Dim RouteOverrideEnabled As Boolean = jResp.BoolOf("relationData.createdBy.personalSpace.settings.routeOverrideEnabled")
Dim Color As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.headings.color")
Dim LinksColor As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.links.color")
Dim HoverOrFocusValue As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.menus.hoverOrFocus.value")
Dim ColorValue As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.menus.color.value")
Dim BackgroundColorValue As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.header.backgroundColor.value")
Dim ButtonValue As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.header.button.value")
Dim PrimaryNavigationValue As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.header.primaryNavigation.value")
Dim SecondaryNavigationValue As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.header.secondaryNavigation.value")
Dim SearchValue As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.header.search.value")
Dim ScreenValue As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.content.screen.value")
Dim ContainerValue As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.content.container.value")
Dim HeaderValue As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.content.header.value")
Dim BodyValue As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.content.body.value")
Dim BordersAndDividersColor As String = jResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.bordersAndDividers.color")
Dim CreatedDate As String = jResp.StringOf("relationData.createdBy.personalSpace.history.createdDate")
Dim relationDataCreatedDate As String = jResp.StringOf("relationData.createdDate")
Dim FriendlyCreatedDate As String = jResp.StringOf("relationData.friendlyCreatedDate")
Dim i As Integer = 0
Dim count_i As Integer = jResp.SizeOfArray("relationData.createdBy.operations")
While i < count_i
    jResp.I = i
    operation = jResp.StringOf("relationData.createdBy.operations[i].operation")
    targetType = jResp.StringOf("relationData.createdBy.operations[i].targetType")
    i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("relationData.createdBy.personalSpace.description.plain.embeddedContent")
While i < count_i
    jResp.I = i
    value = jResp.StringOf("relationData.createdBy.personalSpace.description.plain.embeddedContent[i].value")
    i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("relationData.createdBy.personalSpace.description.view.embeddedContent")
While i < count_i
    jResp.I = i
    value = jResp.StringOf("relationData.createdBy.personalSpace.description.view.embeddedContent[i].value")
    i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("relationData.createdBy.personalSpace.metadata.labels.results")
While i < count_i
    jResp.I = i
    value = jResp.StringOf("relationData.createdBy.personalSpace.metadata.labels.results[i].value")
    i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("relationData.createdBy.personalSpace.operations")
While i < count_i
    jResp.I = i
    operation = jResp.StringOf("relationData.createdBy.personalSpace.operations[i].operation")
    targetType = jResp.StringOf("relationData.createdBy.personalSpace.operations[i].targetType")
    i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("relationData.createdBy.personalSpace.permissions")
While i < count_i
    jResp.I = i
    v_expandableValue = jResp.StringOf("relationData.createdBy.personalSpace.permissions[i].subjects._expandable.value")
    UserValue = jResp.StringOf("relationData.createdBy.personalSpace.permissions[i].subjects.user.value")
    GroupValue = jResp.StringOf("relationData.createdBy.personalSpace.permissions[i].subjects.group.value")
    Operation = jResp.StringOf("relationData.createdBy.personalSpace.permissions[i].operation.operation")
    TargetType = jResp.StringOf("relationData.createdBy.personalSpace.permissions[i].operation.targetType")
    anonymousAccess = jResp.BoolOf("relationData.createdBy.personalSpace.permissions[i].anonymousAccess")
    unlicensedAccess = jResp.BoolOf("relationData.createdBy.personalSpace.permissions[i].unlicensedAccess")
    i = i + 1
End While

Curl Command

curl -X PUT
	-H "Authorization: Bearer <access_token>"
https://your-domain.atlassian.net/wiki/rest/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>

Postman Collection Item JSON

{
  "name": "Create relationship",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "PUT",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "relation",
        ":relationName",
        "from",
        ":sourceType",
        ":sourceKey",
        "to",
        ":targetType",
        ":targetKey"
      ],
      "query": [
        {
          "key": "sourceStatus",
          "value": "<string>",
          "description": "The status of the source. This parameter is only used when the\n`sourceType` is 'content'."
        },
        {
          "key": "targetStatus",
          "value": "<string>",
          "description": "The status of the target. This parameter is only used when the\n`targetType` is 'content'."
        },
        {
          "key": "sourceVersion",
          "value": "<integer>",
          "description": "The version of the source. This parameter is only used when the\n`sourceType` is 'content' and the `sourceStatus` is 'historical'."
        },
        {
          "key": "targetVersion",
          "value": "<integer>",
          "description": "The version of the target. This parameter is only used when the\n`targetType` is 'content' and the `targetStatus` is 'historical'."
        }
      ],
      "variable": [
        {
          "key": "relationName",
          "value": "<string>",
          "type": "string",
          "description": "(Required) The name of the relationship. This method supports the 'favourite'\n(i.e. 'save for later') relationship. You can also specify any other\nvalue for this parameter to create a custom relationship type."
        },
        {
          "key": "sourceType",
          "value": "<string>",
          "type": "string",
          "description": "(Required) The source entity type of the relationship. This must be 'user', if\nthe `relationName` is 'favourite'."
        },
        {
          "key": "sourceKey",
          "value": "<string>",
          "type": "string",
          "description": "(Required) - The identifier for the source entity:\n\n- If `sourceType` is 'user', then specify either 'current' (logged-in\n  user) or the user key.\n- If `sourceType` is 'content', then specify the content ID.\n- If `sourceType` is 'space', then specify the space key."
        },
        {
          "key": "targetType",
          "value": "<string>",
          "type": "string",
          "description": "(Required) The target entity type of the relationship. This must be 'space' or\n'content', if the `relationName` is 'favourite'."
        },
        {
          "key": "targetKey",
          "value": "<string>",
          "type": "string",
          "description": "(Required) - The identifier for the target entity:\n\n- If `sourceType` is 'user', then specify either 'current' (logged-in\n  user) or the user key.\n- If `sourceType` is 'content', then specify the content ID.\n- If `sourceType` is 'space', then specify the space key."
        }
      ]
    },
    "description": "Creates a relationship between two entities (user, space, content). The\n'favourite' relationship is supported by default, but you can use this method\nto create any type of relationship between two entities.\n\nFor example, the following method creates a 'sibling' relationship between\ntwo pieces of content:\n`GET https://your-domain.atlassian.net/wiki/rest/api/relation/sibling/from/content/123/to/content/456`\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 relationship is created.",
      "originalRequest": {
        "method": "PUT",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "relation",
            ":relationName",
            "from",
            ":sourceType",
            ":sourceKey",
            "to",
            ":targetType",
            ":targetKey"
          ],
          "query": [
            {
              "key": "sourceStatus",
              "value": "<string>"
            },
            {
              "key": "targetStatus",
              "value": "<string>"
            },
            {
              "key": "sourceVersion",
              "value": "<integer>"
            },
            {
              "key": "targetVersion",
              "value": "<integer>"
            }
          ],
          "variable": [
            {
              "key": "relationName"
            },
            {
              "key": "sourceType"
            },
            {
              "key": "sourceKey"
            },
            {
              "key": "targetType"
            },
            {
              "key": "targetKey"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"name\": \"laborum amet\",\n \"_expandable\": {\n  \"relationData\": \"minim do quis\",\n  \"source\": \"quis velit dolore ut\",\n  \"target\": \"sint fugiat id repreh\"\n },\n \"_links\": {},\n \"relationData\": {\n  \"createdBy\": {\n   \"type\": \"known\",\n   \"accountId\": \"est veniam nisi\",\n   \"accountType\": \"atlassian\",\n   \"email\": \"fugiat tempor est\",\n   \"publicName\": \"proident cillum adipisicing\",\n   \"profilePicture\": {\n    \"path\": \"incididunt dolore sit in eu\",\n    \"width\": 66665902,\n    \"height\": 7198703,\n    \"isDefault\": false\n   },\n   \"displayName\": \"mollit ex pariatur dolor\",\n   \"_expandable\": {\n    \"operations\": \"adipisicing in\",\n    \"details\": \"id minim sed\",\n    \"personalSpace\": \"Ut\"\n   },\n   \"_links\": {},\n   \"username\": \"proident ut incididunt consequat\",\n   \"userKey\": \"ipsum consequat sed ullamco aliquip\",\n   \"operations\": [\n    {\n     \"operation\": \"copy\",\n     \"targetType\": \"space\"\n    },\n    {\n     \"operation\": \"purge_version\",\n     \"targetType\": \"space\"\n    }\n   ],\n   \"details\": {\n    \"business\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"personal\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    }\n   },\n   \"personalSpace\": {\n    \"id\": 32251017,\n    \"key\": \"Excepteur do\",\n    \"name\": \"est velit non\",\n    \"type\": \"deserunt occaecat\",\n    \"status\": \"in commodo incididunt non\",\n    \"_expandable\": {\n     \"settings\": \"ut cillum quis in\",\n     \"metadata\": \"dolore minim\",\n     \"operations\": \"anim commodo amet\",\n     \"lookAndFeel\": \"dolore Lorem\",\n     \"permissions\": \"dolore anim\",\n     \"icon\": \"deserunt ex occaecat amet\",\n     \"description\": \"cillum nostrud sint\",\n     \"theme\": \"dolor id\",\n     \"history\": \"in fugiat eu esse\",\n     \"homepage\": \"et\"\n    },\n    \"_links\": {},\n    \"icon\": {\n     \"path\": \"laboris eiusmod Excepteur eu\",\n     \"width\": -89581460,\n     \"height\": -66835718,\n     \"isDefault\": true\n    },\n    \"description\": {\n     \"plain\": {\n      \"value\": \"ut eu reprehenderit\",\n      \"representation\": \"view\",\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\": \"reprehenderit\",\n      \"representation\": \"view\",\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\": 83305188,\n      \"limit\": 81363289,\n      \"size\": -91970205,\n      \"_links\": {}\n     }\n    },\n    \"operations\": [\n     {\n      \"operation\": \"purge\",\n      \"targetType\": \"comment\"\n     },\n     {\n      \"operation\": \"use\",\n      \"targetType\": \"blogpost\"\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\": \"purge_version\",\n       \"targetType\": \"page\"\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\": \"administer\",\n       \"targetType\": \"blogpost\"\n      },\n      \"anonymousAccess\": false,\n      \"unlicensedAccess\": false\n     }\n    ],\n    \"settings\": {\n     \"routeOverrideEnabled\": true,\n     \"_links\": {}\n    },\n    \"theme\": {},\n    \"lookAndFeel\": {\n     \"headings\": {\n      \"color\": \"fugiat irure nostrud\"\n     },\n     \"links\": {\n      \"color\": \"ad velit\"\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\": \"do in laborum\"\n     }\n    },\n    \"history\": {\n     \"createdDate\": \"1968-05-01T03:07:38.118Z\"\n    }\n   }\n  },\n  \"createdDate\": \"1955-09-27T16:15:59.770Z\",\n  \"friendlyCreatedDate\": \"reprehenderit quis\"\n },\n \"source\": {},\n \"target\": {}\n}"
    },
    {
      "name": "Returned if the user does not have permission to use Confluence.",
      "originalRequest": {
        "method": "PUT",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "relation",
            ":relationName",
            "from",
            ":sourceType",
            ":sourceKey",
            "to",
            ":targetType",
            ":targetKey"
          ],
          "query": [
            {
              "key": "sourceStatus",
              "value": "<string>"
            },
            {
              "key": "targetStatus",
              "value": "<string>"
            },
            {
              "key": "sourceVersion",
              "value": "<integer>"
            },
            {
              "key": "targetVersion",
              "value": "<integer>"
            }
          ],
          "variable": [
            {
              "key": "relationName"
            },
            {
              "key": "sourceType"
            },
            {
              "key": "sourceKey"
            },
            {
              "key": "targetType"
            },
            {
              "key": "targetKey"
            }
          ]
        }
      },
      "status": "Forbidden",
      "code": 403,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    },
    {
      "name": "Returned if the user, space or content could not be found.",
      "originalRequest": {
        "method": "PUT",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "relation",
            ":relationName",
            "from",
            ":sourceType",
            ":sourceKey",
            "to",
            ":targetType",
            ":targetKey"
          ],
          "query": [
            {
              "key": "sourceStatus",
              "value": "<string>"
            },
            {
              "key": "targetStatus",
              "value": "<string>"
            },
            {
              "key": "sourceVersion",
              "value": "<integer>"
            },
            {
              "key": "targetVersion",
              "value": "<integer>"
            }
          ],
          "variable": [
            {
              "key": "relationName"
            },
            {
              "key": "sourceType"
            },
            {
              "key": "sourceKey"
            },
            {
              "key": "targetType"
            },
            {
              "key": "targetKey"
            }
          ]
        }
      },
      "status": "Not Found",
      "code": 404,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    }
  ]
}