LendWorksLendWorksDocs

Deals

Create deals, upload documents, retrieve analysis results, and evaluate against rulesets.

Create a Deal

A deal represents a single funding application. Create one, then attach documents for analysis.

TypeScript
const deal = await client.deals.create({
  business_name: "Acme Trucking LLC",
});

console.log(deal.id);     // 12345
console.log(deal.status); // "pending"
Python
deal = client.deals.create(
    business_name="Acme Trucking LLC",
)

print(deal.id)     # 12345
print(deal.status) # "pending"

Retrieve a Deal

After documents are processed, the deal contains the full analysis — business info, financials, health scores, MCA positions, and underwriting recommendation.

TypeScript
const detail = await client.deals.get(12345);

// Business information
console.log(detail.business.business_name);   // "Acme Trucking LLC"
console.log(detail.business.industry);        // "Transportation"
console.log(detail.ai_summary);              // AI-generated summary

// Financial metrics
console.log(detail.financials.avg_monthly_deposits);  // 48500.00
console.log(detail.financials.avg_daily_balance);     // 16215.30
console.log(detail.financials.total_deposits);        // 145500.00
console.log(detail.financials.negative_balance_days); // 2

// NSF/Overdraft analysis
console.log(detail.nsf_overdraft.nsf_fee_count);      // 1
console.log(detail.nsf_overdraft.overdraft_fee_total); // 35.00

// Health scoring
console.log(detail.health.health_score);  // 78.5
console.log(detail.health.health_grade);  // "B"

// Underwriting recommendation
console.log(detail.recommendation?.decision);         // "approved"
console.log(detail.recommendation?.confidence);       // 0.87
console.log(detail.recommendation?.risk_tier);        // "tier_2"
console.log(detail.recommendation?.advance_amount);   // 50000
console.log(detail.recommendation?.factor_rate);      // 1.35
console.log(detail.recommendation?.est_daily_payment); // 375.00
console.log(detail.recommendation?.risk_factors);     // ["high_mca_exposure"]
console.log(detail.recommendation?.strengths);        // ["consistent_deposits"]

// MCA detection
console.log(detail.mca?.positions_detected);      // 2
console.log(detail.mca?.total_daily_obligation);  // 450.00
console.log(detail.mca?.mca_credit_score);        // 72
console.log(detail.mca?.fundability_grade);       // "B"
Python
detail = client.deals.get(12345)

# Business information
print(detail.business.business_name)   # "Acme Trucking LLC"
print(detail.business.industry)        # "Transportation"
print(detail.ai_summary)              # AI-generated summary

# Financial metrics
print(detail.financials.avg_monthly_deposits)  # 48500.00
print(detail.financials.avg_daily_balance)     # 16215.30

# Health scoring
print(detail.health.health_score)  # 78.5
print(detail.health.health_grade)  # "B"

# Underwriting recommendation
print(detail.recommendation.decision)         # "approved"
print(detail.recommendation.advance_amount)   # 50000
print(detail.recommendation.factor_rate)      # 1.35

List Deals

TypeScript
// List deals with pagination
const page1 = await client.deals.list({ per_page: 20 })
for (const deal of page1.data) {
  console.log(deal.id, deal.business.business_name, deal.health?.health_score)
}

// Fetch next page if available
if (page1.has_more) {
  const page2 = await client.deals.list({ cursor: page1.next_cursor, per_page: 20 })
  // ...
}
Python
# List deals with pagination
page1 = client.deals.list(per_page=20)
for deal in page1.data:
    print(deal.id, deal.business.business_name, deal.health.health_score)

# Fetch next page if available
if page1.has_more:
    page2 = client.deals.list(cursor=page1.next_cursor, per_page=20)
    # ...

Evaluate Against Rulesets

Re-evaluate a deal against one or more custom rulesets. Useful for testing different underwriting criteria against the same data.

TypeScript
const evaluation = await client.deals.evaluate(12345, {
  ruleset_ids: [456, 789],
});

for (const result of evaluation.results) {
  console.log(result.ruleset_id, result.passed, result.failed_rules);
}
Python
evaluation = client.deals.evaluate(12345, ruleset_ids=[456, 789])

for result in evaluation.results:
    print(result.ruleset_id, result.passed, result.failed_rules)