Chilkat Online Tools

VB6 / Atlassian Confluence Cloud / Get content versions

Back to Collection Items

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

Dim http As New ChilkatHttp
Dim success As Long

Dim queryParams As New ChilkatJsonObject
success = queryParams.UpdateInt("start",0)
success = queryParams.UpdateInt("limit",200)
success = queryParams.UpdateString("expand","<string>")
success = queryParams.UpdateString("expand","<string>")

' Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"

Dim resp As ChilkatHttpResponse
Set resp = http.QuickRequestParams("GET","https://your-domain.atlassian.net/wiki/rest/api/content/:id/version",queryParams)
If (http.LastMethodSuccess = 0) Then
    Debug.Print http.LastErrorText
    Exit Sub
End If

Dim sbResponseBody As New ChilkatStringBuilder
success = resp.GetBodySb(sbResponseBody)

Dim jResp As New ChilkatJsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0

Debug.Print "Response Body:"
Debug.Print jResp.Emit()

Dim respStatusCode As Long
respStatusCode = resp.StatusCode
Debug.Print "Response Status Code = " & respStatusCode
If (respStatusCode >= 400) Then
    Debug.Print "Response Header:"
    Debug.Print resp.Header
    Debug.Print "Failed."

    Exit Sub
End If

' Sample JSON response:
' (Sample code for parsing the JSON response is shown below)

