Reconciliation report for a rail
Answers “did we lose a message?” by evaluating E(m) = C(m) + T(m) + R(m) per rail over a declared window. What pages: a non-zero divergence, and a send with no captured return leg past the return-leg window. What does not: a hole in the vendor’s sequence, which is counted and listed here.
Authorizations
JWT bearer token issued by the identity provider.
Path Parameters
The rail. A value outside the vocabulary, or a rail this build does not carry, is a 404.
Query Parameters
A specific cycle. Omitted returns the most recent.
64RFC 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.
64RFC 3339; see from.
64Response
OK
x >= 0spb, pix 64E − (C + T + R). Non-zero is an alert.
C per engine: completed deliveries whose engine is in the message's frozen resolved set.
E, summed from each message's own stored expectation, never recomputed.
x >= 0Guarantees suspended during the cycle, typically an active bypass.
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.
Sends whose return-leg window closed during this cycle with no captured message echoing their control identifier. Each one pages.
x >= 0x >= 0A send with no captured return leg older than this pages.
x >= 1Holes 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.
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.
True when sequenceGapCount is larger than the list returned: narrow the range to see the rest.
Arrivals at or below the sequence before them: a reorder or a reset, never a gap.
x >= 0The declared window. A divergence inside it may be a message in transit; outside it, a loss candidate.
x >= 1The capture instants this cycle judged, [windowStart, windowEnd). Consecutive cycles tile time.

