Go / Atlassian Confluence Cloud / Find source entities related to a target entity
Back to Collection Items
// This example assumes the Chilkat API to have been previously unlocked.
// See Global_Ref.html">Global Unlock Sample for sample code.
http := chilkat.NewHttp()
var success bool
queryParams := chilkat.NewJsonObject()
queryParams.UpdateString("sourceStatus","<string>")
queryParams.UpdateString("targetStatus","<string>")
queryParams.UpdateString("sourceVersion","<integer>")
queryParams.UpdateString("targetVersion","<integer>")
queryParams.UpdateString("expand","<string>")
queryParams.UpdateString("expand","<string>")
queryParams.UpdateInt("start",0)
queryParams.UpdateInt("limit",25)
// Adds the "Authorization: Bearer <access_token>" header.
http.SetAuthToken("<access_token>")
resp := http.QuickRequestParams("GET","https://your-domain.atlassian.net/wiki/rest/api/relation/:relationName/to/:targetType/:targetKey/from/:sourceType",queryParams)
if http.LastMethodSuccess() == false {
fmt.Println(http.LastErrorText())
http.DisposeHttp()
queryParams.DisposeJsonObject()
return
}
sbResponseBody := chilkat.NewStringBuilder()
resp.GetBodySb(sbResponseBody)
jResp := chilkat.NewJsonObject()
jResp.LoadSb(sbResponseBody)
jResp.SetEmitCompact(false)
fmt.Println("Response Body:")
fmt.Println(*jResp.Emit())
respStatusCode := resp.StatusCode()
fmt.Println("Response Status Code = ", respStatusCode)
if respStatusCode >= 400 {
fmt.Println("Response Header:")
fmt.Println(resp.Header())
fmt.Println("Failed.")
resp.DisposeHttpResponse()
http.DisposeHttp()
queryParams.DisposeJsonObject()
sbResponseBody.DisposeStringBuilder()
jResp.DisposeJsonObject()
return
}
resp.DisposeHttpResponse()
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "results": [
// {
// "name": "eiusmod sunt laboris",
// "_expandable": {
// "relationData": "velit veniam",
// "source": "eiusmod",
// "target": "ea consectetur cupidatat ad adipisicing"
// },
// "_links": {},
// "relationData": {
// "createdBy": {
// "type": "user",
// "accountId": "velit in exercitation laboris",
// "accountType": "atlassian",
// "email": "id voluptate",
// "publicName": "deserunt",
// "profilePicture": {
// "path": "ut fugiat",
// "width": -38683687,
// "height": 65248683,
// "isDefault": true
// },
// "displayName": "velit commodo ullamco ipsum",
// "_expandable": {
// "operations": "id veniam",
// "details": "pariatur",
// "personalSpace": "enim nostrud exercitation consequat"
// },
// "_links": {},
// "username": "sed ullamco",
// "userKey": "esse quis elit",
// "operations": [
// {
// "operation": "read",
// "targetType": "attachment"
// },
// {
// "operation": "read",
// "targetType": "page"
// }
// ],
// "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": -57606158,
// "key": "sunt cillum aute",
// "name": "dolore elit ea in",
// "type": "non in",
// "status": "aliquip et anim",
// "_expandable": {
// "settings": "ex dolor deserunt anim",
// "metadata": "dolore qui officia Duis",
// "operations": "sed laboris",
// "lookAndFeel": "Duis elit dolore veniam",
// "permissions": "dolor dolore in",
// "icon": "reprehenderit pariatur magna labore irure",
// "description": "Duis aute est fugiat laborum",
// "theme": "qui nulla est",
// "history": "non fugiat do",
// "homepage": "nisi"
// },
// "_links": {},
// "icon": {
// "path": "est labore",
// "width": -327281,
// "height": -79671930,
// "isDefault": false
// },
// "description": {
// "plain": {
// "value": "esse dolore",
// "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": "commodo",
// "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": -56637757,
// "limit": 1062771,
// "size": 37957067,
// "_links": {}
// }
// },
// "operations": [
// {
// "operation": "update",
// "targetType": "page"
// },
// {
// "operation": "move",
// "targetType": "attachment"
// }
// ],
// "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": "purge",
// "targetType": "page"
// },
// "anonymousAccess": false,
// "unlicensedAccess": false
// }
// ],
// "settings": {
// "routeOverrideEnabled": true,
// "_links": {}
// },
// "theme": {},
// "lookAndFeel": {
// "headings": {
// "color": "se"
// },
// "links": {
// "color": "sit"
// },
// "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": "magna consequat"
// }
// },
// "history": {
// "createdDate": "1951-04-28T13:26:19.420Z"
// }
// }
// },
// "createdDate": "1945-06-14T04:34:24.316Z",
// "friendlyCreatedDate": "reprehenderit "
// },
// "source": {},
// "target": {}
// },
// {
// "name": "consectetur Ut enim occaec",
// "_expandable": {
// "relationData": "in est qui",
// "source": "incididunt",
// "target": "laborum magna proident amet aliquip"
// },
// "_links": {},
// "relationData": {
// "createdBy": {
// "type": "user",
// "accountId": "cillu",
// "accountType": "app (if this user is a bot user created on behalf of an Atlassian app)",
// "email": "enim eu",
// "publicName": "eu aute in",
// "profilePicture": {
// "path": "non",
// "width": -48499479,
// "height": 87770702,
// "isDefault": true
// },
// "displayName": "dolore ut",
// "_expandable": {
// "operations": "magna pariatur eiusmod nisi",
// "details": "non consectetur",
// "personalSpace": "nostrud"
// },
// "_links": {},
// "username": "anim aliquip eu amet",
// "userKey": "dolore ullamco nostrud laboris",
// "operations": [
// {
// "operation": "administer",
// "targetType": "comment"
// },
// {
// "operation": "export",
// "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": 96005227,
// "key": "elit eiusmod ad",
// "name": "in tempor ad",
// "type": "et elit officia",
// "status": "dolore",
// "_expandable": {
// "settings": "ad aliquip nisi sed",
// "metadata": "ut cupidatat",
// "operations": "veniam sit",
// "lookAndFeel": "anim ex",
// "permissions": "mollit qui Lorem nulla quis",
// "icon": "amet fugiat dolor cupidatat",
// "description": "consequat anim",
// "theme": "ipsum",
// "history": "aliqua Dui",
// "homepage": "voluptate consectetur do Ut ut"
// },
// "_links": {},
// "icon": {
// "path": "ex minim consectetur",
// "width": -35571565,
// "height": -58278363,
// "isDefault": false
// },
// "description": {
// "plain": {
// "value": "dolor exercitation",
// "representation": "plain",
// "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": "velit irure laborum id nostrud",
// "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": 36294069,
// "limit": -28282967,
// "size": 56940014,
// "_links": {}
// }
// },
// "operations": [
// {
// "operation": "administer",
// "targetType": "blogpost"
// },
// {
// "operation": "read",
// "targetType": "application"
// }
// ],
// "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",
// "targetType": "attachment"
// },
// "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": "create",
// "targetType": "space"
// },
// "anonymousAccess": false,
// "unlicensedAccess": false
// }
// ],
// "settings": {
// "routeOverrideEnabled": false,
// "_links": {}
// },
// "theme": {},
// "lookAndFeel": {
// "headings": {
// "color": "dolore consequat occaeca"
// },
// "links": {
// "color": "occaecat ut sit"
// },
// "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": "deserunt Duis laborum ad"
// }
// },
// "history": {
// "createdDate": "1977-01-29T01:15:06.769Z"
// }
// }
// },
// "createdDate": "2018-11-14T12:56:13.456Z",
// "friendlyCreatedDate": "reprehenderit laborum"
// },
// "source": {},
// "target": {}
// }
// ],
// "start": -48357202,
// "limit": 5335291,
// "size": 43833338,
// "_links": {}
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
var name *string = new(string)
var RelationData *string = new(string)
var Source *string = new(string)
var Target *string = new(string)
var v_Type *string = new(string)
var AccountId *string = new(string)
var AccountType *string = new(string)
var v_Email_Ref.html">Email *string = new(string)
Public var Name *string = new(string)
var Path *string = new(string)
var Width int
var Height int
var IsDefault bool
var DisplayName *string = new(string)
var Operations *string = new(string)
var Details *string = new(string)
var PersonalSpace *string = new(string)
var Username *string = new(string)
User var Key *string = new(string)
var Value *string = new(string)
Personal var Value *string = new(string)
var Id int
var Key *string = new(string)
var Name *string = new(string)
var PersonalSpaceType *string = new(string)
var Status *string = new(string)
var Settings *string = new(string)
var Metadata *string = new(string)
v_expandable var Operations *string = new(string)
var LookAndFeel *string = new(string)
var Permissions *string = new(string)
var Icon *string = new(string)
var Description *string = new(string)
var Theme *string = new(string)
var History *string = new(string)
var Homepage *string = new(string)
var IconPath *string = new(string)
var IconWidth int
var IconHeight int
var IconIsDefault bool
Plain var Value *string = new(string)
var Representation *string = new(string)
var ViewValue *string = new(string)
View var Representation *string = new(string)
Homepage var Value *string = new(string)
var Start int
var Limit int
var Size int
var RouteOverrideEnabled bool
var Color *string = new(string)
var LinksColor *string = new(string)
HoverOrFocus var Value *string = new(string)
var ColorValue *string = new(string)
Background var ColorValue *string = new(string)
Button var Value *string = new(string)
PrimaryNavigation var Value *string = new(string)
SecondaryNavigation var Value *string = new(string)
Search var Value *string = new(string)
Screen var Value *string = new(string)
Container var Value *string = new(string)
Header var Value *string = new(string)
Body var Value *string = new(string)
BordersAndDividers var Color *string = new(string)
var CreatedDate *string = new(string)
relationData var CreatedDate *string = new(string)
Friendly var CreatedDate *string = new(string)
var j int
var count_j int
var operation *string = new(string)
var targetType *string = new(string)
var value *string = new(string)
v_expandable var Value *string = new(string)
User var Value *string = new(string)
Group var Value *string = new(string)
var Operation *string = new(string)
var TargetType *string = new(string)
var anonymousAccess bool
var unlicensedAccess bool
start := jResp.IntOf("start")
limit := jResp.IntOf("limit")
size := jResp.IntOf("size")
i := 0
count_i := jResp.SizeOfArray("results")
for i < count_i {
jResp.SetI(i)
name = jResp.StringOf("results[i].name")
RelationData = jResp.StringOf("results[i]._expandable.relationData")
Source = jResp.StringOf("results[i]._expandable.source")
Target = jResp.StringOf("results[i]._expandable.target")
v_Type = jResp.StringOf("results[i].relationData.createdBy.type")
AccountId = jResp.StringOf("results[i].relationData.createdBy.accountId")
AccountType = jResp.StringOf("results[i].relationData.createdBy.accountType")
v_Email_Ref.html">Email = jResp.StringOf("results[i].relationData.createdBy.email")
PublicName = jResp.StringOf("results[i].relationData.createdBy.publicName")
Path = jResp.StringOf("results[i].relationData.createdBy.profilePicture.path")
Width = jResp.IntOf("results[i].relationData.createdBy.profilePicture.width")
Height = jResp.IntOf("results[i].relationData.createdBy.profilePicture.height")
IsDefault = jResp.BoolOf("results[i].relationData.createdBy.profilePicture.isDefault")
DisplayName = jResp.StringOf("results[i].relationData.createdBy.displayName")
Operations = jResp.StringOf("results[i].relationData.createdBy._expandable.operations")
Details = jResp.StringOf("results[i].relationData.createdBy._expandable.details")
PersonalSpace = jResp.StringOf("results[i].relationData.createdBy._expandable.personalSpace")
Username = jResp.StringOf("results[i].relationData.createdBy.username")
UserKey = jResp.StringOf("results[i].relationData.createdBy.userKey")
Value = jResp.StringOf("results[i].relationData.createdBy.details.business.value")
PersonalValue = jResp.StringOf("results[i].relationData.createdBy.details.personal.value")
Id = jResp.IntOf("results[i].relationData.createdBy.personalSpace.id")
Key = jResp.StringOf("results[i].relationData.createdBy.personalSpace.key")
Name = jResp.StringOf("results[i].relationData.createdBy.personalSpace.name")
PersonalSpaceType = jResp.StringOf("results[i].relationData.createdBy.personalSpace.type")
Status = jResp.StringOf("results[i].relationData.createdBy.personalSpace.status")
Settings = jResp.StringOf("results[i].relationData.createdBy.personalSpace._expandable.settings")
Metadata = jResp.StringOf("results[i].relationData.createdBy.personalSpace._expandable.metadata")
v_expandableOperations = jResp.StringOf("results[i].relationData.createdBy.personalSpace._expandable.operations")
LookAndFeel = jResp.StringOf("results[i].relationData.createdBy.personalSpace._expandable.lookAndFeel")
Permissions = jResp.StringOf("results[i].relationData.createdBy.personalSpace._expandable.permissions")
Icon = jResp.StringOf("results[i].relationData.createdBy.personalSpace._expandable.icon")
Description = jResp.StringOf("results[i].relationData.createdBy.personalSpace._expandable.description")
Theme = jResp.StringOf("results[i].relationData.createdBy.personalSpace._expandable.theme")
History = jResp.StringOf("results[i].relationData.createdBy.personalSpace._expandable.history")
Homepage = jResp.StringOf("results[i].relationData.createdBy.personalSpace._expandable.homepage")
IconPath = jResp.StringOf("results[i].relationData.createdBy.personalSpace.icon.path")
IconWidth = jResp.IntOf("results[i].relationData.createdBy.personalSpace.icon.width")
IconHeight = jResp.IntOf("results[i].relationData.createdBy.personalSpace.icon.height")
IconIsDefault = jResp.BoolOf("results[i].relationData.createdBy.personalSpace.icon.isDefault")
PlainValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.description.plain.value")
Representation = jResp.StringOf("results[i].relationData.createdBy.personalSpace.description.plain.representation")
ViewValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.description.view.value")
ViewRepresentation = jResp.StringOf("results[i].relationData.createdBy.personalSpace.description.view.representation")
HomepageValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.homepage.value")
Start = jResp.IntOf("results[i].relationData.createdBy.personalSpace.metadata.labels.start")
Limit = jResp.IntOf("results[i].relationData.createdBy.personalSpace.metadata.labels.limit")
Size = jResp.IntOf("results[i].relationData.createdBy.personalSpace.metadata.labels.size")
RouteOverrideEnabled = jResp.BoolOf("results[i].relationData.createdBy.personalSpace.settings.routeOverrideEnabled")
Color = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.headings.color")
LinksColor = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.links.color")
HoverOrFocusValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.menus.hoverOrFocus.value")
ColorValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.menus.color.value")
BackgroundColorValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.header.backgroundColor.value")
ButtonValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.header.button.value")
PrimaryNavigationValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.header.primaryNavigation.value")
SecondaryNavigationValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.header.secondaryNavigation.value")
SearchValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.header.search.value")
ScreenValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.content.screen.value")
ContainerValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.content.container.value")
HeaderValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.content.header.value")
BodyValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.content.body.value")
BordersAndDividersColor = jResp.StringOf("results[i].relationData.createdBy.personalSpace.lookAndFeel.bordersAndDividers.color")
CreatedDate = jResp.StringOf("results[i].relationData.createdBy.personalSpace.history.createdDate")
relationDataCreatedDate = jResp.StringOf("results[i].relationData.createdDate")
FriendlyCreatedDate = jResp.StringOf("results[i].relationData.friendlyCreatedDate")
j = 0
count_j = jResp.SizeOfArray("results[i].relationData.createdBy.operations")
for j < count_j {
jResp.SetJ(j)
operation = jResp.StringOf("results[i].relationData.createdBy.operations[j].operation")
targetType = jResp.StringOf("results[i].relationData.createdBy.operations[j].targetType")
j = j + 1
}
j = 0
count_j = jResp.SizeOfArray("results[i].relationData.createdBy.personalSpace.description.plain.embeddedContent")
for j < count_j {
jResp.SetJ(j)
value = jResp.StringOf("results[i].relationData.createdBy.personalSpace.description.plain.embeddedContent[j].value")
j = j + 1
}
j = 0
count_j = jResp.SizeOfArray("results[i].relationData.createdBy.personalSpace.description.view.embeddedContent")
for j < count_j {
jResp.SetJ(j)
value = jResp.StringOf("results[i].relationData.createdBy.personalSpace.description.view.embeddedContent[j].value")
j = j + 1
}
j = 0
count_j = jResp.SizeOfArray("results[i].relationData.createdBy.personalSpace.metadata.labels.results")
for j < count_j {
jResp.SetJ(j)
value = jResp.StringOf("results[i].relationData.createdBy.personalSpace.metadata.labels.results[j].value")
j = j + 1
}
j = 0
count_j = jResp.SizeOfArray("results[i].relationData.createdBy.personalSpace.operations")
for j < count_j {
jResp.SetJ(j)
operation = jResp.StringOf("results[i].relationData.createdBy.personalSpace.operations[j].operation")
targetType = jResp.StringOf("results[i].relationData.createdBy.personalSpace.operations[j].targetType")
j = j + 1
}
j = 0
count_j = jResp.SizeOfArray("results[i].relationData.createdBy.personalSpace.permissions")
for j < count_j {
jResp.SetJ(j)
v_expandableValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.permissions[j].subjects._expandable.value")
UserValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.permissions[j].subjects.user.value")
GroupValue = jResp.StringOf("results[i].relationData.createdBy.personalSpace.permissions[j].subjects.group.value")
Operation = jResp.StringOf("results[i].relationData.createdBy.personalSpace.permissions[j].operation.operation")
TargetType = jResp.StringOf("results[i].relationData.createdBy.personalSpace.permissions[j].operation.targetType")
anonymousAccess = jResp.BoolOf("results[i].relationData.createdBy.personalSpace.permissions[j].anonymousAccess")
unlicensedAccess = jResp.BoolOf("results[i].relationData.createdBy.personalSpace.permissions[j].unlicensedAccess")
j = j + 1
}
i = i + 1
}
http.DisposeHttp()
queryParams.DisposeJsonObject()
sbResponseBody.DisposeStringBuilder()
jResp.DisposeJsonObject()
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"
-d "start=0"
-d "limit=25"
-H "Authorization: Bearer <access_token>"
https://your-domain.atlassian.net/wiki/rest/api/relation/:relationName/to/:targetType/:targetKey/from/:sourceType
Postman Collection Item JSON
{
"name": "Find source entities related to a target entity",
"request": {
"auth": {
"type": "oauth2"
},
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/relation/:relationName/to/:targetType/:targetKey/from/:sourceType?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>&expand=<string>&expand=<string>&start=0&limit=25",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"relation",
":relationName",
"to",
":targetType",
":targetKey",
"from",
":sourceType"
],
"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."
},
{
"key": "start",
"value": "0",
"description": "The starting index of the returned relationships."
},
{
"key": "limit",
"value": "25",
"description": "The maximum number of relationships to return per page.\nNote, this may be restricted by fixed system limits."
}
],
"variable": [
{
"key": "relationName",
"value": "<string>",
"type": "string",
"description": "(Required) The name of the relationship. This method supports relationships created via\n[Create relationship](#api-relation-relationName-from-sourceType-sourceKey-to-targetType-targetKey-put).\nNote, this method does not support 'favourite' relationships."
},
{
"key": "sourceType",
"value": "<string>",
"type": "string",
"description": "(Required) The source entity type of the relationship."
},
{
"key": "targetType",
"value": "<string>",
"type": "string",
"description": "(Required) The target entity type of the relationship."
},
{
"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": "Returns all target entities that have a particular relationship to the\nsource entity. Note, relationships are one way.\n\nFor example, the following method finds all users that have a 'collaborator'\nrelationship to a piece of content with an ID of '1234':\n`GET https://your-domain.atlassian.net/wiki/rest/api/relation/collaborator/to/content/1234/from/user`\nNote, 'collaborator' is an example custom relationship type.\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 requested relationships are returned.",
"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/to/:targetType/:targetKey/from/:sourceType?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>&expand=<string>&expand=<string>&start=0&limit=25",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"relation",
":relationName",
"to",
":targetType",
":targetKey",
"from",
":sourceType"
],
"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>"
},
{
"key": "start",
"value": "0"
},
{
"key": "limit",
"value": "25"
}
],
"variable": [
{
"key": "relationName"
},
{
"key": "targetType"
},
{
"key": "targetKey"
},
{
"key": "sourceType"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"results\": [\n {\n \"name\": \"eiusmod sunt laboris\",\n \"_expandable\": {\n \"relationData\": \"velit veniam\",\n \"source\": \"eiusmod\",\n \"target\": \"ea consectetur cupidatat ad adipisicing\"\n },\n \"_links\": {},\n \"relationData\": {\n \"createdBy\": {\n \"type\": \"user\",\n \"accountId\": \"velit in exercitation laboris\",\n \"accountType\": \"atlassian\",\n \"email\": \"id voluptate\",\n \"publicName\": \"deserunt\",\n \"profilePicture\": {\n \"path\": \"ut fugiat\",\n \"width\": -38683687,\n \"height\": 65248683,\n \"isDefault\": true\n },\n \"displayName\": \"velit commodo ullamco ipsum\",\n \"_expandable\": {\n \"operations\": \"id veniam\",\n \"details\": \"pariatur\",\n \"personalSpace\": \"enim nostrud exercitation consequat\"\n },\n \"_links\": {},\n \"username\": \"sed ullamco\",\n \"userKey\": \"esse quis elit\",\n \"operations\": [\n {\n \"operation\": \"read\",\n \"targetType\": \"attachment\"\n },\n {\n \"operation\": \"read\",\n \"targetType\": \"page\"\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\": -57606158,\n \"key\": \"sunt cillum aute\",\n \"name\": \"dolore elit ea in\",\n \"type\": \"non in\",\n \"status\": \"aliquip et anim\",\n \"_expandable\": {\n \"settings\": \"ex dolor deserunt anim\",\n \"metadata\": \"dolore qui officia Duis\",\n \"operations\": \"sed laboris\",\n \"lookAndFeel\": \"Duis elit dolore veniam\",\n \"permissions\": \"dolor dolore in\",\n \"icon\": \"reprehenderit pariatur magna labore irure\",\n \"description\": \"Duis aute est fugiat laborum\",\n \"theme\": \"qui nulla est\",\n \"history\": \"non fugiat do\",\n \"homepage\": \"nisi\"\n },\n \"_links\": {},\n \"icon\": {\n \"path\": \"est labore\",\n \"width\": -327281,\n \"height\": -79671930,\n \"isDefault\": false\n },\n \"description\": {\n \"plain\": {\n \"value\": \"esse dolore\",\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\": \"commodo\",\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\": -56637757,\n \"limit\": 1062771,\n \"size\": 37957067,\n \"_links\": {}\n }\n },\n \"operations\": [\n {\n \"operation\": \"update\",\n \"targetType\": \"page\"\n },\n {\n \"operation\": \"move\",\n \"targetType\": \"attachment\"\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\": \"purge\",\n \"targetType\": \"page\"\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\": \"se\"\n },\n \"links\": {\n \"color\": \"sit\"\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\": \"magna consequat\"\n }\n },\n \"history\": {\n \"createdDate\": \"1951-04-28T13:26:19.420Z\"\n }\n }\n },\n \"createdDate\": \"1945-06-14T04:34:24.316Z\",\n \"friendlyCreatedDate\": \"reprehenderit \"\n },\n \"source\": {},\n \"target\": {}\n },\n {\n \"name\": \"consectetur Ut enim occaec\",\n \"_expandable\": {\n \"relationData\": \"in est qui\",\n \"source\": \"incididunt\",\n \"target\": \"laborum magna proident amet aliquip\"\n },\n \"_links\": {},\n \"relationData\": {\n \"createdBy\": {\n \"type\": \"user\",\n \"accountId\": \"cillu\",\n \"accountType\": \"app (if this user is a bot user created on behalf of an Atlassian app)\",\n \"email\": \"enim eu\",\n \"publicName\": \"eu aute in\",\n \"profilePicture\": {\n \"path\": \"non\",\n \"width\": -48499479,\n \"height\": 87770702,\n \"isDefault\": true\n },\n \"displayName\": \"dolore ut\",\n \"_expandable\": {\n \"operations\": \"magna pariatur eiusmod nisi\",\n \"details\": \"non consectetur\",\n \"personalSpace\": \"nostrud\"\n },\n \"_links\": {},\n \"username\": \"anim aliquip eu amet\",\n \"userKey\": \"dolore ullamco nostrud laboris\",\n \"operations\": [\n {\n \"operation\": \"administer\",\n \"targetType\": \"comment\"\n },\n {\n \"operation\": \"export\",\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\": 96005227,\n \"key\": \"elit eiusmod ad\",\n \"name\": \"in tempor ad\",\n \"type\": \"et elit officia\",\n \"status\": \"dolore\",\n \"_expandable\": {\n \"settings\": \"ad aliquip nisi sed\",\n \"metadata\": \"ut cupidatat\",\n \"operations\": \"veniam sit\",\n \"lookAndFeel\": \"anim ex\",\n \"permissions\": \"mollit qui Lorem nulla quis\",\n \"icon\": \"amet fugiat dolor cupidatat\",\n \"description\": \"consequat anim\",\n \"theme\": \"ipsum\",\n \"history\": \"aliqua Dui\",\n \"homepage\": \"voluptate consectetur do Ut ut\"\n },\n \"_links\": {},\n \"icon\": {\n \"path\": \"ex minim consectetur\",\n \"width\": -35571565,\n \"height\": -58278363,\n \"isDefault\": false\n },\n \"description\": {\n \"plain\": {\n \"value\": \"dolor exercitation\",\n \"representation\": \"plain\",\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\": \"velit irure laborum id nostrud\",\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\": 36294069,\n \"limit\": -28282967,\n \"size\": 56940014,\n \"_links\": {}\n }\n },\n \"operations\": [\n {\n \"operation\": \"administer\",\n \"targetType\": \"blogpost\"\n },\n {\n \"operation\": \"read\",\n \"targetType\": \"application\"\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\",\n \"targetType\": \"attachment\"\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\": \"create\",\n \"targetType\": \"space\"\n },\n \"anonymousAccess\": false,\n \"unlicensedAccess\": false\n }\n ],\n \"settings\": {\n \"routeOverrideEnabled\": false,\n \"_links\": {}\n },\n \"theme\": {},\n \"lookAndFeel\": {\n \"headings\": {\n \"color\": \"dolore consequat occaeca\"\n },\n \"links\": {\n \"color\": \"occaecat ut sit\"\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\": \"deserunt Duis laborum ad\"\n }\n },\n \"history\": {\n \"createdDate\": \"1977-01-29T01:15:06.769Z\"\n }\n }\n },\n \"createdDate\": \"2018-11-14T12:56:13.456Z\",\n \"friendlyCreatedDate\": \"reprehenderit laborum\"\n },\n \"source\": {},\n \"target\": {}\n }\n ],\n \"start\": -48357202,\n \"limit\": 5335291,\n \"size\": 43833338,\n \"_links\": {}\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/to/:targetType/:targetKey/from/:sourceType?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>&expand=<string>&expand=<string>&start=0&limit=25",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"relation",
":relationName",
"to",
":targetType",
":targetKey",
"from",
":sourceType"
],
"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>"
},
{
"key": "start",
"value": "0"
},
{
"key": "limit",
"value": "25"
}
],
"variable": [
{
"key": "relationName"
},
{
"key": "targetType"
},
{
"key": "targetKey"
},
{
"key": "sourceType"
}
]
}
},
"status": "Forbidden",
"code": 403,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
},
{
"name": "Returned if the target entity 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/to/:targetType/:targetKey/from/:sourceType?sourceStatus=<string>&targetStatus=<string>&sourceVersion=<integer>&targetVersion=<integer>&expand=<string>&expand=<string>&start=0&limit=25",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"relation",
":relationName",
"to",
":targetType",
":targetKey",
"from",
":sourceType"
],
"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>"
},
{
"key": "start",
"value": "0"
},
{
"key": "limit",
"value": "25"
}
],
"variable": [
{
"key": "relationName"
},
{
"key": "targetType"
},
{
"key": "targetKey"
},
{
"key": "sourceType"
}
]
}
},
"status": "Not Found",
"code": 404,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
}
]
}