Quickstart Guide
Get up and running with LendFoundry APIs in under 15 minutes. Make your first API call to both LOS and LMS systems.
Quickstart Guide
Get Started in 15 MinutesThis guide will help you make your first API calls to both the Loan Origination System (LOS) and Loan Management System (LMS) in under 15 minutes.
This quickstart guide walks you through the essential steps to start using LendFoundry APIs. By the end of this guide, you'll have successfully made authenticated API requests to both systems and understand the basic workflow.
Prerequisites
Before you begin, ensure you have the following:
| Requirement | Description |
|---|---|
| ✅ API Credentials | API token from LendFoundry administrator |
| ✅ Demo Environment Access | Access to demo/sandbox environment |
| ✅ HTTP Client | cURL, Postman, or your preferred HTTP client |
| ✅ Basic REST Knowledge | Understanding of REST APIs and HTTP methods |
Step 1: Get Your API Credentials
To use LendFoundry APIs, you need authentication credentials. Contact your LendFoundry administrator or account representative to obtain:
- API Token - Your authentication token for API requests
- Tenant ID - Your organization's tenant identifier (for multi-tenant environments)
- Environment URLs - Base URLs for demo and production environments
NoteAPI tokens are provisioned by LendFoundry and are specific to your organization and environment. Keep your tokens secure and never expose them in client-side code or public repositories.
Step 2: Set Up Your Environment
LendFoundry APIs are organized into two main systems, each with its own base URL:
Base URLs
| System | Demo Environment | Production Environment |
|---|---|---|
| LOS | https://loc.demo.kendra.lendfoundry.com/v1 | https://loc.los.lendfoundry.com/v1 |
| LMS | https://api.demo.lms.lendfoundry.com/v1 | https://api.lms.lendfoundry.com/v1 |
Available Microservices
Loan Origination System (LOS)
| Portal | Base Path | Purpose |
|---|---|---|
| Back Office API | /darbaan/back-office/rest/api | Internal operations, application management |
| Borrower Portal API | /darbaan/borrower/rest/api | Borrower self-service operations |
| Affiliate API | /darbaan/affiliate/rest/api | Partner integrations |
Loan Management System (LMS)
| Microservice | Base Path | Purpose |
|---|---|---|
| Application Processor | /lms-application-processor | Loan onboarding from LOS |
| Loan Management | /loan-management | Core loan operations |
| Payment Processor | /payment-processor | Payment processing |
| Business Applicant | /business-applicant-global | Borrower and business data |
| Call Management | /call-management | Communication tracking |
| Draw Filters | /business-draw-down-filters | LOC draw validation |
| Loan Filters | /loan-filters | Search and filtering |
| Loan Accounting | /loan-accounting | Financial transactions |
| Draw Processor | /business-draw-down-processor-global | LOC draw processing |
Step 3: Make Your First LMS Request
Let's retrieve loan information using the LMS Application Processor API. This endpoint allows you to get loan details by application number.
Request
curl -X GET "https://api.demo.lms.lendfoundry.com/v1/lms-application-processor/application/APP-2024-001234" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"const getLoan = async (applicationNumber) => {
const response = await fetch(
`https://api.demo.lms.lendfoundry.com/v1/lms-application-processor/application/${applicationNumber}`,
{
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json'
}
}
);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return await response.json();
};
// Usage
const loan = await getLoan('APP-2024-001234');
console.log(loan);import requests
def get_loan(application_number):
url = f"https://api.demo.lms.lendfoundry.com/v1/lms-application-processor/application/{application_number}"
headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
}
response = requests.get(url, headers=headers)
response.raise_for_status()
return response.json()
# Usage
loan = get_loan("APP-2024-001234")
print(loan)import java.net.http.*;
import java.net.URI;
public class LendFoundryClient {
private static final String BASE_URL = "https://api.demo.lms.lendfoundry.com/v1";
private static final String TOKEN = "YOUR_TOKEN";
public static String getLoan(String applicationNumber) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(BASE_URL + "/lms-application-processor/application/" + applicationNumber))
.header("Authorization", "Bearer " + TOKEN)
.header("Content-Type", "application/json")
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
return response.body();
}
}Sample Response
{
"loanId": "LN-2024-001234",
"applicationNumber": "APP-2024-001234",
"status": "Funded",
"borrowerName": "John Doe",
"loanAmount": 50000.00,
"interestRate": 8.5,
"term": 36,
"fundedDate": "2024-01-15",
"economics": {
"principalOutstanding": 45000.00,
"interestOutstanding": 1250.00,
"feesOutstanding": 0.00,
"totalOutstanding": 46250.00
}
}
Success!If you received a response similar to the example above, congratulations! You've successfully made your first LMS API call.
Screenshots
Screenshot: LMS Loan ViewThis screenshot shows the loan view in LMS displaying loan details, status, and economics information that matches the API response structure.
Step 4: Make Your First LOS Request
Now let's retrieve application information from the Loan Origination System. This endpoint allows you to get application status and details.
Request
curl -X GET "https://loc.demo.kendra.lendfoundry.com/v1/darbaan/back-office/rest/api/applications/APP-2024-001234/status" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"const getApplicationStatus = async (applicationId) => {
const response = await fetch(
`https://loc.demo.kendra.lendfoundry.com/v1/darbaan/back-office/rest/api/applications/${applicationId}/status`,
{
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json'
}
}
);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return await response.json();
};
// Usage
const status = await getApplicationStatus('APP-2024-001234');
console.log(status);import requests
def get_application_status(application_id):
url = f"https://loc.demo.kendra.lendfoundry.com/v1/darbaan/back-office/rest/api/applications/{application_id}/status"
headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
}
response = requests.get(url, headers=headers)
response.raise_for_status()
return response.json()
# Usage
status = get_application_status("APP-2024-001234")
print(status)import java.net.http.*;
import java.net.URI;
public class LendFoundryClient {
private static final String LOS_BASE_URL = "https://loc.demo.kendra.lendfoundry.com/v1";
private static final String TOKEN = "YOUR_TOKEN";
public static String getApplicationStatus(String applicationId) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(LOS_BASE_URL + "/darbaan/back-office/rest/api/applications/" + applicationId + "/status"))
.header("Authorization", "Bearer " + TOKEN)
.header("Content-Type", "application/json")
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
return response.body();
}
}Sample Response
{
"applicationNumber": "APP-2024-001234",
"status": "Approved",
"borrowerName": "John Doe",
"businessName": "Acme Corporation",
"loanAmount": 50000.00,
"submittedDate": "2024-01-10T10:30:00Z",
"lastUpdated": "2024-01-12T14:20:00Z",
"currentStage": "Ready for Onboarding"
}
Success!You've now successfully made API calls to both LOS and LMS systems!
Screenshots
Screenshot: LOS Application ViewThis screenshot shows the application view in LOS displaying application details, status, and borrower information that corresponds to the API response.
Screenshots
Screenshot: API Integration OverviewThis screenshot provides a visual overview of how API responses map to the system interface, helping you understand the relationship between API data and UI displays.
Step 5: Explore Common Endpoints
Now that you've made your first API calls, here are some commonly used endpoints to explore:
LMS Endpoints
| Use Case | Method | Endpoint |
|---|---|---|
| Get Loan Details | GET | /loan-management/{loanNumber}/{isMasked} |
| Search Loans | POST | /loan-filters/loans/search |
| Make Payment | POST | /payment-processor/loans/{loanNumber}/payments |
| Get Payment Schedule | GET | /loan-management/{loanNumber}/schedule/{version} |
| Retrieve Loan by Application | GET | /lms-application-processor/application/{applicationNumber} |
LOS Endpoints
| Use Case | Method | Endpoint |
|---|---|---|
| Get Application | GET | /darbaan/back-office/rest/api/applications/{id} |
| Submit Application | POST | /darbaan/back-office/rest/api/borrower-application-intake |
| Upload Document | POST | /darbaan/back-office/rest/api/documents/upload |
| Get Application Status | GET | /darbaan/back-office/rest/api/applications/{id}/status |
| Search Applications | POST | /darbaan/back-office/rest/api/applications/search |
Explore MoreFor complete API documentation, visit the API Reference to browse all available endpoints.
Troubleshooting
Common Issues
Problem: Receiving 401 Unauthorized errors
Solution:
- Verify your token is included in the
Authorizationheader - Ensure the token is prefixed with
Bearer(with a space afterBearer) - Check that you're using the correct token for the environment (demo vs. production)
Problem: Receiving 404 Not Found errors
Solution:
- Verify the endpoint URL is correct
- Check that you're using the correct base URL for the system (LOS vs. LMS)
- Ensure the application number or loan number exists in the system
Problem: Receiving 400 Bad Request errors
Solution:
- Verify the request format is correct
- Check that required parameters are included
- Ensure the
Content-Typeheader is set toapplication/json
Next Steps
Now that you've made your first API calls, explore these resources:
| Resource | Description |
|---|---|
| Authentication Guide | Learn more about authentication, token security, and best practices |
| Base URLs Reference | Complete list of all microservice endpoints |
| Response Codes Guide | Understand HTTP status codes and error handling |
| Platform Overview | Deep dive into architecture and microservices |
| API Reference | Interactive API documentation with "Try It" feature |
| Recipes | Step-by-step implementation tutorials |
Ready to Build?Head to the Recipes section to learn how to implement common workflows like submitting a loan application or processing payments.
Updated 3 months ago
