Chilkat Online Tools

Swift3 / Atlassian Confluence Cloud / Create relationship

Back to Collection Items

func chilkatTest() {
    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    let http = CkoHttp()!
    var success: Bool

    // Adds the "Authorization: Bearer <access_token>" header.
    http.authToken = "<access_token>"

    var resp: CkoHttpResponse? = http.quickRequest("PUT", url: "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 {
        print("\(http.lastErrorText!)")
        return
    }

    let sbResponseBody = CkoStringBuilder()!
    resp!.getBodySb(sbResponseBody)

    let jResp = CkoJsonObject()!
    jResp.loadSb(sbResponseBody)
    jResp.emitCompact = false

    print("Response Body:")
    print("\(jResp.emit()!)")

    var respStatusCode: Int = resp!.statusCode.intValue
    print("Response Status Code = \(respStatusCode)")
    if respStatusCode >= 400 {
        print("Response Header:")
        print("\(resp!.header!)")
        print("Failed.")
        resp = nil
        return
    }

    resp = nil

    // 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

    var operation: String?
    var targetType: String?
    var value: String?
    var v_expandableValue: String?
    var UserValue: String?
    var GroupValue: String?
    var Operation: String?
    var TargetType: String?
    var anonymousAccess: Bool
    var unlicensedAccess: Bool

    var name: String? = jResp.string(of: "name")
    var RelationData: String? = jResp.string(of: "_expandable.relationData")
    var Source: String? = jResp.string(of: "_expandable.source")
    var Target: String? = jResp.string(of: "_expandable.target")
    var v_Type: String? = jResp.string(of: "relationData.createdBy.type")
    var AccountId: String? = jResp.string(of: "relationData.createdBy.accountId")
    var AccountType: String? = jResp.string(of: "relationData.createdBy.accountType")
    var v_Email: String? = jResp.string(of: "relationData.createdBy.email")
    var PublicName: String? = jResp.string(of: "relationData.createdBy.publicName")
    var Path: String? = jResp.string(of: "relationData.createdBy.profilePicture.path")
    var Width: Int = jResp.int(of: "relationData.createdBy.profilePicture.width").intValue
    var Height: Int = jResp.int(of: "relationData.createdBy.profilePicture.height").intValue
    var IsDefault: Bool = jResp.bool(of: "relationData.createdBy.profilePicture.isDefault")
    var DisplayName: String? = jResp.string(of: "relationData.createdBy.displayName")
    var Operations: String? = jResp.string(of: "relationData.createdBy._expandable.operations")
    var Details: String? = jResp.string(of: "relationData.createdBy._expandable.details")
    var PersonalSpace: String? = jResp.string(of: "relationData.createdBy._expandable.personalSpace")
    var Username: String? = jResp.string(of: "relationData.createdBy.username")
    var UserKey: String? = jResp.string(of: "relationData.createdBy.userKey")
    var Value: String? = jResp.string(of: "relationData.createdBy.details.business.value")
    var PersonalValue: String? = jResp.string(of: "relationData.createdBy.details.personal.value")
    var Id: Int = jResp.int(of: "relationData.createdBy.personalSpace.id").intValue
    var Key: String? = jResp.string(of: "relationData.createdBy.personalSpace.key")
    var Name: String? = jResp.string(of: "relationData.createdBy.personalSpace.name")
    var PersonalSpaceType: String? = jResp.string(of: "relationData.createdBy.personalSpace.type")
    var Status: String? = jResp.string(of: "relationData.createdBy.personalSpace.status")
    var Settings: String? = jResp.string(of: "relationData.createdBy.personalSpace._expandable.settings")
    var Metadata: String? = jResp.string(of: "relationData.createdBy.personalSpace._expandable.metadata")
    var v_expandableOperations: String? = jResp.string(of: "relationData.createdBy.personalSpace._expandable.operations")
    var LookAndFeel: String? = jResp.string(of: "relationData.createdBy.personalSpace._expandable.lookAndFeel")
    var Permissions: String? = jResp.string(of: "relationData.createdBy.personalSpace._expandable.permissions")
    var Icon: String? = jResp.string(of: "relationData.createdBy.personalSpace._expandable.icon")
    var Description: String? = jResp.string(of: "relationData.createdBy.personalSpace._expandable.description")
    var Theme: String? = jResp.string(of: "relationData.createdBy.personalSpace._expandable.theme")
    var History: String? = jResp.string(of: "relationData.createdBy.personalSpace._expandable.history")
    var Homepage: String? = jResp.string(of: "relationData.createdBy.personalSpace._expandable.homepage")
    var IconPath: String? = jResp.string(of: "relationData.createdBy.personalSpace.icon.path")
    var IconWidth: Int = jResp.int(of: "relationData.createdBy.personalSpace.icon.width").intValue
    var IconHeight: Int = jResp.int(of: "relationData.createdBy.personalSpace.icon.height").intValue
    var IconIsDefault: Bool = jResp.bool(of: "relationData.createdBy.personalSpace.icon.isDefault")
    var PlainValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.description.plain.value")
    var Representation: String? = jResp.string(of: "relationData.createdBy.personalSpace.description.plain.representation")
    var ViewValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.description.view.value")
    var ViewRepresentation: String? = jResp.string(of: "relationData.createdBy.personalSpace.description.view.representation")
    var HomepageValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.homepage.value")
    var Start: Int = jResp.int(of: "relationData.createdBy.personalSpace.metadata.labels.start").intValue
    var Limit: Int = jResp.int(of: "relationData.createdBy.personalSpace.metadata.labels.limit").intValue
    var Size: Int = jResp.int(of: "relationData.createdBy.personalSpace.metadata.labels.size").intValue
    var RouteOverrideEnabled: Bool = jResp.bool(of: "relationData.createdBy.personalSpace.settings.routeOverrideEnabled")
    var Color: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.headings.color")
    var LinksColor: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.links.color")
    var HoverOrFocusValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.menus.hoverOrFocus.value")
    var ColorValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.menus.color.value")
    var BackgroundColorValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.header.backgroundColor.value")
    var ButtonValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.header.button.value")
    var PrimaryNavigationValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.header.primaryNavigation.value")
    var SecondaryNavigationValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.header.secondaryNavigation.value")
    var SearchValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.header.search.value")
    var ScreenValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.content.screen.value")
    var ContainerValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.content.container.value")
    var HeaderValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.content.header.value")
    var BodyValue: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.content.body.value")
    var BordersAndDividersColor: String? = jResp.string(of: "relationData.createdBy.personalSpace.lookAndFeel.bordersAndDividers.color")
    var CreatedDate: String? = jResp.string(of: "relationData.createdBy.personalSpace.history.createdDate")
    var relationDataCreatedDate: String? = jResp.string(of: "relationData.createdDate")
    var FriendlyCreatedDate: String? = jResp.string(of: "relationData.friendlyCreatedDate")
    var i: Int = 0
    var count_i: Int = jResp.size(ofArray: "relationData.createdBy.operations").intValue
    while i < count_i {
        jResp.i = i
        operation = jResp.string(of: "relationData.createdBy.operations[i].operation")
        targetType = jResp.string(of: "relationData.createdBy.operations[i].targetType")
        i = i + 1
    }

    i = 0
    count_i = jResp.size(ofArray: "relationData.createdBy.personalSpace.description.plain.embeddedContent").intValue
    while i < count_i {
        jResp.i = i
        value = jResp.string(of: "relationData.createdBy.personalSpace.description.plain.embeddedContent[i].value")
        i = i + 1
    }

    i = 0
    count_i = jResp.size(ofArray: "relationData.createdBy.personalSpace.description.view.embeddedContent").intValue
    while i < count_i {
        jResp.i = i
        value = jResp.string(of: "relationData.createdBy.personalSpace.description.view.embeddedContent[i].value")
        i = i + 1
    }

    i = 0
    count_i = jResp.size(ofArray: "relationData.createdBy.personalSpace.metadata.labels.results").intValue
    while i < count_i {
        jResp.i = i
        value = jResp.string(of: "relationData.createdBy.personalSpace.metadata.labels.results[i].value")
        i = i + 1
    }

    i = 0
    count_i = jResp.size(ofArray: "relationData.createdBy.personalSpace.operations").intValue
    while i < count_i {
        jResp.i = i
        operation = jResp.string(of: "relationData.createdBy.personalSpace.operations[i].operation")
        targetType = jResp.string(of: "relationData.createdBy.personalSpace.operations[i].targetType")
        i = i + 1
    }

    i = 0
    count_i = jResp.size(ofArray: "relationData.createdBy.personalSpace.permissions").intValue
    while i < count_i {
        jResp.i = i
        v_expandableValue = jResp.string(of: "relationData.createdBy.personalSpace.permissions[i].subjects._expandable.value")
        UserValue = jResp.string(of: "relationData.createdBy.personalSpace.permissions[i].subjects.user.value")
        GroupValue = jResp.string(of: "relationData.createdBy.personalSpace.permissions[i].subjects.group.value")
        Operation = jResp.string(of: "relationData.createdBy.personalSpace.permissions[i].operation.operation")
        TargetType = jResp.string(of: "relationData.createdBy.personalSpace.permissions[i].operation.targetType")
        anonymousAccess = jResp.bool(of: "relationData.createdBy.personalSpace.permissions[i].anonymousAccess")
        unlicensedAccess = jResp.bool(of: "relationData.createdBy.personalSpace.permissions[i].unlicensedAccess")
        i = i + 1
    }


}

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