Authentication
Requires an API key withapplications:write scope. The application must belong to the organization associated with the API key.
Path parameters
UUID of the application. Must match the
applicationId in the request body.Request body
Decision type. One of:
application.approvedapplication.rejectedapplication.referred
ISO 8601 timestamp of when the provider made the decision (not when you are relaying it to Klara).
UUID of the application. Must match the
{id} in the URL path.Free-form object containing any provider-specific context you want stored alongside the decision — for example a provider reference number, reason codes, or reviewer notes. Stored verbatim.
Provider decisions can only be recorded against applications that have been submitted. Calling this endpoint for an application still in
created, sent, or in_progress state returns 400.Idempotency
Recording the same decision type twice for an application is a safe no-op. The second call returns200 OK with already_recorded: true and does not create a duplicate record.
Different decision types are all recorded in order — e.g. a referred decision followed later by an approved decision will both be stored.
Response
Returns201 Created when a new decision is recorded, or 200 OK if the decision was already recorded.
true when the decision was accepted.Normalized decision type (
approved, rejected, or referred) — the application. prefix is stripped. Only present on 201.UUID of the application. Only present on
201.true when the same decision type was already recorded. Only present on 200.Human-readable explanation. Only present on
200.Examples
Approving an application
Referring for manual review
Errors
| Error | Cause |
|---|---|
Invalid JSON body | Request body is not valid JSON |
Invalid request body | Body failed schema validation — see details for per-field errors |
application_id in body does not match URL parameter | The application_id field does not match the {id} in the URL |
Application has not been submitted yet | The application is still in a writable state (created, sent, in_progress) |
Invalid API key | API key is invalid, expired, or inactive |
API key missing required scopes | API key does not have the applications:write scope |
Application not found | The application does not exist or belongs to a different organization |
