Top-Level Structure
Every response, successful or not, carries arequestId and a timestamp. Quote the requestId when contacting support: it is how we find your exact request in our logs.
Successful payloads are wrapped in a data object. Errors are not — their fields sit at the top level.
A success response carries no
statusCode field. Read the status from the HTTP status line. Error responses do carry one, mirroring the HTTP status — the asymmetry is historical, and both shapes are shown below.Date Format
All date and timestamp fields are returned in ISO 8601 format:Identifier Format
All unique identifiers (e.g.,downstreamEntityId, agentId, policyId) are returned as MongoDB ObjectId strings:
Request Headers
Required Headers
Alternative Authentication
Optional Headers
Success Responses
The payload is underdata. What sits inside it is per endpoint; the record below is only illustrative.
data rather than beside it, so the outer shape never changes:
transactions rather than items. See Pagination.
Error Responses
Errors are not wrapped indata. For detail, see Error Handling.
errorMessageis always an array of strings, even for a single error. A validation failure returns one entry per field.- Branch on
errorType, never on the message text. The messages are prose and may be reworded; the codes are a published enum, listed on every endpoint’s error schema.