Chilkat Online Tools

Foxpro / Atlassian Confluence Cloud / Create relationship

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loResp
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lcOperation
LOCAL lcTargetType
LOCAL lcValue
LOCAL lcV_expandableValue
LOCAL lcUserValue
LOCAL lcGroupValue
LOCAL lcOperation
LOCAL lcTargetType
LOCAL lnAnonymousAccess
LOCAL lnUnlicensedAccess
LOCAL lcName
LOCAL lcRelationData
LOCAL lcSource
LOCAL lcTarget
LOCAL lcV_Type
LOCAL lcAccountId
LOCAL lcAccountType
LOCAL lcV_Email
LOCAL lcPublicName
LOCAL lcPath
LOCAL lnWidth
LOCAL lnHeight
LOCAL lnIsDefault
LOCAL lcDisplayName
LOCAL lcOperations
LOCAL lcDetails
LOCAL lcPersonalSpace
LOCAL lcUsername
LOCAL lcUserKey
LOCAL lcValue
LOCAL lcPersonalValue
LOCAL lnId
LOCAL lcKey
LOCAL lcName
LOCAL lcPersonalSpaceType
LOCAL lcStatus
LOCAL lcSettings
LOCAL lcMetadata
LOCAL lcV_expandableOperations
LOCAL lcLookAndFeel
LOCAL lcPermissions
LOCAL lcIcon
LOCAL lcDescription
LOCAL lcTheme
LOCAL lcHistory
LOCAL lcHomepage
LOCAL lcIconPath
LOCAL lnIconWidth
LOCAL lnIconHeight
LOCAL lnIconIsDefault
LOCAL lcPlainValue
LOCAL lcRepresentation
LOCAL lcViewValue
LOCAL lcViewRepresentation
LOCAL lcHomepageValue
LOCAL lnStart
LOCAL lnLimit
LOCAL lnSize
LOCAL lnRouteOverrideEnabled
LOCAL lcColor
LOCAL lcLinksColor
LOCAL lcHoverOrFocusValue
LOCAL lcColorValue
LOCAL lcBackgroundColorValue
LOCAL lcButtonValue
LOCAL lcPrimaryNavigationValue
LOCAL lcSecondaryNavigationValue
LOCAL lcSearchValue
LOCAL lcScreenValue
LOCAL lcContainerValue
LOCAL lcHeaderValue
LOCAL lcBodyValue
LOCAL lcBordersAndDividersColor
LOCAL lcCreatedDate
LOCAL lcRelationDataCreatedDate
LOCAL lcFriendlyCreatedDate
LOCAL i
LOCAL lnCount_i

* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http')
loHttp = CreateObject('Chilkat.Http')

* Adds the "Authorization: Bearer <access_token>" header.
loHttp.AuthToken = "<access_token>"

