Skip to main content
POST
This call creates a Facility from a Decision you name: a grant of one amount at one price, for one Client and one product, inside a validity window. You state the window and nothing else. The Client, the product Configuration, the amount, the rate and the currency all come from the Decision — a grant that restated what was approved would be a grant that can disagree with it.
A Facility is never edited and never deleted. It ends by its expiry passing and in no other way. There is no revocation, no freeze and no early close: the grant caps and never entitles, so a Tenancy that distrusts one stops issuing under it.

Path parameters

string
required
The Tenancy creating the grant. Another Tenancy’s path answers 403.

Body

string
required
A recorded Decision of your Tenancy whose outcome is approve, or a refer a person resolved as an approval at the console. A Decision that refused, a refer nobody resolved, and a refer resolved as a refusal grant nothing; one your Tenancy never recorded answers 404.A Decision grants at most one Facility: a second from one approval is the approved exposure counted twice.
string
required
The first day the grant may be drawn on, as YYYY-MM-DD. Inclusive.
string
required
The last day the grant may be drawn on, inclusive. Not before opens_on, and no more than 30 days after the Decision’s bound_from — the day its application states where that is earlier than the day it was recorded on — or, for a resolved refer, after the day it was resolved. A line may reach 180 days: see below.
boolean
Grant a line rather than a one-draw grant. Admitted only from a Decision that approved a limit; any other is refused 422 invalid_creation.
string
The line this line renews: a line of the same Client for the same Configuration that no other line has superseded. Refused 422 cannot_supersede otherwise, and refused 422 invalid_creation on a creation that is not a line.
object
Your key-value object: at most 16 keys, 64 bytes a key, 4096 bytes rendered, string values. Stored, echoed on every read, read by nothing — and part of what a repeat naming the same Decision restates.

The window is the whole of the staleness answer

Between creating a grant and any draw under it, the Platform re-reads nothing about the Client — whatever the Decision read: what you declared, the Platform’s own book, or a bureau report. So a fact that turned against the Client after the grant — an arrear taken at another lender, an income that ended — is as invisible on the last draw as it was on the first. The length of the window is the whole of the Platform’s answer to that, which is why it is bounded at 30 days rather than 90.
The products that hold a pre-approval open this long re-pull the bureau and re-score at every drawdown. The Platform does not look again, so a window three times the precedent’s, carrying strictly less evidence, would be the wrong end of that trade twice over.
The window bounds drawing and not repayment. A Loan issued inside it may mature long after the expiry.

A line

A line is the one grant whose headroom comes back. Its headroom is its amount less the principal still outstanding on the Loans drawn from it, so principal a receipt repays, a return unwinds or a prepayment settles is drawable again from that day, and a cancelled or voided draw gives back everything it took. A reversal takes the refill back. A written-off, accelerated or ceded draw gives back nothing: that money is lost, demanded or sold, not repaid. Its window may reach 180 days from the Decision rather than 30, and the reason is the one above turned round: every draw from a line re-reads the Platform’s own book. The Client-level guards the Configuration version states — the open-loan count, the exposure cap — are held at every draw, and a draw is refused client_overdue while any Loan of the Client’s stands overdue, whatever the version states. A bureau is still not re-read, which is why the bound is not longer. A line is renewed only by a new limit Decision and a new line that names it in supersedes. What is still drawn under the old line counts against the new one — a renewal mints no headroom — and the old line refuses draws anchored on or after the day the new line opens (facility_superseded).

Response

string
required
The Platform’s identifier for the grant. A Loan names it as facility_id.
string
required
The Client the Decision approved. An issuance for anybody else is refused.
string
required
The product the grant is for. Carried by identifier rather than by version, so a later version of the same Configuration may still be drawn under it.
integer
required
The Configuration version the Decision was decided against. Provenance: it governs nothing at issuance.
string
required
The Decision this was created from. Every Loan drawn under the grant records it.
object
required
The Decision’s approved principal, or the resolution’s for a resolved refer, as minor_units and currency.
object
required
The Decision’s exact annual rate, as numerator, denominator and quotation, and as percent — the decimal percentage a Loan states. An issuance stating any other rate is refused, whatever the Configuration’s corridor admits; one stating none takes this rate.
string
required
The first day the grant may be drawn on.
string
required
The last day the grant may be drawn on.
object
Your object, as the creation carried it. Absent where none was attached.
boolean
true on a line. Absent on a one-draw grant.
string
The line this one renewed. Absent where it renewed none.
string
required
RFC 3339 in UTC: the moment the grant was recorded.
The creation carries no headroom. Nothing has been drawn yet, and deriving it is a question the Facility read answers.

Creating again

201 is a grant this request created. 200 is one it found already created under that Decision, with the same window — that is how a retry after a lost response is told apart from the request that granted it. A second creation naming a different window, or attaching a different context, is 409 window_disagrees, and the grant already recorded stands unchanged. details.recorded_id names it, and details.field reads context where that was the difference.

Refusals

This route reads no query parameter. At the Console door this is a person’s act: creating a grant stands up an amount and a price that issuance will honour, so an agent credential is refused it on a live Tenancy and served it on a sandbox.