Back to Collection Items
#include <CkHttp.h>
#include <CkJsonObject.h>
#include <CkHttpResponse.h>
#include <CkStringBuilder.h>
void ChilkatSample(void)
{
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkHttp http;
bool success;
CkJsonObject queryParams;
queryParams.UpdateString("sourceStatus","<string>");
queryParams.UpdateString("targetStatus","<string>");
queryParams.UpdateString("sourceVersion","<integer>");
queryParams.UpdateString("targetVersion","<integer>");
queryParams.UpdateString("expand","<string>");
queryParams.UpdateString("expand","<string>");
// Adds the "Authorization: Bearer <access_token>" header.
http.put_AuthToken("<access_token>");
CkHttpResponse *resp = http.QuickRequestParams("GET","https://your-domain.atlassian.net/wiki/rest/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey",queryParams);
if (http.get_LastMethodSuccess() == false) {
std::cout << http.lastErrorText() << "\r\n";
return;
}
CkStringBuilder sbResponseBody;
resp->GetBodySb(sbResponseBody);
CkJsonObject jResp;
jResp.LoadSb(sbResponseBody);
jResp.put_EmitCompact(false);
std::cout << "Response Body:" << "\r\n";
std::cout << jResp.emit() << "\r\n";
int respStatusCode = resp->get_StatusCode();
std::cout << "Response Status Code = " << respStatusCode << "\r\n";
if (respStatusCode >= 400) {
std::cout << "Response Header:" << "\r\n";
std::cout << resp->header() << "\r\n";
std::cout << "Failed." << "\r\n";
delete resp;
return;
}
delete resp;
// 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
// Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat.
const char *operation = 0;
const char *targetType = 0;
const char *value = 0;
const char *v_expandableValue = 0;
const char *UserValue = 0;
const char *GroupValue = 0;
const char *Operation = 0;
const char *TargetType = 0;
bool anonymousAccess;
bool unlicensedAccess;
const char *name = jResp.stringOf("name");
const char *RelationData = jResp.stringOf("_expandable.relationData");
const char *Source = jResp.stringOf("_expandable.source");
const char *Target = jResp.stringOf("_expandable.target");
const char *v_Type = jResp.stringOf("relationData.createdBy.type");
const char *AccountId = jResp.stringOf("relationData.createdBy.accountId");
const char *AccountType = jResp.stringOf("relationData.createdBy.accountType");
const char *v_Email = jResp.stringOf("relationData.createdBy.email");
const char *PublicName = jResp.stringOf("relationData.createdBy.publicName");
const char *Path = jResp.stringOf("relationData.createdBy.profilePicture.path");
int Width = jResp.IntOf("relationData.createdBy.profilePicture.width");
int Height = jResp.IntOf("relationData.createdBy.profilePicture.height");
bool IsDefault = jResp.BoolOf("relationData.createdBy.profilePicture.isDefault");
const char *DisplayName = jResp.stringOf("relationData.createdBy.displayName");
const char *Operations = jResp.stringOf("relationData.createdBy._expandable.operations");
const char *Details = jResp.stringOf("relationData.createdBy._expandable.details");
const char *PersonalSpace = jResp.stringOf("relationData.createdBy._expandable.personalSpace");
const char *Username = jResp.stringOf("relationData.createdBy.username");
const char *UserKey = jResp.stringOf("relationData.createdBy.userKey");
const char *Value = jResp.stringOf("relationData.createdBy.details.business.value");
const char *PersonalValue = jResp.stringOf("relationData.createdBy.details.personal.value");
int Id = jResp.IntOf("relationData.createdBy.personalSpace.id");
const char *Key = jResp.stringOf("relationData.createdBy.personalSpace.key");
const char *Name = jResp.stringOf("relationData.createdBy.personalSpace.name");
const char *PersonalSpaceType = jResp.stringOf("relationData.createdBy.personalSpace.type");
const char *Status = jResp.stringOf("relationData.createdBy.personalSpace.status");
const char *Settings = jResp.stringOf("relationData.createdBy.personalSpace._expandable.settings");
const char *Metadata = jResp.stringOf("relationData.createdBy.personalSpace._expandable.metadata");
const char *v_expandableOperations = jResp.stringOf("relationData.createdBy.personalSpace._expandable.operations");
const char *LookAndFeel = jResp.stringOf("relationData.createdBy.personalSpace._expandable.lookAndFeel");
const char *Permissions = jResp.stringOf("relationData.createdBy.personalSpace._expandable.permissions");
const char *Icon = jResp.stringOf("relationData.createdBy.personalSpace._expandable.icon");
const char *Description = jResp.stringOf("relationData.createdBy.personalSpace._expandable.description");
const char *Theme = jResp.stringOf("relationData.createdBy.personalSpace._expandable.theme");
const char *History = jResp.stringOf("relationData.createdBy.personalSpace._expandable.history");
const char *Homepage = jResp.stringOf("relationData.createdBy.personalSpace._expandable.homepage");
const char *IconPath = jResp.stringOf("relationData.createdBy.personalSpace.icon.path");
int IconWidth = jResp.IntOf("relationData.createdBy.personalSpace.icon.width");
int IconHeight = jResp.IntOf("relationData.createdBy.personalSpace.icon.height");
bool IconIsDefault = jResp.BoolOf("relationData.createdBy.personalSpace.icon.isDefault");
const char *PlainValue = jResp.stringOf("relationData.createdBy.personalSpace.description.plain.value");
const char *Representation = jResp.stringOf("relationData.createdBy.personalSpace.description.plain.representation");
const char *ViewValue = jResp.stringOf("relationData.createdBy.personalSpace.description.view.value");
const char *ViewRepresentation = jResp.stringOf("relationData.createdBy.personalSpace.description.view.representation");
const char *HomepageValue = jResp.stringOf("relationData.createdBy.personalSpace.homepage.value");
int Start = jResp.IntOf("relationData.createdBy.personalSpace.metadata.labels.start");
int Limit = jResp.IntOf("relationData.createdBy.personalSpace.metadata.labels.limit");
int Size = jResp.IntOf("relationData.createdBy.personalSpace.metadata.labels.size");
bool RouteOverrideEnabled = jResp.BoolOf("relationData.createdBy.personalSpace.settings.routeOverrideEnabled");
const char *Color = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.headings.color");
const char *LinksColor = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.links.color");
const char *HoverOrFocusValue = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.menus.hoverOrFocus.value");
const char *ColorValue = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.menus.color.value");
const char *BackgroundColorValue = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.header.backgroundColor.value");
const char *ButtonValue = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.header.button.value");
const char *PrimaryNavigationValue = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.header.primaryNavigation.value");
const char *SecondaryNavigationValue = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.header.secondaryNavigation.value");
const char *SearchValue = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.header.search.value");
const char *ScreenValue = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.content.screen.value");
const char *ContainerValue = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.content.container.value");
const char *HeaderValue = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.content.header.value");
const char *BodyValue = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.content.body.value");
const char *BordersAndDividersColor = jResp.stringOf("relationData.createdBy.personalSpace.lookAndFeel.bordersAndDividers.color");
const char *CreatedDate = jResp.stringOf("relationData.createdBy.personalSpace.history.createdDate");
const char *relationDataCreatedDate = jResp.stringOf("relationData.createdDate");
const char *FriendlyCreatedDate = jResp.stringOf("relationData.friendlyCreatedDate");
int i = 0;
int count_i = jResp.SizeOfArray("relationData.createdBy.operations");
while (i < count_i) {
jResp.put_I(i);
operation = jResp.stringOf("relationData.createdBy.operations[i].operation");
targetType = jResp.stringOf("relationData.createdBy.operations[i].targetType");
i = i + 1;
}
i = 0;
count_i = jResp.SizeOfArray("relationData.createdBy.personalSpace.description.plain.embeddedContent");
while (i < count_i) {
jResp.put_I(i);
value = jResp.stringOf("relationData.createdBy.personalSpace.description.plain.embeddedContent[i].value");
i = i + 1;
}
i = 0;
count_i = jResp.SizeOfArray("relationData.createdBy.personalSpace.description.view.embeddedContent");
while (i < count_i) {
jResp.put_I(i);
value = jResp.stringOf("relationData.createdBy.personalSpace.description.view.embeddedContent[i].value");
i = i + 1;
}
i = 0;
count_i = jResp.SizeOfArray("relationData.createdBy.personalSpace.metadata.labels.results");
while (i < count_i) {
jResp.put_I(i);
value = jResp.stringOf("relationData.createdBy.personalSpace.metadata.labels.results[i].value");
i = i + 1;
}
i = 0;
count_i = jResp.SizeOfArray("relationData.createdBy.personalSpace.operations");
while (i < count_i) {
jResp.put_I(i);
operation = jResp.stringOf("relationData.createdBy.personalSpace.operations[i].operation");
targetType = jResp.stringOf("relationData.createdBy.personalSpace.operations[i].targetType");
i = i + 1;
}
i = 0;
count_i = jResp.SizeOfArray("relationData.createdBy.personalSpace.permissions");
while (i < count_i) {
jResp.put_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;
}
}
Curl Command
curl -G -d "sourceStatus=%3Cstring%3E"
-d "targetStatus=%3Cstring%3E"
-d "sourceVersion=%3Cinteger%3E"
-d "targetVersion=%3Cinteger%3E"
-d "expand=%3Cstring%3E"
-d "expand=%3Cstring%3E"
-H "Authorization: Bearer <access_token>"
https://your-domain.atlassian.net/wiki/rest/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey
Postman Collection Item JSON
{
"name": "Find relationship from source to target",
"request": {
"auth": {
"type": "oauth2"
},
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>&expand=<string>&expand=<string>",
"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'."
},
{
"key": "expand",
"value": "<string>",
"description": "A multi-value parameter indicating which properties of the response\nobject to expand.\n\n- `relationData` returns information about the relationship, such as\nwho created it and when it was created.\n- `source` returns the source entity.\n- `target` returns the target entity."
},
{
"key": "expand",
"value": "<string>",
"description": "A multi-value parameter indicating which properties of the response\nobject to expand.\n\n- `relationData` returns information about the relationship, such as\nwho created it and when it was created.\n- `source` returns the source entity.\n- `target` returns the target entity."
}
],
"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 as well as any other relationship\ntypes created via [Create relationship](#api-relation-relationName-from-sourceType-sourceKey-to-targetType-targetKey-put)."
},
{
"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 user), the user key of the user, or\nthe account ID of the user. Note that the user key has been deprecated in favor of the account ID for this parameter. See the\n[migration guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)\nfor details.\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 `targetType` is `user`, then specify either `current` (logged-in user), the user key of the user, or\nthe account ID of the user. Note that the user key has been deprecated in favor of the account ID for this parameter. See the\n[migration guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)\nfor details.\n- If `targetType` is 'content', then specify the content ID.\n- If `targetType` is 'space', then specify the space key."
}
]
},
"description": "Find whether a particular type of relationship exists from a source\nentity to a target entity. Note, relationships are one way.\n\nFor example, you can use this method to find whether the current user has\nselected a particular page as a favorite (i.e. 'save for later'):\n`GET https://your-domain.atlassian.net/wiki/rest/api/relation/favourite/from/user/current/to/content/123`\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view both the target entity and source entity."
},
"response": [
{
"name": "Returned if the relationship exists.",
"originalRequest": {
"method": "GET",
"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>&expand=<string>&expand=<string>",
"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>"
},
{
"key": "expand",
"value": "<string>"
},
{
"key": "expand",
"value": "<string>"
}
],
"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 view the\nrelationship.",
"originalRequest": {
"method": "GET",
"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>&expand=<string>&expand=<string>",
"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>"
},
{
"key": "expand",
"value": "<string>"
},
{
"key": "expand",
"value": "<string>"
}
],
"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 relationship does not exist.",
"originalRequest": {
"method": "GET",
"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>&expand=<string>&expand=<string>",
"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>"
},
{
"key": "expand",
"value": "<string>"
},
{
"key": "expand",
"value": "<string>"
}
],
"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": ""
}
]
}