loResp = loHttp.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 (loHttp.LastMethodSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    CANCEL
ENDIF

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder')
loSbResponseBody = CreateObject('Chilkat.StringBuilder')
loResp.GetBodySb(loSbResponseBody)

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject')
loJResp = CreateObject('Chilkat.JsonObject')
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = 0

? "Response Body:"
? loJResp.Emit()

lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loResp.Header
    ? "Failed."
    RELEASE loResp
    RELEASE loHttp
    RELEASE loSbResponseBody
    RELEASE loJResp
    CANCEL
ENDIF

RELEASE loResp

* 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

lcName = loJResp.StringOf("name")
lcRelationData = loJResp.StringOf("_expandable.relationData")
lcSource = loJResp.StringOf("_expandable.source")
lcTarget = loJResp.StringOf("_expandable.target")
lcV_Type = loJResp.StringOf("relationData.createdBy.type")
lcAccountId = loJResp.StringOf("relationData.createdBy.accountId")
lcAccountType = loJResp.StringOf("relationData.createdBy.accountType")
lcV_Email = loJResp.StringOf("relationData.createdBy.email")
lcPublicName = loJResp.StringOf("relationData.createdBy.publicName")
lcPath = loJResp.StringOf("relationData.createdBy.profilePicture.path")
lnWidth = loJResp.IntOf("relationData.createdBy.profilePicture.width")
lnHeight = loJResp.IntOf("relationData.createdBy.profilePicture.height")
lnIsDefault = loJResp.BoolOf("relationData.createdBy.profilePicture.isDefault")
lcDisplayName = loJResp.StringOf("relationData.createdBy.displayName")
lcOperations = loJResp.StringOf("relationData.createdBy._expandable.operations")
lcDetails = loJResp.StringOf("relationData.createdBy._expandable.details")
lcPersonalSpace = loJResp.StringOf("relationData.createdBy._expandable.personalSpace")
lcUsername = loJResp.StringOf("relationData.createdBy.username")
lcUserKey = loJResp.StringOf("relationData.createdBy.userKey")
lcValue = loJResp.StringOf("relationData.createdBy.details.business.value")
lcPersonalValue = loJResp.StringOf("relationData.createdBy.details.personal.value")
lnId = loJResp.IntOf("relationData.createdBy.personalSpace.id")
lcKey = loJResp.StringOf("relationData.createdBy.personalSpace.key")
lcName = loJResp.StringOf("relationData.createdBy.personalSpace.name")
lcPersonalSpaceType = loJResp.StringOf("relationData.createdBy.personalSpace.type")
lcStatus = loJResp.StringOf("relationData.createdBy.personalSpace.status")
lcSettings = loJResp.StringOf("relationData.createdBy.personalSpace._expandable.settings")
lcMetadata = loJResp.StringOf("relationData.createdBy.personalSpace._expandable.metadata")
lcV_expandableOperations = loJResp.StringOf("relationData.createdBy.personalSpace._expandable.operations")
lcLookAndFeel = loJResp.StringOf("relationData.createdBy.personalSpace._expandable.lookAndFeel")
lcPermissions = loJResp.StringOf("relationData.createdBy.personalSpace._expandable.permissions")
lcIcon = loJResp.StringOf("relationData.createdBy.personalSpace._expandable.icon")
lcDescription = loJResp.StringOf("relationData.createdBy.personalSpace._expandable.description")
lcTheme = loJResp.StringOf("relationData.createdBy.personalSpace._expandable.theme")
lcHistory = loJResp.StringOf("relationData.createdBy.personalSpace._expandable.history")
lcHomepage = loJResp.StringOf("relationData.createdBy.personalSpace._expandable.homepage")
lcIconPath = loJResp.StringOf("relationData.createdBy.personalSpace.icon.path")
lnIconWidth = loJResp.IntOf("relationData.createdBy.personalSpace.icon.width")
lnIconHeight = loJResp.IntOf("relationData.createdBy.personalSpace.icon.height")
lnIconIsDefault = loJResp.BoolOf("relationData.createdBy.personalSpace.icon.isDefault")
lcPlainValue = loJResp.StringOf("relationData.createdBy.personalSpace.description.plain.value")
lcRepresentation = loJResp.StringOf("relationData.createdBy.personalSpace.description.plain.representation")
lcViewValue = loJResp.StringOf("relationData.createdBy.personalSpace.description.view.value")
lcViewRepresentation = loJResp.StringOf("relationData.createdBy.personalSpace.description.view.representation")
lcHomepageValue = loJResp.StringOf("relationData.createdBy.personalSpace.homepage.value")
lnStart = loJResp.IntOf("relationData.createdBy.personalSpace.metadata.labels.start")
lnLimit = loJResp.IntOf("relationData.createdBy.personalSpace.metadata.labels.limit")
lnSize = loJResp.IntOf("relationData.createdBy.personalSpace.metadata.labels.size")
lnRouteOverrideEnabled = loJResp.BoolOf("relationData.createdBy.personalSpace.settings.routeOverrideEnabled")
lcColor = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.headings.color")
lcLinksColor = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.links.color")
lcHoverOrFocusValue = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.menus.hoverOrFocus.value")
lcColorValue = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.menus.color.value")
lcBackgroundColorValue = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.header.backgroundColor.value")
lcButtonValue = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.header.button.value")
lcPrimaryNavigationValue = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.header.primaryNavigation.value")
lcSecondaryNavigationValue = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.header.secondaryNavigation.value")
lcSearchValue = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.header.search.value")
lcScreenValue = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.content.screen.value")
lcContainerValue = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.content.container.value")
lcHeaderValue = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.content.header.value")
lcBodyValue = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.content.body.value")
lcBordersAndDividersColor = loJResp.StringOf("relationData.createdBy.personalSpace.lookAndFeel.bordersAndDividers.color")
lcCreatedDate = loJResp.StringOf("relationData.createdBy.personalSpace.history.createdDate")
lcRelationDataCreatedDate = loJResp.StringOf("relationData.createdDate")
lcFriendlyCreatedDate = loJResp.StringOf("relationData.friendlyCreatedDate")
i = 0
lnCount_i = loJResp.SizeOfArray("relationData.createdBy.operations")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcOperation = loJResp.StringOf("relationData.createdBy.operations[i].operation")
    lcTargetType = loJResp.StringOf("relationData.createdBy.operations[i].targetType")
    i = i + 1
ENDDO
i = 0
lnCount_i = loJResp.SizeOfArray("relationData.createdBy.personalSpace.description.plain.embeddedContent")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcValue = loJResp.StringOf("relationData.createdBy.personalSpace.description.plain.embeddedContent[i].value")
    i = i + 1
ENDDO
i = 0
lnCount_i = loJResp.SizeOfArray("relationData.createdBy.personalSpace.description.view.embeddedContent")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcValue = loJResp.StringOf("relationData.createdBy.personalSpace.description.view.embeddedContent[i].value")
    i = i + 1
ENDDO
i = 0
lnCount_i = loJResp.SizeOfArray("relationData.createdBy.personalSpace.metadata.labels.results")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcValue = loJResp.StringOf("relationData.createdBy.personalSpace.metadata.labels.results[i].value")
    i = i + 1
ENDDO
i = 0
lnCount_i = loJResp.SizeOfArray("relationData.createdBy.personalSpace.operations")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcOperation = loJResp.StringOf("relationData.createdBy.personalSpace.operations[i].operation")
    lcTargetType = loJResp.StringOf("relationData.createdBy.personalSpace.operations[i].targetType")
    i = i + 1
ENDDO
i = 0
lnCount_i = loJResp.SizeOfArray("relationData.createdBy.personalSpace.permissions")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcV_expandableValue = loJResp.StringOf("relationData.createdBy.personalSpace.permissions[i].subjects._expandable.value")
    lcUserValue = loJResp.StringOf("relationData.createdBy.personalSpace.permissions[i].subjects.user.value")
    lcGroupValue = loJResp.StringOf("relationData.createdBy.personalSpace.permissions[i].subjects.group.value")
    lcOperation = loJResp.StringOf("relationData.createdBy.personalSpace.permissions[i].operation.operation")
    lcTargetType = loJResp.StringOf("relationData.createdBy.personalSpace.permissions[i].operation.targetType")
    lnAnonymousAccess = loJResp.BoolOf("relationData.createdBy.personalSpace.permissions[i].anonymousAccess")
    lnUnlicensedAccess = loJResp.BoolOf("relationData.createdBy.personalSpace.permissions[i].unlicensedAccess")
    i = i + 1
ENDDO

RELEASE loHttp
RELEASE loSbResponseBody
RELEASE loJResp

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