Command and read surfaces
Use the authenticated HTTP API for client commands and queries. The API separates commands from reads and assigns every operation a tenant-scoped authorization action. Follow the operation’s idempotency requirements: retries after timeouts are expected and must reuse the same business identity. The OpenAPI contract describes the operations mounted ondevelop. A mounted operation is not proof that its Dataprev adapter is wired in a specific deployment. An unavailable rail integration returns 501 Not Implemented for that request instead of disappearing from the API.
The Lender command stream remains available for the supported integration commands. It is not a replacement for the complete HTTP surface. See Consignado events.
Scheduled workers
The gateway runs eight scheduled loops. They share delayed first execution, stable per-replica staggering, non-overlapping passes, positive jitter, panic isolation, and graceful shutdown.
Reconciliation, auction discovery, employment reporting, exclusion recovery, credential cleanup, and the outstanding-balance clock take their cadence from environment configuration. Bid payload cleanup and proposal witness are runtime-configurable through the Systemplane and take effect on the next delay.
Rail windows
Rail defaults and constraints ondevelop include:
- a 24-hour loan-auction validity window supplied by Dataprev; the gateway does not configure it
- a 72-hour portability-request lookback
- 20 days to complete portability registration
- 7 business days to reverse refinancing
- a one-year auction-discovery lookback, with a five-minute clock-skew allowance
Throughput and pacing
Dataprev traffic is paced per tenant. The operator config provides the validated ceiling, while the throughput API records the tenant’s effective allocation. A stored value of0 pauses rail traffic for that tenant. Auction fan-out has a separate budget and can never exceed the hard Dataprev ceiling.
Reconciliation safety
Bookkeeping and repasse reads are independent. One failing source must not suppress the other. Expected repasses can emit three states:consignado.repasse.overdue: the expected movement is lateconsignado.repasse.resolved: the movement arrived after an overdue alarmconsignado.repasse.unobserved: the gateway cannot currently prove presence or absence

