# Record agreement and protocol sequence checks

## Pack Unit Conversion Agreement

Check whether pack quantities agree across your recorded unit conversions. Supply one item, distinct unit labels and exact positive integer conversion counts: fromCount units of fromUnit equal toCount units of toUnit. Query quantities and claimed quantities are nonnegative safe integers; zero is valid. Ratios and expected quantities are returned as reduced numerator and denominator strings. Source edge IDs identify the deterministic conversion path. Conflicting cycles or self-conversions make the entire connected component unusable, with the conflicting edge and path shown. Use opaque business labels. This compares your supplied pack definitions and does not infer physical units, round fractional packs or alter inventory. Use authorized, non-sensitive data. The report describes supplied records and does not change external systems.

[Request example](pack-unit-conversion-agreement.request.example.json) · [Input schema](pack-unit-conversion-agreement.input.schema.json) · [Result schema](pack-unit-conversion-agreement.result.schema.json)

## Business Identifier Crosswalk Review

Review whether business identifiers map to the claimed canonical entity at the recorded time. Supply a source revision, declared canonical IDs and a complete observed snapshot from evidenceFromMinute through evidenceThroughMinute, both inclusive. Use one clock and opaque business labels. Namespaces and identifiers are matched exactly, including case. A mapping includes its start minute and excludes its end minute; null means no recorded end. Overlapping mappings to one target provide redundant evidence. Different active targets are ambiguous. Query evidence indexes point to the complete mappingEvidence table; conflicting intervals show one opposing mapping-ID pair per interval across the supplied records. This compares supplied records only and does not discover identities, verify ownership or change external systems. Use authorized, non-sensitive data. The report describes supplied records and does not change external systems.

[Request example](business-identifier-crosswalk-review.request.example.json) · [Input schema](business-identifier-crosswalk-review.input.schema.json) · [Result schema](business-identifier-crosswalk-review.result.schema.json)

## WebSocket Close Handshake Audit API

Review a WebSocket Close exchange from one established endpoint connection. Submit events in complete observed order from connection establishment, with local sent and remote received directions. A partial trace may end before the session does. A null code means an empty Close payload, not the reserved on-wire value 1005. The audit preserves the first code in each direction, replays Close and transport states, and distinguishes protocol violations, incomplete evidence and observed unclean transport closure. Different simultaneous Close codes and received data still in flight after a local Close are allowed. Standard code values 1000 through 1014 exclude 1004, 1005 and 1006; 1015 is forbidden on wire. Values 1016 through 2999 require specification review, while 3000 through 4999 are application ranges whose registration or agreement is not checked. This supplied-event audit does not parse frames, verify masking, extensions, compression, fragmentation, wire UTF-8, timing, endpoint identity or the opening handshake. It does not infer which endpoint initiated TCP closure. Use authorized, non-sensitive data. The report describes supplied records and does not change external systems.

[Request example](websocket-close-handshake-audit.request.example.json) · [Input schema](websocket-close-handshake-audit.input.schema.json) · [Result schema](websocket-close-handshake-audit.result.schema.json)

## HTTP Informational Response Sequence Audit API

Check informational, final and protocol-switch responses for one HTTP/1.x request exchange. Supply responses in observed order from the beginning of this exchange and the client request version, Expect: 100-continue flag and offered Upgrade tokens. Each response records content bytes, trailer count, Content-Length presence and one selected Upgrade protocol or null. Repeated informational responses and unexpected 100 responses are allowed. A final response may arrive without 100. A 101 switch needs an offered protocol and, when both Upgrade and Expect were supplied, an earlier 100. Protocol names compare without case; optional protocol versions compare exactly. The input supports a single selected Upgrade protocol, not stacked protocols. Partial evidence cannot establish that a missing terminal response is absent from the completed exchange. This sequence review does not parse wire messages, check Connection options, request content, final-response body rules, intermediaries, timing or the selected protocol after a switch. Use authorized, non-sensitive data. The report describes supplied records and does not change external systems.

[Request example](http-informational-sequence-audit.request.example.json) · [Input schema](http-informational-sequence-audit.input.schema.json) · [Result schema](http-informational-sequence-audit.result.schema.json)

One-time job. See the exact service price before checkout. Save your private JSON result within its 30-day access period.
Requests accept at most 36,000 UTF-8 input bytes. Send only authorized, non-sensitive records.

For a known hosted offer, read current checkout and wallet availability with `GET https://gatewayinformationgroup.com/api/catalog/v1/search?id=PRODUCT_ID`. Then use the input schema and request example above.

Use the existing [agent checkout guide](https://gatewayinformationgroup.com/developers) to prepare a quote, pay and retrieve the private result.
