Skip to main content
GET
This call answers one recorded Decision exactly as it was recorded: the application the Platform read, every rule of the policy version evaluated, the score, the band, and the outcome with its terms. A Decision reads back the same whatever your adoption has since become, and it stays readable for as long as your Tenancy exists.
The trace is self-contained. Every knockout carries its own identifier, its text, the bound it applied and the value it saw, so a refusal explains itself years later without the policy version being fetched beside it.

Path parameters

string
required
The Tenancy whose Decision is read. Another Tenancy’s path answers 403.
string
required
The Decision’s identifier, as the deciding call answered it.

Response

The body is the one the deciding call answers, field for field. See Decide an application for every field.

Explaining a refusal

Everything an explanation needs is in the Decision. Read the trace and take the knockouts whose fired is true; each carries the words of the rule, the bound it applied and the value it saw. A refusal with no fired knockout is one the score produced: the band is named, and the scorecard entries say where the points went.

Refusals

This route reads no query parameter and takes no body. A Decision recorded by another Tenancy and one that never existed are the same 404, which is what keeps the two indistinguishable from outside. A read-scoped key is enough.