Skip to main content
WEBHOOK

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)
The sync includes:
  • 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

Fields

  • customerId — Customer identifier in your LMS (required). Must be a non-empty string.

What Happens During Sync

  1. Finosu calls your company’s LMS to fetch the customer’s data
  2. Creates or updates the customer record in Finosu (name, phone, email, birthday, SSN, address, timezone)
  3. Fetches all loans for that customer from the LMS
  4. 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

Response Fields

Error Handling

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

X-API-Key
string
header
required

Headers

Idempotency-Key
string

Optional key for idempotent requests (logged for observability)

Body

application/json

Customer identifier to sync

customerId
string
required

Customer identifier in the external LMS (e.g., CIF number for NLS)

Minimum string length: 1
Example:

"12345"

Response

Sync completed successfully

success
boolean
required

Whether the sync completed successfully

lmsType
string
required

The LMS type used (e.g., 'nls')

Example:

"nls"

customerId
string
required

External LMS customer identifier

Example:

"12345"

finosuCustomerId
string<uuid>
required

Finosu internal customer UUID

Example:

"550e8400-e29b-41d4-a716-446655440000"

loansSynced
integer
required

Number of loans synced

Example:

2

loans
object[]
required

Detailed results for each loan

error
string | null

Error message if sync failed