Chilkat Online Tools

Xojo / 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
resp = 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
    System.DebugLog(http.LastErrorText)
    Return
End If

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

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

System.DebugLog("Response Body:")
System.DebugLog(jResp.Emit())

Dim respStatusCode As Int32
respStatusCode = resp.StatusCode
System.DebugLog("Response Status Code = " + Str(respStatusCode))
If (respStatusCode >= 400) Then
    System.DebugLog("Response Header:")
    System.DebugLog(resp.Header)
    System.DebugLog("Failed.")

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

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": ""
    }
  ]
}