Mithilfe des Pfad-Parameters group können Sie die Ergebnisse einer zurückgegebenen Antwort gruppieren. Dabei können Sie mithilfe des Abfrage-Parameters by angeben, nach welchem Attribut gruppiert werden soll. Zusätzlich können Sie mithilfe des Abfrage-Parameters withcount festlegen (Werte: true oder false), ob die Anzahl der Objekte für jede Gruppe berechnet werden soll. Dies kann die Ausführungszeit verlängern.
HINWEIS: Die API-Methode muss Gruppierungen unterstützen (mithilfe des Parameters EnableGrouping).
 
Das Ergebnis der Abfrage enthält eine Filterbedingung, die Sie als URL-Parameter als Filter übergeben können.
Beispiel 
Die folgende Anfrage ermittelt die Menge aller Identitäten gruppiert nach primärem Standort:
https://<Host-Name>/ApiServer/portal/person/all/group?by=UID_Locality&withcount=true 
Antwort:
| { | 
|     { | 
|         "Display": "(No value: Primary location)", | 
|         "Filters": [ | 
|             { | 
|                 "ColumnName": "UID_Locality", | 
|                 "CompareOp": 0 | 
|             } | 
|         ], | 
|         "Count": 42 | 
|     }, | 
|     { | 
|         "Display": "Berlin", | 
|         "Filters": [ | 
|             { | 
|                 "ColumnName": "UID_Locality", | 
|                 "CompareOp": 0, | 
|                 "Value1": "c644f672-566b-4ab0-bac0-2ad07b6cf457" | 
|             } | 
|         ], | 
|         "Count": 12 | 
|     } | 
| } | 
    
    
Einige Tabellen des Datenmodells sind als Baumstruktur definiert (beispielsweise Department). Daten aus solchen Tabellen können aus einer bestimmten Hierarchie-Ebene geladen werden. 
Mithilfe des Abfrage-Parameters parentKey des übergeordneten Objekts können Sie die Hierarchie-Ebene bestimmen.
Beispiel 
Die folgende Anfrage ermittelt die Servicekategorien direkt unterhalb der Servicekategorie Access Lifecycle:
https://<Host-Name>/ApiServer/portal/servicecategories?parentKey=QER-f33d9f6ec3e744a3ab69a474c10f6ff4 
Die folgende Anfrage ermittelt die Servicekategorien, die keine übergeordnete Servicekategorie haben:
https://<Host-Name>/ApiServer/portal/servicecategories?parentKey= 
Die folgende Anfrage ermittelt alle Servicekategorien unabhängig von ihrer Hierarchie:
https://<Host-Name>/ApiServer/portal/servicecategories 
 
Mithilfe des Pfad-Parameters noRecursive können Sie festlegen, ob die Daten als flache Liste abgefragt wird (Werte: true oder false).
Beispiel 
https://<Host-Name>/ApiServer/portal/servicecategories?noRecursive=true 
  
    
Mithilfe des Abfrage-Parameters withProperties können Sie festlegen, welche zusätzlichen Informationen aus bestimmten Tabellenspalten in der zurückgegebenen Antwort enthalten sein sollen.
HINWEIS: Um Tabellenspalten für diese Abfragen freizugeben, aktivieren Sie im Designer für die entsprechenden Spalten in den Spalteneigenschaften die Option Anzeige in Assistenten.
 
TIPP: Sie können die Namen mehrerer Spalten kommasepariert angeben.
 
Beispiel 
Die folgende Anfrage ermittelt die Menge aller Identitäten und gibt zusätzlich deren bevorzugten Namen und Titel zurück:
https://<Host-Name>/ApiServer/portal/person/all?withProperties=PreferredName,Title 
Antwort:
| { | 
|     "TotalCount": 105950, | 
|     "TableName": "Person", | 
|     "Entities": [ | 
|         { | 
|             "Display": "100, User (USER1)", | 
|             "LongDisplay": "100, User (USER1)", | 
|             "Keys": [ | 
|                 "bbf3f8e6-b719-4ec7-be35-cbd6383ef370" | 
|             ], | 
|             "Columns": { | 
|                 "DefaultEmailAddress": { | 
|                     "Value": "USER1@qs.ber", | 
|                     "IsReadOnly": true | 
|                 }, | 
|                 "IdentityType": { | 
|                     "Value": "Primary", | 
|                     "IsReadOnly": true, | 
|                     "DisplayValue": "Primary identity" | 
|                 }, | 
|                 "PreferredName": { | 
|                     "Value": "Johnny", | 
|                     "IsReadOnly": true | 
|                 }, | 
|                 "Title": { | 
|                     "Value": "Dr.", | 
|                     "IsReadOnly": true | 
|                 }, | 
|                 "XObjectKey": { | 
|                     "Value": "<Key><T>Person</T><P>bbf3f8e6-b719-4ec7-be35-cbd6383ef370</P></Key>", | 
|                     "IsReadOnly": true | 
|                 } | 
|             } | 
| } | 
    
    
Verwenden Sie die typsichere Klassen, um das Datenbankmodell typsicher zu verwenden. Daraus ergeben sich folgende Vorteile:
- 
Beim Kompilieren der Skripte wird geprüft, ob die verwendeten Klassen korrekt sind. Dadurch erkennen Sie bereits sehr früh Tippfehler in Tabellen- und Spaltennamen. 
- 
Die Entwicklungsumgebung kann eine automatische Vervollständigung anbieten. 
- 
Der Datentyp der Spalten ist bekannt, wodurch Typkonvertierungsfehler vermieden werden. 
Um typsichere Klassen zu verwenden
- 
Bearbeiten Sie das entsprechende API-Plugin (siehe API-Plugins bearbeiten) und nehmen Sie dabei folgende Aktion vor: 
- 
Fügen Sie eine Referenz auf die Bibliothek für typsichere Klassen des entsprechenden Datenbankmoduls hinzu (zum Beispiel AOB.TypedWrappers.dll). Die Klassen für dieses Modul sind daraufhin im Namensraum <Modulname>.TypedWrappers verfügbar (zum Beispiel AOB.TypedWrappers).