' {
'   "results": [
'     {
'       "by": {
'         "type": "known",
'         "accountId": "nostrud",
'         "accountType": "atlassian",
'         "email": "anim elit esse ut",
'         "publicName": "ullamco",
'         "profilePicture": {
'           "path": "p",
'           "width": -77872476,
'           "height": 61065658,
'           "isDefault": false
'         },
'         "displayName": "eu",
'         "_expandable": {
'           "operations": "Excepteur",
'           "details": "consequat irure nostrud Lorem",
'           "personalSpace": "aute ullamco mollit"
'         },
'         "_links": {},
'         "username": "nulla laborum",
'         "userKey": "elit",
'         "operations": [
'           {
'             "operation": "restore",
'             "targetType": "blogpost"
'           },
'           {
'             "operation": "copy",
'             "targetType": "attachment"
'           }
'         ],
'         "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": -97629470,
'           "key": "labore exercitation nulla ex",
'           "name": "Duis consectetur anim",
'           "type": "laborum reprehenderit laboris Ut",
'           "status": "laboris sit mollit nulla",
'           "_expandable": {
'             "settings": "nisi sit",
'             "metadata": "qui do",
'             "operations": "v",
'             "lookAndFeel": "esse irure aliquip amet dolor",
'             "permissions": "cillum mollit",
'             "icon": "proident aliquip",
'             "description": "voluptate enim",
'             "theme": "voluptate",
'             "history": "ea tempor",
'             "homepage": "esse sed Lorem"
'           },
'           "_links": {},
'           "icon": {
'             "path": "nostrud enim mollit voluptate dolor",
'             "width": 30074773,
'             "height": 56410680,
'             "isDefault": true
'           },
'           "description": {
'             "plain": {
'               "value": "nostrud in tempor",
'               "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": "exercitation Ut",
'               "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": 2894494,
'               "limit": 84285993,
'               "size": -38756606,
'               "_links": {}
'             }
'           },
'           "operations": [
'             {
'               "operation": "delete",
'               "targetType": "comment"
'             },
'             {
'               "operation": "purge_version",
'               "targetType": "space"
'             }
'           ],
'           "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": "update",
'                 "targetType": "blogpost"
'               },
'               "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": "application"
'               },
'               "anonymousAccess": false,
'               "unlicensedAccess": false
'             }
'           ],
'           "settings": {
'             "routeOverrideEnabled": false,
'             "_links": {}
'           },
'           "theme": {},
'           "lookAndFeel": {
'             "headings": {
'               "color": "cillum reprehenderit eu sunt"
'             },
'             "links": {
'               "color": "culpa qui"
'             },
'             "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": "sed"
'             }
'           },
'           "history": {
'             "createdDate": "1952-06-10T14:31:50.998Z"
'           }
'         }
'       },
'       "when": "1953-06-13T02:44:53.322Z",
'       "friendlyWhen": "magna culpa consectetur et",
'       "message": "esse quis id",
'       "number": 323605,
'       "minorEdit": true,
'       "_expandable": {
'         "content": "esse ",
'         "collaborators": "non Excepteur"
'       },
'       "_links": {},
'       "content": {
'         "value": "<Circular reference to #/components/schemas/Content detected>"
'       },
'       "collaborators": {
'         "users": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "userKeys": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "_links": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         }
'       }
'     },
'     {
'       "by": {
'         "type": "unknown",
'         "accountId": "Duis fugiat cupidatat",
'         "accountType": "atlassian",
'         "email": "ea in quis anim",
'         "publicName": "ullamco Lorem in",
'         "profilePicture": {
'           "path": "est sit",
'           "width": -36330137,
'           "height": -12646253,
'           "isDefault": true
'         },
'         "displayName": "deserunt a",
'         "_expandable": {
'           "operations": "velit in quis ipsum",
'           "details": "magna ea",
'           "personalSpace": "Excepteur eu est"
'         },
'         "_links": {},
'         "username": "eiusmod in cupidatat",
'         "userKey": "esse",
'         "operations": [
'           {
'             "operation": "create",
'             "targetType": "blogpost"
'           },
'           {
'             "operation": "create",
'             "targetType": "blogpost"
'           }
'         ],
'         "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": 47490726,
'           "key": "velit ",
'           "name": "nulla aliqua",
'           "type": "ea laboris",
'           "status": "cillum adipisicing ullamco laboris",
'           "_expandable": {
'             "settings": "proident ex",
'             "metadata": "quis irure dol",
'             "operations": "nostrud eiusmod nisi",
'             "lookAndFeel": "exercitation sunt labore non",
'             "permissions": "eiusmod in ad fugiat",
'             "icon": "nisi nostrud",
'             "description": "adipisicing in voluptate",
'             "theme": "ad dolore Duis sunt",
'             "history": "u",
'             "homepage": "nul"
'           },
'           "_links": {},
'           "icon": {
'             "path": "cillum sit eu",
'             "width": -34925021,
'             "height": 90425798,
'             "isDefault": false
'           },
'           "description": {
'             "plain": {
'               "value": "quis sunt",
'               "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": "sit id",
'               "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>"
'                 }
'               ]
'             }
'           },
'           "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": 83779927,
'               "limit": -87535719,
'               "size": -65924145,
'               "_links": {}
'             }
'           },
'           "operations": [
'             {
'               "operation": "purge_version",
'               "targetType": "attachment"
'             },
'             {
'               "operation": "move",
'               "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": "export",
'                 "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": "use",
'                 "targetType": "page"
'               },
'               "anonymousAccess": false,
'               "unlicensedAccess": false
'             }
'           ],
'           "settings": {
'             "routeOverrideEnabled": false,
'             "_links": {}
'           },
'           "theme": {},
'           "lookAndFeel": {
'             "headings": {
'               "color": "veniam"
'             },
'             "links": {
'               "color": "nisi"
'             },
'             "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": "tempor laboris proident esse do"
'             }
'           },
'           "history": {
'             "createdDate": "2007-04-13T10:59:32.679Z"
'           }
'         }
'       },
'       "when": "1989-05-19T00:33:37.730Z",
'       "friendlyWhen": "irure ut",
'       "message": "adipisicing id ad sunt sint",
'       "number": 74656274,
'       "minorEdit": false,
'       "_expandable": {
'         "content": "des",
'         "collaborators": "eu"
'       },
'       "_links": {},
'       "content": {
'         "value": "<Circular reference to #/components/schemas/Content detected>"
'       },
'       "collaborators": {
'         "users": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "userKeys": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "_links": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         }
'       }
'     }
'   ],
'   "start": 56422235,
'   "limit": -9071484,
'   "size": 19664442,
'   "_links": {}
' }

