Match lenders to a deal
curl --request GET \
--url https://api.nextlevelmca.com/v1/deals/{dealId}/lender-matches \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.nextlevelmca.com/v1/deals/{dealId}/lender-matches', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.nextlevelmca.com/v1/deals/{dealId}/lender-matches"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"lender_id": "<string>",
"lender_name": "<string>",
"score": 123,
"confidence": "high",
"recommended": true,
"eligible": true,
"auto_eligible": true,
"relationship": "current",
"disqualify_reasons": [
"<string>"
],
"unknown_gates": [
"<string>"
],
"paper_grades": [
"<string>"
],
"checks": [
{
"field": "<string>",
"label": "<string>",
"kind": "gate",
"criterion": "<string>",
"deal_value": "<string>",
"passed": true,
"skipped": true,
"points": 123,
"note": "<string>"
}
],
"explanation": "<string>",
"approval_rate": 123
}
],
"meta": {
"next_cursor": "<string>",
"has_more": true
}
}{
"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>"
}
}Lender matches
Match lenders to a deal
Runs the location’s lender criteria against the deal (bank-verified revenue beats stated revenue when statements are analyzed). Each match carries a 0–100 score, a confidence level and per-check explanations. meta.deal reports what data was missing. Use view=recommended for the shortlist an underwriter would send to.
GET
/
v1
/
deals
/
{dealId}
/
lender-matches
Match lenders to a deal
curl --request GET \
--url https://api.nextlevelmca.com/v1/deals/{dealId}/lender-matches \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.nextlevelmca.com/v1/deals/{dealId}/lender-matches', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.nextlevelmca.com/v1/deals/{dealId}/lender-matches"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"lender_id": "<string>",
"lender_name": "<string>",
"score": 123,
"confidence": "high",
"recommended": true,
"eligible": true,
"auto_eligible": true,
"relationship": "current",
"disqualify_reasons": [
"<string>"
],
"unknown_gates": [
"<string>"
],
"paper_grades": [
"<string>"
],
"checks": [
{
"field": "<string>",
"label": "<string>",
"kind": "gate",
"criterion": "<string>",
"deal_value": "<string>",
"passed": true,
"skipped": true,
"points": 123,
"note": "<string>"
}
],
"explanation": "<string>",
"approval_rate": 123
}
],
"meta": {
"next_cursor": "<string>",
"has_more": true
}
}{
"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
Deal id
Query Parameters
Page size (1–100).
Required range:
1 <= x <= 100Opaque cursor from a previous response’s meta.next_cursor.
recommended = eligible, has criteria, and a score at or above the workspace threshold (set by an admin in Settings → General → Preferences); eligible = passes every yes/no rule; all includes ruled-out lenders with reasons.
Available options:
recommended, eligible, all Was this page helpful?