Chilkat Online Tools

VB.NET / 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 Chilkat.Http
Dim success As Boolean

Dim queryParams As New Chilkat.JsonObject
queryParams.UpdateInt("start",0)
queryParams.UpdateInt("limit",200)
queryParams.UpdateString("expand","<string>")
queryParams.UpdateString("expand","<string>")

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


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


Dim sbResponseBody As New Chilkat.StringBuilder
resp.GetBodySb(sbResponseBody)

Dim jResp As New Chilkat.JsonObject
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

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

Dim respStatusCode As Integer = resp.StatusCode
Debug.WriteLine("Response Status Code = " & respStatusCode)
If (respStatusCode >= 400) Then
    Debug.WriteLine("Response Header:")
    Debug.WriteLine(resp.Header)
    Debug.WriteLine("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 Integer
Dim Height As Integer
Dim IsDefault As Boolean
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 Integer
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 Integer
Dim IconHeight As Integer
Dim IconIsDefault As Boolean
Dim PlainValue As String
Dim Representation As String
Dim ViewValue As String
Dim ViewRepresentation As String
Dim HomepageValue As String
Dim Start As Integer
Dim Limit As Integer
Dim Size As Integer
Dim RouteOverrideEnabled As Boolean
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 Integer
Dim minorEdit As Boolean
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 Integer
Dim count_j As Integer
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 Boolean
Dim unlicensedAccess As Boolean

Dim start As Integer = jResp.IntOf("start")
Dim limit As Integer = jResp.IntOf("limit")
Dim size As Integer = jResp.IntOf("size")
Dim i As Integer = 0
Dim count_i As Integer = jResp.SizeOfArray("results")
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")
    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
    End While
    j = 0
    count_j = jResp.SizeOfArray("results[i].by.personalSpace.description.plain.embeddedContent")
    While j < count_j
        jResp.J = j
        value = jResp.StringOf("results[i].by.personalSpace.description.plain.embeddedContent[j].value")
        j = j + 1
    End While
    j = 0
    count_j = jResp.SizeOfArray("results[i].by.personalSpace.description.view.embeddedContent")
    While j < count_j
        jResp.J = j
        value = jResp.StringOf("results[i].by.personalSpace.description.view.embeddedContent[j].value")
        j = j + 1
    End While
    j = 0
    count_j = jResp.SizeOfArray("results[i].by.personalSpace.metadata.labels.results")
    While j < count_j
        jResp.J = j
        value = jResp.StringOf("results[i].by.personalSpace.metadata.labels.results[j].value")
        j = j + 1
    End While
    j = 0
    count_j = jResp.SizeOfArray("results[i].by.personalSpace.operations")
    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
    End While
    j = 0
    count_j = jResp.SizeOfArray("results[i].by.personalSpace.permissions")
    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
    End While
    i = i + 1
End While

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