Skip to main content
POST
This call decides an application under the policy version you adopted for the Configuration the application names, and records the Decision before it answers. You submit a registered Client, a Configuration version, a requested principal, a reference of your own, and a value for every attribute the adopted version reads. You receive the Decision: its outcome, its score, the terms an approval carries, and the full trace of every rule that ran.
A Decision is never edited and never deleted. Its outcome, score and band stand as recorded, whatever you later adopt.

Path parameters

string
required
The Tenancy deciding. Another Tenancy’s path answers 403.

Body

string
required
Your own name for the application, unique within the Tenancy. 1–64 characters of a–z A–Z 0–9 - _. Submitting again under a recorded reference with the same application answers that Decision; a different application under it is refused 409.
string
required
A Client your Tenancy has registered. One it never registered is refused, and nothing is recorded.
string
required
The Configuration the application is against.
integer
required
Its version, counting from 1. The requested principal is held against that version’s bounds and currency, and the approving band’s rate against its rate corridor.
object
What is requested, as minor_units and currency. It must lie inside the Configuration version’s principal bounds and be denominated in its currency. Required unless you ask for a limit, and refused beside one.
boolean
Ask for the most the policy would lend this Client under the Configuration, instead of a principal. The application is evaluated as one stating the version’s lowest principal, so a derived ratio reads a figure the product sells. An approval approves the approving band’s ceiling, bounded by the version’s highest principal.A line is granted from a limit Decision. Not available on the menu route.
string
required
The day the application is submitted, as YYYY-MM-DD. Every declared value’s own day is held against it: a value dated after it is refused, and one older than its attribute admits is refused naming the bound.It is stated rather than taken from a clock. The Platform supplies no today.
object
required
One entry per declared attribute the adopted version reads, keyed by the attribute’s name. An attribute the vocabulary does not define is refused naming it; a derived attribute you state is refused naming it.You may state more than the version reads, and what you state is validated all the same — bounds, unit, admitted states, and how old the value is — whether the version reads it or not. Unread is not unrecorded: the Decision carries every attribute you stated, immutably, so a record cannot later be asked what you knew and answer with a number nobody checked.
object
What a Source needs in order to address a lookup at the person, keyed by the identity vocabulary’s own field names — given_name, first_surname, second_surname, rfc, curp, birth_date, and the six-part domicile (address, address_colonia, address_municipio, address_city, address_state, address_postal_code). Which of them are required is the Source’s own declaration, served on GET …/sources.Omit it for a policy version that reads no Source. It travels to the Source and is recorded in no Decision: what the Platform keeps of it lives beside the record, under the custody rules the source surface states.
The borrower’s authorisation as you hold it. Required for a policy version that reads a Source declaring it, and refused before anything is fetched when absent.Named per application rather than remembered per Client: an authorisation is given for a purpose and a moment, not granted in perpetuity.
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 reused reference restates.
string
How many outcomes your integration reads: three (the default) or four. With four a Decision may be not_offered. An application under a policy version that can answer not_offered, from a caller that did not state four, is refused 422 outcomes_unstated before anything is read or recorded.
object
Grant a Facility from an approval in the same act. The window is held to the bound a separate creation is held to — a window beyond it is refused 422 outside_window_bound before any Source is read. Anything but an approval grants nothing.

The three states

One empty value cannot carry three meanings, so the Platform asks for the state and refuses a number beside an absence. A scorecard entry bands each state its attribute admits, so unavailable scores what an absence of knowledge is worth rather than what a zero would.

Response

string
required
The Platform’s identifier for the Decision. Read it back with it.
string
required
The reference you submitted under.
string
required
The Client the application named.
string
required
The Product configuration the application was priced against, with configuration_version beside it.
integer
required
Its version.
object
required
What was applied for, as an amount.
string
required
The civil date the application was submitted, as it stated it.
string
required
The policy this was decided under.
integer
required
Its version. It never changes, whatever you later adopt.
string
required
The digest of that version’s content at the moment of deciding. Recorded beside the number because the number alone names content that could later change.
integer
required
The integer sum of the points the scorecard awarded.
string
required
refuse, approve, refer or — where you stated outcomes: four — not_offered: the product is not sold to this applicant, not yet or not through this channel. A not_offered Decision carries no terms and no moratorium, bars nothing, and is not a refusal.
string
The cutoff band the score fell in. Absent when a knockout settled the application before the score was consulted.
boolean
true where the application asked for a limit. principal is then the figure it was evaluated at: the version’s lowest principal.
object
What was approved, as minor_units and currency. Only an approval carries it. It is the principal you requested — the Platform makes no counter-offer — or, on a limit, the band’s ceiling bounded by the version’s highest principal.
object
The approving band’s principal ceiling. Present on an approval, and on a refusal the ceiling produced.
boolean
required
true where the refusal was the ceiling’s: the score reached an approving band that will not carry the principal you asked for. Ask for at most ceiling under a new reference, or ask for a limit.
object
The approving band’s exact annual rate, as numerator, denominator and quotation, and as percent — the decimal percentage a Loan states, digit for digit what issuance compares against the grant, so restating the rate is copying the field. Only an approval carries it.
integer
How many whole days this refusal stands against re-application. Only a refusal under a band or by a knockout that binds carries one.
object
required
The application as the Platform read it: every attribute, declared and derived, with the state it arrived in.
object
required
Every rule of the version, evaluated.
array
required
Every external source of credit information that entered the Decision, with the authorisation that permitted reading it. Empty where the adopted policy version reads no Source — then every attribute is one you declared.
boolean
required
Whether this is the evaluation that binds. Always true.
string
The Tenancy’s zone as this Decision froze it, and the zone a moratorium is counted in. Absent on a Decision recorded before the field existed, which counts its days in UTC.
object
Your object, as the application carried it. Absent where none was attached.
boolean
required
true when the policy version was confirmed by the person who published it, which only a sandbox Tenancy permits. false under a pack and under a version a second person confirmed. Frozen with the Decision.
string
The day a moratorium counts from and a Facility’s window is bounded from, as YYYY-MM-DD. It is submitted_on where that day is earlier than the day the Decision was recorded on, and the recording day otherwise. Absent on a Decision recorded before the field existed, which counts from the day decided_at falls on.
string
required
RFC 3339 in UTC: the moment the Decision was recorded.
object
Present only where the application stated facility. granted is true with the Facility’s id, amount, rate, opens_on and expires_on where the Decision is an approval, and false otherwise. A later read of the Decision does not carry it; read the Facility at /facilities/{facility_id}. Creating it separately afterwards answers the one already created.
boolean
required
true for a refer nobody has resolved, and false for every other Decision. See Resolving a refer.
object
What a person settled a refer as, read beside the Decision’s own outcome and never in place of it. Absent where nobody resolved one.

What is recorded and what is not

A refusal about the applicant is a Decision. A refusal about the request is not, and nothing is written for it. An application refused unrecorded leaves its reference free. Correct it and submit again under the same reference. The corridor refusal is answered before any Source is read. Every approving band the adopted version carries is held against the Configuration’s corridor when the application arrives, so a version the product cannot price is refused on the first application, costs no consulta, registers no enquiry on the applicant’s file, and spends none of your daily bound. The refusal names every band outside the corridor and both corridor ends. A resubmission under a reference that already names a decision is answered from the record whatever the corridor now says.
The Platform never counter-offers. A request above the approving band’s ceiling is refused naming the ceiling, so you know exactly what a new application should ask for — under a new reference.

Refusals

This route reads no query parameter.