Skip to main content
Every id we accept or return follows one format, so you can tell what you are holding without looking it up.
The full list of prefixes: An id of the wrong type is rejected with 400 invalid_request before any lookup, so passing rdr_… where a landing page belongs tells you what went wrong instead of coming back as a puzzling 404.

Case

IDs are case-insensitive on input, everywhere they are accepted: path parameters, body fields, bulk arrays. Responses always use lower case.
Normalisation runs before duplicate checking, so rdr_aaa… and RDR_AAA… in one bulk request count as the same id twice, and the second fails.

Request ids

Every response carries X-Request-Id, and every error body repeats it as error.request_id:
It is not a resource, and no endpoint accepts it. Log it on failures and quote it in support tickets — it is how we find your exact request.