Reject the package
POST
/v1/loans/{ref}/reject
const url = 'http://localhost:8080/v1/loans/example/reject';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/reject \ --header 'Content-Type: application/json' \ --data '{ "note": "example" }'Moves the loan from review to rejected; a terminal state; recording who, when and the mandatory note in evidence. A corrected package is submitted as a new version. Requires a signed-in admin, manager or specialist. 404 for an unknown reference, 400 for an empty note, 409 unless the loan is in review.
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"}