' Sample code for parsing the JSON response...
' Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

Dim v_Type As String
Dim AccountId As String
Dim AccountType As String
Dim v_Email As String
Dim PublicName As String
Dim Path As String
Dim Width As Long
Dim Height As Long
Dim IsDefault As Long
Dim DisplayName As String
Dim Operations As String
Dim Details As String
Dim PersonalSpace As String
Dim Username As String
Dim UserKey As String
Dim Value As String
Dim PersonalValue As String
Dim Id As Long
Dim Key As String
Dim Name As String
Dim PersonalSpaceType As String
Dim Status As String
Dim Settings As String
Dim Metadata As String
Dim v_expandableOperations As String
Dim LookAndFeel As String
Dim Permissions As String
Dim Icon As String
Dim Description As String
Dim Theme As String
Dim History As String
Dim Homepage As String
Dim IconPath As String
Dim IconWidth As Long
Dim IconHeight As Long
Dim IconIsDefault As Long
Dim PlainValue As String
Dim Representation As String
Dim ViewValue As String
Dim ViewRepresentation As String
Dim HomepageValue As String
Dim Start As Long
Dim Limit As Long
Dim Size As Long
Dim RouteOverrideEnabled As Long
Dim Color As String
Dim LinksColor As String
Dim HoverOrFocusValue As String
Dim ColorValue As String
Dim BackgroundColorValue As String
Dim ButtonValue As String
Dim PrimaryNavigationValue As String
Dim SecondaryNavigationValue As String
Dim SearchValue As String
Dim ScreenValue As String
Dim ContainerValue As String
Dim HeaderValue As String
Dim BodyValue As String
Dim BordersAndDividersColor As String
Dim CreatedDate As String
Dim when As String
Dim friendlyWhen As String
Dim message As String
Dim v_number As Long
Dim minorEdit As Long
Dim Content As String
Dim Collaborators As String
Dim contentValue As String
Dim UsersValue As String
Dim UserKeysValue As String
Dim v_linksValue As String
Dim j As Long
Dim count_j As Long
Dim operation As String
Dim targetType As String
Dim value As String
Dim v_expandableValue As String
Dim UserValue As String
Dim GroupValue As String
Dim Operation As String
Dim TargetType As String
Dim anonymousAccess As Long
Dim unlicensedAccess As Long

