{
"customerId": "12345"
}{
"success": true,
"lmsType": "nls",
"customerId": "12345",
"finosuCustomerId": "550e8400-e29b-41d4-a716-446655440000",
"loansSynced": 2,
"loans": [
{
"loanId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"nortridgeAcctrefno": 100001,
"loanExternalReference": "LOAN-001",
"transactionsRows": 15,
"paymentsDueRows": 12,
"paymentMethodsCreated": 1,
"paymentMethodsUpdated": 0,
"documentRows": 3,
"transactionsError": "<string>",
"paymentsDueError": "<string>",
"paymentMethodsError": "<string>",
"documentsError": "<string>",
"setupError": "<string>"
}
],
"error": "<string>"
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Webhooks
LMS Customer Full Sync
Perform a full sync of a customer and all their loans from the company’s configured LMS.
WEBHOOK
/
webhooks
/
lms
/
sync
/
customer-full
{
"customerId": "12345"
}{
"success": true,
"lmsType": "nls",
"customerId": "12345",
"finosuCustomerId": "550e8400-e29b-41d4-a716-446655440000",
"loansSynced": 2,
"loans": [
{
"loanId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"nortridgeAcctrefno": 100001,
"loanExternalReference": "LOAN-001",
"transactionsRows": 15,
"paymentsDueRows": 12,
"paymentMethodsCreated": 1,
"paymentMethodsUpdated": 0,
"documentRows": 3,
"transactionsError": "<string>",
"paymentsDueError": "<string>",
"paymentMethodsError": "<string>",
"documentsError": "<string>",
"setupError": "<string>"
}
],
"error": "<string>"
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Overview
Perform a full sync of a single customer and all their loans from your company’s configured LMS. This endpoint can be used:- Manually by client engineers for testing
- As a webhook target for automated syncs when your LMS detects updates (e.g., new loan application)
- Customer/contact information (name, phone, email, SSN, address, etc.)
- All loans for the customer
- For each loan: status, amounts, and schedule creation as appropriate
Request Body Format
{
"customerId": "12345"
}
Fields
- customerId — Customer identifier in your LMS (required). Must be a non-empty string.
What Happens During Sync
- Finosu calls your company’s LMS to fetch the customer’s data
- Creates or updates the customer record in Finosu (name, phone, email, birthday, SSN, address, timezone)
- Fetches all loans for that customer from the LMS
- For each loan:
- Creates or updates the loan record in Finosu
- For pending/origination loans: creates the call schedule automatically
- For active loans: creates the loan record for servicing
- Terminal loans (closed, paid, etc.) are skipped
Response Format
{
"success": true,
"lmsType": "plm",
"customerId": "12345",
"finosuCustomerId": "550e8400-e29b-41d4-a716-446655440000",
"loansSynced": 1,
"loans": [
{
"loanId": "660e8400-e29b-41d4-a716-446655440001",
"loanExternalReference": "98765"
}
],
"error": null
}
Response Fields
| Field | Type | Description |
|---|---|---|
| success | boolean | Whether the sync completed successfully |
| lmsType | string | The LMS type used for this company |
| customerId | string | The external customer ID you provided |
| finosuCustomerId | UUID | The Finosu internal customer ID |
| loansSynced | integer | Number of loans synced |
| loans | array | Per-loan sync details |
| error | string or null | Error description if the sync failed |
Error Handling
| Status | Meaning |
|---|---|
| 200 | Sync completed successfully |
| 400 | LMS type does not support customer-level sync |
| 403 | Company not authorized for LMS integration |
| 404 | Customer not found in the LMS |
| 500 | Internal error during sync |
Authentication
Requires X-API-Key header with a valid webhook API key. The key determines which company and LMS integration to use.Syncing Multiple Customers
To sync multiple customers at once, use the LMS Customer Batch Sync endpoint instead. It accepts an array of customer IDs and processes them asynchronously.Authorizations
Headers
Optional key for idempotent requests (logged for observability)
Body
application/json
Customer identifier to sync
Customer identifier in the external LMS (e.g., CIF number for NLS)
Minimum string length:
1Example:
"12345"
Response
Sync completed successfully
Whether the sync completed successfully
The LMS type used (e.g., 'nls')
Example:
"nls"
External LMS customer identifier
Example:
"12345"
Finosu internal customer UUID
Example:
"550e8400-e29b-41d4-a716-446655440000"
Number of loans synced
Example:
2
Detailed results for each loan
Show child attributes
Show child attributes
Error message if sync failed