Skip to main content
GET
List exceptions

Authorizations

Authorization
string
header
required

Bearer token authentication (format: "Bearer {token}")

Headers

X-Request-Id
string

A unique identifier for tracing the request across services.

Query Parameters

contextId
string<uuid>

Filter by reconciliation context ID (UUID, verified against the tenant; 404 when unknown)

Example:

"550e8400-e29b-41d4-a716-446655440000"

run_id
string<uuid>

Filter to the exceptions a specific match run surfaced (UUID). Each exception records the LATEST run that touched it, so this returns the breaks that run produced. Legacy rows written before run linkage, and ingestion-minted duplicate-transaction breaks, carry no run id and never match. Absent leaves the listing unfiltered by run.

Example:

"550e8400-e29b-41d4-a716-446655440002"

status
enum<string>

Filter by status

Available options:
OPEN,
ASSIGNED,
PENDING_RESOLUTION,
RESOLVED
severity
enum<string>

Filter by severity

Available options:
LOW,
MEDIUM,
HIGH,
CRITICAL
reason
enum<string>

Filter by exception reason

Available options:
UNMATCHED,
FX_RATE_UNAVAILABLE,
MISSING_BASE_AMOUNT,
MISSING_BASE_CURRENCY,
SPLIT_INCOMPLETE,
VALIDATION_FAILED,
SOURCE_MISMATCH,
DUPLICATE_TRANSACTION,
FEE_VARIANCE,
FEE_DATA_MISSING,
FEE_CURRENCY_MISMATCH,
FX_RATE_VARIANCE,
AGED_BREAK,
OVER_SETTLED
assigned_to
string

Filter by assigned user

Example:

"user@example.com"

external_system
string

Filter by external system

Example:

"JIRA"

Free-text search across transaction id, reason, and external issue id (case-insensitive substring match)

Example:

"550e8400"

date_from
string

Filter from date (RFC3339) Filter from date, inclusive lower bound. Accepts an RFC 3339 timestamp or a bare date (YYYY-MM-DD); a bare date is taken at 00:00:00 UTC

Example:

"2025-01-01T00:00:00Z"

date_to
string

Filter to date (RFC3339) Filter to date, inclusive upper bound. Accepts an RFC 3339 timestamp or a bare date (YYYY-MM-DD); a bare date covers the whole day through 23:59:59.999999999 UTC

Example:

"2025-01-31T23:59:59Z"

min_age_days
integer<int64>

Filter to exceptions at least this many days old (by created_at). Surfaces aged open-item breaks. 0 (default) disables the filter. Sort by created_at ascending to order oldest-first.

Required range: 0 <= x <= 3650
Example:

30

cursor
string

The cursor value for retrieving the next page of results. Cursor for pagination (opaque)

limit
integer<int64>
default:20

Number of items per page Maximum number of records to return

Required range: 1 <= x <= 200
sort_by
enum<string>

The field used to sort the results. Sort by field. When both sort_by and sort_order are omitted, results use the default queue ordering: status ASC (OPEN, ASSIGNED, PENDING_RESOLUTION, RESOLVED), then created_at DESC, then id DESC. Cursors are bound to the ordering that minted them; switching sort parameters mid-pagination returns 400.

Available options:
id,
created_at,
updated_at,
severity,
status
sort_order
enum<string>

The order used to sort the results. Sort order (engages the explicit single-column sort, by id when sort_by is omitted)

Available options:
asc,
desc

Response

Indicates that the request was successful and the response contains the expected data.

hasMore
boolean
required
Example:

true

items
object[] | null
required

Page of exceptions (max 200 per page)

Maximum array length: 200
limit
integer<int64>
required
Required range: 1 <= x <= 200
Example:

20

openTotal
integer<int64>
required

Non-terminal exceptions (OPEN, ASSIGNED, PENDING_RESOLUTION) matching the filter

Example:

412

overdueTotal
integer<int64>
required

Non-terminal exceptions past their due date matching the filter

Example:

38

resolvedTotal
integer<int64>
required

Resolved exceptions matching the filter

Example:

118

total
integer<int64>
required

Total exceptions matching the filter (full set, not the page)

Example:

530

nextCursor
string
Example:

"eyJpZCI6IjEyMyJ9"

prevCursor
string
Example:

"eyJpZCI6IjEyMiJ9"