Dim start As Long
start = jResp.IntOf("start")
Dim limit As Long
limit = jResp.IntOf("limit")
Dim size As Long
size = jResp.IntOf("size")
Dim i As Long
i = 0
Dim count_i As Long
count_i = jResp.SizeOfArray("results")
Do While i < count_i
    jResp.I = i
    v_Type = jResp.StringOf("results[i].by.type")
    AccountId = jResp.StringOf("results[i].by.accountId")
    AccountType = jResp.StringOf("results[i].by.accountType")
    v_Email = jResp.StringOf("results[i].by.email")
    PublicName = jResp.StringOf("results[i].by.publicName")
    Path = jResp.StringOf("results[i].by.profilePicture.path")
    Width = jResp.IntOf("results[i].by.profilePicture.width")
    Height = jResp.IntOf("results[i].by.profilePicture.height")
    IsDefault = jResp.BoolOf("results[i].by.profilePicture.isDefault")
    DisplayName = jResp.StringOf("results[i].by.displayName")
    Operations = jResp.StringOf("results[i].by._expandable.operations")
    Details = jResp.StringOf("results[i].by._expandable.details")
    PersonalSpace = jResp.StringOf("results[i].by._expandable.personalSpace")
    Username = jResp.StringOf("results[i].by.username")
    UserKey = jResp.StringOf("results[i].by.userKey")
    Value = jResp.StringOf("results[i].by.details.business.value")
    PersonalValue = jResp.StringOf("results[i].by.details.personal.value")
    Id = jResp.IntOf("results[i].by.personalSpace.id")
    Key = jResp.StringOf("results[i].by.personalSpace.key")
    Name = jResp.StringOf("results[i].by.personalSpace.name")
    PersonalSpaceType = jResp.StringOf("results[i].by.personalSpace.type")
    Status = jResp.StringOf("results[i].by.personalSpace.status")
    Settings = jResp.StringOf("results[i].by.personalSpace._expandable.settings")
    Metadata = jResp.StringOf("results[i].by.personalSpace._expandable.metadata")
    v_expandableOperations = jResp.StringOf("results[i].by.personalSpace._expandable.operations")
    LookAndFeel = jResp.StringOf("results[i].by.personalSpace._expandable.lookAndFeel")
    Permissions = jResp.StringOf("results[i].by.personalSpace._expandable.permissions")
    Icon = jResp.StringOf("results[i].by.personalSpace._expandable.icon")
    Description = jResp.StringOf("results[i].by.personalSpace._expandable.description")
    Theme = jResp.StringOf("results[i].by.personalSpace._expandable.theme")
    History = jResp.StringOf("results[i].by.personalSpace._expandable.history")
    Homepage = jResp.StringOf("results[i].by.personalSpace._expandable.homepage")
    IconPath = jResp.StringOf("results[i].by.personalSpace.icon.path")
    IconWidth = jResp.IntOf("results[i].by.personalSpace.icon.width")
    IconHeight = jResp.IntOf("results[i].by.personalSpace.icon.height")
    IconIsDefault = jResp.BoolOf("results[i].by.personalSpace.icon.isDefault")
    PlainValue = jResp.StringOf("results[i].by.personalSpace.description.plain.value")
    Representation = jResp.StringOf("results[i].by.personalSpace.description.plain.representation")
    ViewValue = jResp.StringOf("results[i].by.personalSpace.description.view.value")
    ViewRepresentation = jResp.StringOf("results[i].by.personalSpace.description.view.representation")
    HomepageValue = jResp.StringOf("results[i].by.personalSpace.homepage.value")
    Start = jResp.IntOf("results[i].by.personalSpace.metadata.labels.start")
    Limit = jResp.IntOf("results[i].by.personalSpace.metadata.labels.limit")
    Size = jResp.IntOf("results[i].by.personalSpace.metadata.labels.size")
    RouteOverrideEnabled = jResp.BoolOf("results[i].by.personalSpace.settings.routeOverrideEnabled")
    Color = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.headings.color")
    LinksColor = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.links.color")
    HoverOrFocusValue = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.menus.hoverOrFocus.value")
    ColorValue = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.menus.color.value")
    BackgroundColorValue = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.header.backgroundColor.value")
    ButtonValue = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.header.button.value")
    PrimaryNavigationValue = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.header.primaryNavigation.value")
    SecondaryNavigationValue = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.header.secondaryNavigation.value")
    SearchValue = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.header.search.value")
    ScreenValue = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.content.screen.value")
    ContainerValue = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.content.container.value")
    HeaderValue = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.content.header.value")
    BodyValue = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.content.body.value")
    BordersAndDividersColor = jResp.StringOf("results[i].by.personalSpace.lookAndFeel.bordersAndDividers.color")
    CreatedDate = jResp.StringOf("results[i].by.personalSpace.history.createdDate")
    when = jResp.StringOf("results[i].when")
    friendlyWhen = jResp.StringOf("results[i].friendlyWhen")
    message = jResp.StringOf("results[i].message")
    v_number = jResp.IntOf("results[i].number")
    minorEdit = jResp.BoolOf("results[i].minorEdit")
    Content = jResp.StringOf("results[i]._expandable.content")
    Collaborators = jResp.StringOf("results[i]._expandable.collaborators")
    contentValue = jResp.StringOf("results[i].content.value")
    UsersValue = jResp.StringOf("results[i].collaborators.users.value")
    UserKeysValue = jResp.StringOf("results[i].collaborators.userKeys.value")
    v_linksValue = jResp.StringOf("results[i].collaborators._links.value")
    j = 0
    count_j = jResp.SizeOfArray("results[i].by.operations")
    Do While j < count_j
        jResp.J = j
        operation = jResp.StringOf("results[i].by.operations[j].operation")
        targetType = jResp.StringOf("results[i].by.operations[j].targetType")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("results[i].by.personalSpace.description.plain.embeddedContent")
    Do While j < count_j
        jResp.J = j
        value = jResp.StringOf("results[i].by.personalSpace.description.plain.embeddedContent[j].value")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("results[i].by.personalSpace.description.view.embeddedContent")
    Do While j < count_j
        jResp.J = j
        value = jResp.StringOf("results[i].by.personalSpace.description.view.embeddedContent[j].value")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("results[i].by.personalSpace.metadata.labels.results")
    Do While j < count_j
        jResp.J = j
        value = jResp.StringOf("results[i].by.personalSpace.metadata.labels.results[j].value")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("results[i].by.personalSpace.operations")
    Do While j < count_j
        jResp.J = j
        operation = jResp.StringOf("results[i].by.personalSpace.operations[j].operation")
        targetType = jResp.StringOf("results[i].by.personalSpace.operations[j].targetType")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("results[i].by.personalSpace.permissions")
    Do While j < count_j
        jResp.J = j
        v_expandableValue = jResp.StringOf("results[i].by.personalSpace.permissions[j].subjects._expandable.value")
        UserValue = jResp.StringOf("results[i].by.personalSpace.permissions[j].subjects.user.value")
        GroupValue = jResp.StringOf("results[i].by.personalSpace.permissions[j].subjects.group.value")
        Operation = jResp.StringOf("results[i].by.personalSpace.permissions[j].operation.operation")
        TargetType = jResp.StringOf("results[i].by.personalSpace.permissions[j].operation.targetType")
        anonymousAccess = jResp.BoolOf("results[i].by.personalSpace.permissions[j].anonymousAccess")
        unlicensedAccess = jResp.BoolOf("results[i].by.personalSpace.permissions[j].unlicensedAccess")
        j = j + 1
    Loop
    i = i + 1
