curl --request PATCH \
--url https://api.nextlevelmca.com/v1/advances/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"paid_amount": 1,
"payments_made": 1,
"renewal_threshold_override": 50
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({paid_amount: 1, payments_made: 1, renewal_threshold_override: 50})
};
fetch('https://api.nextlevelmca.com/v1/advances/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.nextlevelmca.com/v1/advances/{id}"
payload = {
"paid_amount": 1,
"payments_made": 1,
"renewal_threshold_override": 50
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": "<string>",
"deal_id": "<string>",
"business_id": "<string>",
"business_name": "<string>",
"lender_id": "<string>",
"lender_name": "<string>",
"offer_id": "<string>",
"status": "on-track",
"funded_amount": 123,
"factor_rate": 123,
"term": 123,
"payment_frequency": "daily",
"payment_amount": 123,
"payback_amount": 123,
"paid_amount": 123,
"paid_amount_source": "recorded",
"remaining_balance": 123,
"percent_paid": 123,
"payments_made": 123,
"payments_expected": 123,
"position": 123,
"renewal_ready": true,
"renewal_threshold": 123,
"renewal_threshold_override": 123,
"funded_at": "<string>",
"first_payment_date": "<string>",
"expected_payoff_date": "<string>",
"actual_payoff_date": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
},
"meta": {}
}{
"error": {
"type": "validation_error",
"message": "<string>",
"request_id": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "validation_error",
"message": "<string>",
"request_id": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "validation_error",
"message": "<string>",
"request_id": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "validation_error",
"message": "<string>",
"request_id": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "validation_error",
"message": "<string>",
"request_id": "<string>",
"code": "<string>",
"param": "<string>"
}
}Update an advance
Sets the repayment status, the total paid so far (paid_amount is absolute, not a delta), payments made, or a per-advance renewal threshold override. The status is not derived automatically: set status: "paid-off" yourself when the balance is cleared. Crossing the renewal threshold emits advance.renewal_ready.
curl --request PATCH \
--url https://api.nextlevelmca.com/v1/advances/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"paid_amount": 1,
"payments_made": 1,
"renewal_threshold_override": 50
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({paid_amount: 1, payments_made: 1, renewal_threshold_override: 50})
};
fetch('https://api.nextlevelmca.com/v1/advances/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.nextlevelmca.com/v1/advances/{id}"
payload = {
"paid_amount": 1,
"payments_made": 1,
"renewal_threshold_override": 50
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": "<string>",
"deal_id": "<string>",
"business_id": "<string>",
"business_name": "<string>",
"lender_id": "<string>",
"lender_name": "<string>",
"offer_id": "<string>",
"status": "on-track",
"funded_amount": 123,
"factor_rate": 123,
"term": 123,
"payment_frequency": "daily",
"payment_amount": 123,
"payback_amount": 123,
"paid_amount": 123,
"paid_amount_source": "recorded",
"remaining_balance": 123,
"percent_paid": 123,
"payments_made": 123,
"payments_expected": 123,
"position": 123,
"renewal_ready": true,
"renewal_threshold": 123,
"renewal_threshold_override": 123,
"funded_at": "<string>",
"first_payment_date": "<string>",
"expected_payoff_date": "<string>",
"actual_payoff_date": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
},
"meta": {}
}{
"error": {
"type": "validation_error",
"message": "<string>",
"request_id": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "validation_error",
"message": "<string>",
"request_id": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "validation_error",
"message": "<string>",
"request_id": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "validation_error",
"message": "<string>",
"request_id": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "validation_error",
"message": "<string>",
"request_id": "<string>",
"code": "<string>",
"param": "<string>"
}
}Authorizations
API key (nlmca_live_…) or OAuth access token
Path Parameters
Advance id
Body
New repayment status.
on-track, missed-payments, defaulted, paid-off Total paid so far, USD (absolute value, not a delta). A total above 0 is what paid_amount reports from then on, instead of the payment-schedule estimate. When the paid_amount you read has paid_amount_source: schedule, it is that estimate: send the total actually received, not the estimate plus a payment.
x >= 0Payments made so far.
x >= 0Renewal threshold override for this advance (0–100). Send null to fall back to the location default.
0 <= x <= 100Was this page helpful?