Skip to main content

Limits and pagination

Rate limits​

IDM counts requests per tenant, per credential and per endpoint class (geography, quotes, deliveries and so on) in sliding windows. The limits are set by Intellisol and can be narrowed for your tenant, never widened beyond the platform's.

Every answer tells you where you stand:

HeaderMeaning
RateLimit-LimitRequests allowed in the current window
RateLimit-RemainingRequests left in it
RateLimit-ResetSeconds until the window resets
Retry-AfterOn a 429: seconds to wait before trying again

Over the limit you get 429 RATE_LIMIT_EXCEEDED. Wait for Retry-After, then retry with the same idempotency key. If you need more capacity, talk to Intellisol rather than spreading calls over several credentials.

IDM also watches for patterns that look like abuse, such as guessing references. A credential that is refused for other tenants' references too often is slowed down.

Pagination​

Lists are paged with an opaque cursor:

GET /v1/partners?limit=50
→ { "items": [ … ], "next_cursor": "c_…" }

GET /v1/partners?limit=50&cursor=c_…
→ { "items": [ … ], "next_cursor": null }
  • limit is 1 to 100; the default is 25.
  • Pass next_cursor back exactly as you received it. Do not build or change cursors.
  • next_cursor: null means there are no more pages.
  • There is no page number or offset.

Sizes and formats​

  • Bodies are JSON (content-type: application/json). Other content types are refused.
  • Bodies have a size cap; over it you get 413 PAYLOAD_TOO_LARGE.
  • Times are ISO 8601 in UTC, such as 2026-09-20T10:33:02Z.
  • Money is a string with two decimals plus a currency code.
  • Phones are in international format, such as +233200000000.