Loop

Curl Command

curl -G -d "start=0"
	-d "limit=200"
	-d "expand=%3Cstring%3E"
	-d "expand=%3Cstring%3E"
	-H "Authorization: Bearer <access_token>"
https://your-domain.atlassian.net/wiki/rest/api/content/:id/version

Postman Collection Item JSON

{
  "name": "Get content versions",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/api/content/:id/version?start=0&limit=200&expand=<string>&expand=<string>",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "content",
        ":id",
        "version"
      ],
      "query": [
        {
          "key": "start",
          "value": "0",
          "description": "The starting index of the returned versions."
        },
        {
          "key": "limit",
          "value": "200",
          "description": "The maximum number of versions to return per page.\nNote, this may be restricted by fixed system limits."
        },
        {
          "key": "expand",
          "value": "<string>",
          "description": "A multi-value parameter indicating which properties of the content to expand.\n\n- `collaborators` returns the users that collaborated on the version.\n- `content` returns the content for the version."
        },
        {
          "key": "expand",
          "value": "<string>",
          "description": "A multi-value parameter indicating which properties of the content to expand.\n\n- `collaborators` returns the users that collaborated on the version.\n- `content` returns the content for the version."
        }
      ],
      "variable": [
        {
          "key": "id",
          "value": "<string>",
          "type": "string",
          "description": "(Required) The ID of the content to be queried for its versions."
        }
      ]
    },
    "description": "Returns the versions for a piece of content in descending order.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the content. If the content is a blog post, 'View' permission\nfor the space is required."
  },
  "response": [
    {
      "name": "Returned if the requested versions 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/content/:id/version?start=0&limit=200&expand=<string>&expand=<string>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "content",
            ":id",
            "version"
          ],
          "query": [
            {
              "key": "start",
              "value": "0"
            },
            {
              "key": "limit",
              "value": "200"
            },
            {
              "key": "expand",
              "value": "<string>"
            },
            {
              "key": "expand",
              "value": "<string>"
            }
          ],
          "variable": [
            {
              "key": "id"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"results\": [\n  {\n   \"by\": {\n    \"type\": \"known\",\n    \"accountId\": \"nostrud\",\n    \"accountType\": \"atlassian\",\n    \"email\": \"anim elit esse ut\",\n    \"publicName\": \"ullamco\",\n    \"profilePicture\": {\n     \"path\": \"p\",\n     \"width\": -77872476,\n     \"height\": 61065658,\n     \"isDefault\": false\n    },\n    \"displayName\": \"eu\",\n    \"_expandable\": {\n     \"operations\": \"Excepteur\",\n     \"details\": \"consequat irure nostrud Lorem\",\n     \"personalSpace\": \"aute ullamco mollit\"\n    },\n    \"_links\": {},\n    \"username\": \"nulla laborum\",\n    \"userKey\": \"elit\",\n    \"operations\": [\n     {\n      \"operation\": \"restore\",\n      \"targetType\": \"blogpost\"\n     },\n     {\n      \"operation\": \"copy\",\n      \"targetType\": \"attachment\"\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\": -97629470,\n     \"key\": \"labore exercitation nulla ex\",\n     \"name\": \"Duis consectetur anim\",\n     \"type\": \"laborum reprehenderit laboris Ut\",\n     \"status\": \"laboris sit mollit nulla\",\n     \"_expandable\": {\n      \"settings\": \"nisi sit\",\n      \"metadata\": \"qui do\",\n      \"operations\": \"v\",\n      \"lookAndFeel\": \"esse irure aliquip amet dolor\",\n      \"permissions\": \"cillum mollit\",\n      \"icon\": \"proident aliquip\",\n      \"description\": \"voluptate enim\",\n      \"theme\": \"voluptate\",\n      \"history\": \"ea tempor\",\n      \"homepage\": \"esse sed Lorem\"\n     },\n     \"_links\": {},\n     \"icon\": {\n      \"path\": \"nostrud enim mollit voluptate dolor\",\n      \"width\": 30074773,\n      \"height\": 56410680,\n      \"isDefault\": true\n     },\n     \"description\": {\n      \"plain\": {\n       \"value\": \"nostrud in tempor\",\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\": \"exercitation Ut\",\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\": 2894494,\n       \"limit\": 84285993,\n       \"size\": -38756606,\n       \"_links\": {}\n      }\n     },\n     \"operations\": [\n      {\n       \"operation\": \"delete\",\n       \"targetType\": \"comment\"\n      },\n      {\n       \"operation\": \"purge_version\",\n       \"targetType\": \"space\"\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\": \"update\",\n        \"targetType\": \"blogpost\"\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\": \"application\"\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\": \"cillum reprehenderit eu sunt\"\n      },\n      \"links\": {\n       \"color\": \"culpa qui\"\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\": \"sed\"\n      }\n     },\n     \"history\": {\n      \"createdDate\": \"1952-06-10T14:31:50.998Z\"\n     }\n    }\n   },\n   \"when\": \"1953-06-13T02:44:53.322Z\",\n   \"friendlyWhen\": \"magna culpa consectetur et\",\n   \"message\": \"esse quis id\",\n   \"number\": 323605,\n   \"minorEdit\": true,\n   \"_expandable\": {\n    \"content\": \"esse \",\n    \"collaborators\": \"non Excepteur\"\n   },\n   \"_links\": {},\n   \"content\": {\n    \"value\": \"<Circular reference to #/components/schemas/Content detected>\"\n   },\n   \"collaborators\": {\n    \"users\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"userKeys\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"_links\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    }\n   }\n  },\n  {\n   \"by\": {\n    \"type\": \"unknown\",\n    \"accountId\": \"Duis fugiat cupidatat\",\n    \"accountType\": \"atlassian\",\n    \"email\": \"ea in quis anim\",\n    \"publicName\": \"ullamco Lorem in\",\n    \"profilePicture\": {\n     \"path\": \"est sit\",\n     \"width\": -36330137,\n     \"height\": -12646253,\n     \"isDefault\": true\n    },\n    \"displayName\": \"deserunt a\",\n    \"_expandable\": {\n     \"operations\": \"velit in quis ipsum\",\n     \"details\": \"magna ea\",\n     \"personalSpace\": \"Excepteur eu est\"\n    },\n    \"_links\": {},\n    \"username\": \"eiusmod in cupidatat\",\n    \"userKey\": \"esse\",\n    \"operations\": [\n     {\n      \"operation\": \"create\",\n      \"targetType\": \"blogpost\"\n     },\n     {\n      \"operation\": \"create\",\n      \"targetType\": \"blogpost\"\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\": 47490726,\n     \"key\": \"velit \",\n     \"name\": \"nulla aliqua\",\n     \"type\": \"ea laboris\",\n     \"status\": \"cillum adipisicing ullamco laboris\",\n     \"_expandable\": {\n      \"settings\": \"proident ex\",\n      \"metadata\": \"quis irure dol\",\n      \"operations\": \"nostrud eiusmod nisi\",\n      \"lookAndFeel\": \"exercitation sunt labore non\",\n      \"permissions\": \"eiusmod in ad fugiat\",\n      \"icon\": \"nisi nostrud\",\n      \"description\": \"adipisicing in voluptate\",\n      \"theme\": \"ad dolore Duis sunt\",\n      \"history\": \"u\",\n      \"homepage\": \"nul\"\n     },\n     \"_links\": {},\n     \"icon\": {\n      \"path\": \"cillum sit eu\",\n      \"width\": -34925021,\n      \"height\": 90425798,\n      \"isDefault\": false\n     },\n     \"description\": {\n      \"plain\": {\n       \"value\": \"quis sunt\",\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\": \"sit id\",\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     },\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\": 83779927,\n       \"limit\": -87535719,\n       \"size\": -65924145,\n       \"_links\": {}\n      }\n     },\n     \"operations\": [\n      {\n       \"operation\": \"purge_version\",\n       \"targetType\": \"attachment\"\n      },\n      {\n       \"operation\": \"move\",\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\": \"export\",\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\": \"use\",\n        \"targetType\": \"page\"\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\": \"veniam\"\n      },\n      \"links\": {\n       \"color\": \"nisi\"\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\": \"tempor laboris proident esse do\"\n      }\n     },\n     \"history\": {\n      \"createdDate\": \"2007-04-13T10:59:32.679Z\"\n     }\n    }\n   },\n   \"when\": \"1989-05-19T00:33:37.730Z\",\n   \"friendlyWhen\": \"irure ut\",\n   \"message\": \"adipisicing id ad sunt sint\",\n   \"number\": 74656274,\n   \"minorEdit\": false,\n   \"_expandable\": {\n    \"content\": \"des\",\n    \"collaborators\": \"eu\"\n   },\n   \"_links\": {},\n   \"content\": {\n    \"value\": \"<Circular reference to #/components/schemas/Content detected>\"\n   },\n   \"collaborators\": {\n    \"users\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"userKeys\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"_links\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    }\n   }\n  }\n ],\n \"start\": 56422235,\n \"limit\": -9071484,\n \"size\": 19664442,\n \"_links\": {}\n}"
    },
    {
      "name": "Returned if the calling user does not have permission to view the\ncontent.",
      "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/content/:id/version?start=0&limit=200&expand=<string>&expand=<string>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "content",
            ":id",
            "version"
          ],
          "query": [
            {
              "key": "start",
              "value": "0"
            },
            {
              "key": "limit",
              "value": "200"
            },
            {
              "key": "expand",
              "value": "<string>"
            },
            {
              "key": "expand",
              "value": "<string>"
            }
          ],
          "variable": [
            {
              "key": "id"
            }
          ]
        }
      },
      "status": "Forbidden",
      "code": 403,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    }
  ]
}