Skip to main content
The Platform’s model is one set of conventions: how money, dates and identifiers are written, and which figures are derived rather than stored. The Platform records what you report, prices the agreement once at issuance, and derives every later figure from the two. Nothing recorded is edited or deleted; a withdrawal is itself a fact, and the withdrawn one stays readable while contributing to nothing. No scheduled job posts a figure.

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 answers 201. 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 parameter on. 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, and anomalies names 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-options read leaves such a Loan out.
  • No route paginates or sorts, and no list narrows except Loans, by client_id.