Skip to main content
PUT
/
v1
/
loans
/
{loan_id}
Update a loan application
curl --request PUT \
  --url https://api-dev.bsa.ai/v1/loans/{loan_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "principal": 123,
  "numberOfRepayments": 123,
  "interestRatePerPeriod": 123,
  "externalId": "<string>"
}
'

Documentation Index

Fetch the complete documentation index at: https://docs.api.bsa.ai/llms.txt

Use this file to discover all available pages before exploring further.

Modify a loan that is still in submitted and pending approval state. Once a loan is approved, this endpoint will reject the update — use Undo approval first if you need to make material changes.
LMS treats PUT /loans/{id} as a full re-submission rather than a delta — it requires the entire NewLoan-shape body on every update. The service handles this transparently: it reads the current loan, overlays the fields you sent, and forwards the complete payload. Callers send only what they want to change.

Path parameters

loan_id
string
required

Request body

principal
number
numberOfRepayments
integer
interestRatePerPeriod
number
externalId
string
Only the fields you send are modified.

Example

curl -sf -X PUT "$BASE/v1/loans/501" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "principal": 6000,
    "numberOfRepayments": 18
  }'

Response

200 OK returns the updated loan object.

Errors

CodeWhen
not_foundNo loan with that ID
abortedLoan is not in pending state
invalid_argumentField violates a product-level constraint