Values
Four fields on a Loan, a Receipt or a Client carry an instant, and each ends in_at. Every other date-bearing field carries a civil date, whatever its name: anchor, value_date, due_on and the on an event body takes.
Five values carry a fixed form on the wire.
One issuance body carries every form, and a refused request answers the fifth.
Fields
A Reference is your own identifier for one issuance or one reported Receipt, and the first request carrying it answers201. Every path begins /v1/tenants/{tenant_id}/, and a key acts for that one Tenancy.
Each identifier is chosen by one side, has one shape, and behaves one way on a repeat.
A statement the retry omits is compared as
none, so dropping a field the first request carried is refused rather than replayed.
Derivation
A read that answers as of a date names it in the query parameteron. A request without it is refused, because the Platform chooses no date for a lending read. A date that has not arrived is answered.
Each figure is either computed at issuance and stored, or derived by the read that asks for it.
Invariants
Five properties hold across every figure the Platform reports.- Derived. Every figure is derived from the facts on record.
- Not accumulated. No figure is stored as a running total.
- Not edited. A wrong fact is withdrawn rather than changed, and every figure is re-derived without it.
- As-of. The Platform derives a dated figure for the date your request names, and for no other.
- Versioned. A Product change never disturbs a Loan already issued.
Restrictions
Seven refusals follow from the conventions above.- No write except an issuance and a reported Receipt carries a Reference, so a retried cancellation, acceleration, write-off, retraction or reversal is refused
409. - No Reference guards Product creation, which writes a second Product on every request rather than replaying.
- No Reference is spent by a request the Platform refused.
- No figure the Platform cannot state arrives as
null: the field is omitted, andanomaliesnames why. - No amount is converted, because two currencies never meet in one operation.
- No Arrears are derived for a date before a Loan’s anchor, and the
payment-optionsread leaves such a Loan out. - No route paginates or sorts, and no list narrows except Loans, by
client_id.