REST and IDM
Representational State Transfer (REST) is a software architecture style for exposing resources, using the technologies and protocols of the World Wide Web. REST describes how distributed data objects, or resources, can be defined and addressed.
IDM provides a RESTful API for accessing managed objects, system objects, workflows, and the system configuration.
Common REST and IDM
IDM implements the Common REST API as described in the previous section, with the exception of the following elements:
-
IDM provides limited support for the in expression clause. You can use this clause for queries on singleton string properties, not arrays.
in
query expressions are not supported through the admin UI. -
The PATCH
transform
action is supported only on theconfig
endpoint. Note that this is an optional action and not implemented everywhere across the ForgeRock Identity Platform. -
Common REST supports PATCH operations by list element index, as shown in the example in Patch Operation: Remove. IDM does not support PATCH by list element index. So, for PATCH operations, you cannot use an ordinal when adding or removing list items.
You can add an item using the special hyphen index, which designates that the element should be added to the end of the list. To remove specific items from a list, you must specify the value to be removed, for example:
[ { "operation" : "remove", "field" : "/phoneNumber/", "value" : "202-555-0185" } ]
When you remove items in this way, if the list contains two or more items with the same value, they are all removed. -
If
_fields
is left blank (null), the server returns all default values. In IDM, this excludes relationships and virtual fields. To include these fields in the output, add"returnByDefault" : true
in the applicable schema.IDM also implements wild-card (
*
) handling with the_fields
parameter. So, a value of_fields=*_ref
will return all relationship fields associated with an object. A value of_fields=*_ref/*
will return all the fields within each relationship. -
IDM does not implement the
ESTIMATE
total paged results policy. ThetotalPagedResults
is either the exact total result count (_totalPagedResultsPolicy=EXACT
) or result counting is disabled (_totalPagedResultsPolicy=NONE
). For more information, see Page Query Results.