Hi Community,
I’m looking for guidance / confirmation on a pagination scenario we’ve hit with the Identity Now Web Services (REST) connector, specifically around offset‑based APIs with hard page limits and no cursor support.
API Characteristics
We’re integrating with an external SaaS API whose /users endpoint behaves as follows:
-
Offset‑based pagination only
(limit+offset) -
Hard cap: max 100 records per call (higher limits ignored)
-
No cursor / no
links.next -
Live dataset (no snapshot guarantee, ordering not explicitly stable)
-
Response structure is roughly:
JSON
{
“userVOList”: [ … ],
“totalResultsCount”: 185,
“limit”: 100,
“offset”: 0
}
Show more lines
The vendor has confirmed this is expected behavior: clients must explicitly call
offset = N * 100 to fetch additional pages.
What we tried in IdentityNow
We attempted multiple paging strategies:
-
Built‑in OFFSET paging
-
Paging Type = OFFSET -
Page Size = 100 -
Offset Param = offset -
Limit Param = limit -
Works intermittently but results can drift due to live ordering.
-
-
Custom Paging Steps
-
Variations using:
-
$RECORDS_COUNT$ -
fixed increments (e.g.,
+100) -
termination when
< pageSize
-
-
All eventually hit:
sailpoint.connector.ConnectorException: Index X out of bounds for length X
-
-
Cursor / next‑link style paging
-
Not possible — API does not return
links.next -
Attempting
$response.links.next$results in:Final URL can not be null
-
-
Rules (Before/After Operation, WebServiceAfterOperationRule)
-
Not invoked during account aggregation
-
No ability to control paging loop or issue additional GET calls
-
At this point it appears that custom paging logic inside the REST connector is not safe or supported for live offset‑based APIs.
Questions:
-
Is this behavior (index‑out‑of‑bounds with custom paging steps) a known limitation of the IdentityNow Web Services connector?
-
Is there any supported pattern inside IdentityNow for:
-
Offset‑only APIs
-
Hard page caps
-
No cursor / no snapshot
-
-
Are there any roadmap items or undocumented hooks for safe aggregation‑time paging control, or is external snapshot ingestion the recommended approach in these cases?
Thanks,
Mahesh