Approve the package
POST
/v1/loans/{ref}/approve
const url = 'http://localhost:8080/v1/loans/example/approve';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"note":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:8080/v1/loans/example/approve \ --header 'Content-Type: application/json' \ --data '{ "note": "example" }'Moves the loan from review to approved, recording who, when, the finding checklist and the mandatory note in evidence. Requires a signed-in admin, manager or specialist. 404 for an unknown reference, 400 for an empty note, 422 listing the blockers while the loan is not in review, any exception finding is unresolved, or an exception has not been reviewed by a person.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”ref
required
string
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
Body of POST /v1/loans/{ref}/approve|reject (: the free-text note is part of the record).
object
note
string
Examplegenerated
{ "note": "example"}Responses
Section titled “Responses”OK
Media typeapplication/json
object
id
required
string format: uuid
externalRef
required
string
packageVersion
required
integer | string format: int32
borrowerName
required
string
expectedPrincipal
required
null | string
state
required
string
hasExceptions
required
boolean
assigneeId
required
null | string format: uuid
createdBy
required
null | string format: uuid
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
Examplegenerated
{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "externalRef": "example", "packageVersion": 1, "borrowerName": "example", "expectedPrincipal": "example", "state": "example", "hasExceptions": true, "assigneeId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "createdBy": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "createdAt": "2026-04-15T12:00:00Z", "updatedAt": "2026-04-15T12:00:00Z"}