Chilkat Online Tools

delphiAx / Atlassian Confluence Cloud / Get content versions

Back to Collection Items

var
http: TChilkatHttp;
success: Integer;
queryParams: TChilkatJsonObject;
resp: IChilkatHttpResponse;
sbResponseBody: TChilkatStringBuilder;
jResp: TChilkatJsonObject;
respStatusCode: Integer;
v_Type: WideString;
AccountId: WideString;
AccountType: WideString;
v_Email: WideString;
PublicName: WideString;
Path: WideString;
Width: Integer;
Height: Integer;
IsDefault: Integer;
DisplayName: WideString;
Operations: WideString;
Details: WideString;
PersonalSpace: WideString;
Username: WideString;
UserKey: WideString;
Value: WideString;
PersonalValue: WideString;
Id: Integer;
Key: WideString;
Name: WideString;
PersonalSpaceType: WideString;
Status: WideString;
Settings: WideString;
Metadata: WideString;
v_expandableOperations: WideString;
LookAndFeel: WideString;
Permissions: WideString;
Icon: WideString;
Description: WideString;
Theme: WideString;
History: WideString;
Homepage: WideString;
IconPath: WideString;
IconWidth: Integer;
IconHeight: Integer;
IconIsDefault: Integer;
PlainValue: WideString;
Representation: WideString;
ViewValue: WideString;
ViewRepresentation: WideString;
HomepageValue: WideString;
Start: Integer;
Limit: Integer;
Size: Integer;
RouteOverrideEnabled: Integer;
Color: WideString;
LinksColor: WideString;
HoverOrFocusValue: WideString;
ColorValue: WideString;
BackgroundColorValue: WideString;
ButtonValue: WideString;
PrimaryNavigationValue: WideString;
SecondaryNavigationValue: WideString;
SearchValue: WideString;
ScreenValue: WideString;
ContainerValue: WideString;
HeaderValue: WideString;
BodyValue: WideString;
BordersAndDividersColor: WideString;
CreatedDate: WideString;
when: WideString;
friendlyWhen: WideString;
message: WideString;
v_number: Integer;
minorEdit: Integer;
Content: WideString;
Collaborators: WideString;
contentValue: WideString;
UsersValue: WideString;
UserKeysValue: WideString;
v_linksValue: WideString;
j: Integer;
count_j: Integer;
operation: WideString;
targetType: WideString;
value: WideString;
v_expandableValue: WideString;
UserValue: WideString;
GroupValue: WideString;
Operation: WideString;
TargetType: WideString;
anonymousAccess: Integer;
unlicensedAccess: Integer;
start: Integer;
limit: Integer;
size: Integer;
i: Integer;
count_i: Integer;

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

http := TChilkatHttp.Create(Self);

queryParams := TChilkatJsonObject.Create(Self);
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>';

resp := http.QuickRequestParams('GET','https://your-domain.atlassian.net/wiki/rest/api/content/:id/version',queryParams.ControlInterface);
if (http.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(http.LastErrorText);
    Exit;
  end;

sbResponseBody := TChilkatStringBuilder.Create(Self);
resp.GetBodySb(sbResponseBody.ControlInterface);

jResp := TChilkatJsonObject.Create(Self);
jResp.LoadSb(sbResponseBody.ControlInterface);
jResp.EmitCompact := 0;

Memo1.Lines.Add('Response Body:');
Memo1.Lines.Add(jResp.Emit());

respStatusCode := resp.StatusCode;
Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode));
if (respStatusCode >= 400) then
  begin
    Memo1.Lines.Add('Response Header:');
    Memo1.Lines.Add(resp.Header);
    Memo1.Lines.Add('Failed.');

    Exit;
  end;

// 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

start := jResp.IntOf('start');
limit := jResp.IntOf('limit');
size := jResp.IntOf('size');
i := 0;
count_i := jResp.SizeOfArray('results');
while i < count_i do
  begin
    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 do
      begin
        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;

    j := 0;
    count_j := jResp.SizeOfArray('results[i].by.personalSpace.description.plain.embeddedContent');
    while j < count_j do
      begin
        jResp.J := j;
        value := jResp.StringOf('results[i].by.personalSpace.description.plain.embeddedContent[j].value');
        j := j + 1;
      end;

    j := 0;
    count_j := jResp.SizeOfArray('results[i].by.personalSpace.description.view.embeddedContent');
    while j < count_j do
      begin
        jResp.J := j;
        value := jResp.StringOf('results[i].by.personalSpace.description.view.embeddedContent[j].value');
        j := j + 1;
      end;

    j := 0;
    count_j := jResp.SizeOfArray('results[i].by.personalSpace.metadata.labels.results');
    while j < count_j do
      begin
        jResp.J := j;
        value := jResp.StringOf('results[i].by.personalSpace.metadata.labels.results[j].value');
        j := j + 1;
      end;

    j := 0;
    count_j := jResp.SizeOfArray('results[i].by.personalSpace.operations');
    while j < count_j do
      begin
        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;

    j := 0;
    count_j := jResp.SizeOfArray('results[i].by.personalSpace.permissions');
    while j < count_j do
      begin
        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;

    i := i + 1;
  end;

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