Create a consignado compensating adjustment
Commits a new compensating adjustment operation, its opening history entry and — when the currency has a configured suspense account — the durable posting-intent outbox event, atomically. A 202 response means accepted durably, never posted: the ledger relay posts it separately. Idempotent via the X-Idempotency header enforced by the platform middleware.
Authorizations
JWT bearer token issued by the identity provider.
Headers
Canonical idempotency request ID (lib-commons enforcer reads this). Reusing the same key on a retry returns the SAME durably accepted operation, never a duplicate.
Body
Signed compensating entry magnitude, exact two-decimal string. Sign convention: payment_shortfall must be negative, payment_excess must be positive.
ISO-4217 currency code.
3Operator's structured justification.
1 - 4000Canonical rail contract number.
2 - 15Closed reason catalog; no free-form 'other'.
payment_shortfall, payment_excess, immutable_client_correction, internal_ccb_residual Landed correction event this adjustment resolves. At most one of divergenceId/correctionEventId may be set.
255CCB debt after this adjustment. Both-or-neither with debtAmountBefore.
CCB debt before this adjustment. Both-or-neither with debtAmountAfter.
Divergence this adjustment resolves. At most one of divergenceId/correctionEventId may be set.
Response
Accepted
Signed compensating entry magnitude, exact two-decimal string.
RFC3339 UTC.
Validated actor identity that created this operation.
ISO-4217 currency code.
True when this call replayed an already-committed operation for the same idempotency key, never a duplicate.
Compensating adjustment operation identifier.
Idempotency key this operation was created (or replayed) under.
Operator's structured justification.
Canonical rail contract number.
Closed reason catalog.
Landed correction event this adjustment resolves, when set.
CCB debt after, when this adjustment changes the debt.
CCB debt before, when this adjustment changes the debt.
Divergence this adjustment resolves, when set.
Suspense GL account this operation was authorized against. Empty when the currency had no configured suspense account at create time — the posting intent could not be recorded yet.

