Chat now with support
Chat with Support

Identity Manager 9.1.2 - API Development Guide

Grouping

You can use the group path parameter to group the results returned in a response. You can use the by query parameter to specify which attribute to use for grouping. Furthermore, you can use the withcount query parameter to specify (values: true or false) whether to calculate the number of objects for each group. This may increase the runtime.

NOTE: The API method must support grouping (by using the EnableGrouping parameter).

The result of the query contains a filter condition that you can pass to the URL parameter as filter.

Example

The following queries determine the number of identities grouped by primary location:

https://<host name>/ApiServer/portal/person/all/group?by=UID_Locality&withcount=true

Response:

{
    {
        "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
    }
}

Hierarchical data structure

Some data model tables are defined as hierarchical structures (Department for example). Data from such tables is loaded from a specific hierarchy level.

You can use the parentKey query parameter of the parent object to specify the hierarchy level.

Example

The following query determines the service categories directly below the Access Lifecycle service category:

https://<host name>/ApiServer/portal/servicecategories?parentKey=QER-f33d9f6ec3e744a3ab69a474c10f6ff4

The following query determines the service categories that do not have a parent service category:

https://<Host-Name>/ApiServer/portal/servicecategories?parentKey=

The following query determines all service categories regardless of their hierarchy:

https://<Host-Name>/ApiServer/portal/servicecategories

You can use the noRecursive path parameter to specify whether the data is queried as a flat list (values: true or false).

Example

https://<Host-Name>/ApiServer/portal/servicecategories?noRecursive=true

Additional query parameters

You can use the withProperties query parameter to specify whether additional information from specific tables columns are returned in the response.

NOTE: To enable table columns for these queries, set the Show in wizards option in the column properties of the relevant columns in the Designer.

TIP: You can delimit the names of multiple columns with commas.

Example

The following query determines the number of all identities and also returns their preferred name and title:

https://<host name>/ApiServer/portal/person/all?withProperties=PreferredName,Title

Response:

{
    "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
                }
            }
}

Type-safe classes

Type-safe classes allow you to use the database model in a type-safe way. This gives you the following advantages:

  • Compiling scripts checks whether the classes used are correct. This allows you to detect spelling mistakes in table and column names early on.

  • The development environment can offer auto-completion.

  • The column's data type is detected, which prevents type conversion errors.

To use type-safe classes

  1. Edit the corresponding API plug-in (see Editing API plug-ins) and proceed as follows:

    • Add a reference to the type-safe class library of the corresponding database module (AOB.TypedWrappers.dll for example).

      This makes the classes for this module available in the <module name>.TypedWrappers namespace (AOB.TypedWrappers for example).

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating