Skip to main content
GET
Reconciliation report for a rail

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Path Parameters

channelId
string
required

The rail. A value outside the vocabulary, or a rail this build does not carry, is a 404.

Query Parameters

cycleId
string

A specific cycle. Omitted returns the most recent.

Maximum string length: 64
from
string

RFC 3339. With to, lists the sequence gaps of every cycle whose window overlaps [from, to), each with its cycle. One bound alone leaves the other open. Both omitted list the reported cycle's own gaps.

Maximum string length: 64
to
string

RFC 3339; see from.

Maximum string length: 64

Response

OK

channelCount
integer<int64>
required
Required range: x >= 0
channelId
enum<string>
required
Available options:
spb,
pix
cycleId
string
required
Maximum string length: 64
divergence
integer<int64>
required

E − (C + T + R). Non-zero is an alert.

engineCounts
object[]
required

C per engine: completed deliveries whose engine is in the message's frozen resolved set.

expectedOutcomeCount
integer<int64>
required

E, summed from each message's own stored expectation, never recomputed.

Required range: x >= 0
generatedAt
string<date-time>
required
guaranteesSuspended
string[]
required

Guarantees suspended during the cycle, typically an active bypass.

historyUnjudgedBefore
string<date-time> | null
required

Set on a channel's first cycle when the channel was registered more than a day before reconciliation first ran: nothing captured or sent before this instant was judged, and a divergence older than it is never reconciled automatically. Null when the cycle judged all it could.

missingReturnLegs
object[]
required

Sends whose return-leg window closed during this cycle with no captured message echoing their control identifier. Each one pages.

refusedCount
integer<int64>
required
Required range: x >= 0
retainedCount
integer<int64>
required
Required range: x >= 0
returnLegWindowSeconds
integer<int64>
required

A send with no captured return leg older than this pages.

Required range: x >= 1
sequenceGapCount
integer<int64> | null
required

Holes in the channel's own sequence over the cycle, or over the range when from/to are given; null when no sequence was measured: the rail has none, or no key that arrived could be read as one. Counted and exposed, never paged.

sequenceGaps
object[] | null
required

The holes, oldest cycle first, each with the cycle that saw it; null when no sequence was measured, as for sequenceGapCount. At most 1000; sequenceGapsTruncated says when there were more.

sequenceGapsTruncated
boolean
required

True when sequenceGapCount is larger than the list returned: narrow the range to see the rest.

sequenceRegressions
integer<int64>
required

Arrivals at or below the sequence before them: a reorder or a reset, never a gap.

Required range: x >= 0
windowEnd
string<date-time>
required
windowSeconds
integer<int64>
required

The declared window. A divergence inside it may be a message in transit; outside it, a loss candidate.

Required range: x >= 1
windowStart
string<date-time>
required

The capture instants this cycle judged, [windowStart, windowEnd). Consecutive cycles tile time.