Skip to main content
The base URL for all public API endpoints is https://api.finosu.com.

Authentication

Requests your system sends to the public API are authenticated using API keys passed in the X-API-Key header. Outbound callbacks are sent by Finosu to your configured receiver and follow their own delivery and authentication contracts. A missing, empty, invalid, or inactive API key returns 401 Unauthorized. Provide an active key before retrying. With valid authentication, invalid request fields can return 422; check the endpoint’s request schema. Sample authenticated request:
To export call history across your company, use List All Calls. The endpoint supports cursor pagination, optional customer/call-type/date filters, and a complete-history export example.

Request fields and outbound payloads

Use the schema for the specific operation; request aliases do not rename response fields or outbound webhook payloads. For requests that accept both naming styles, send each field once. Consult the endpoint’s documented precedence rules if both spellings are supplied. Keys in customer-upsert externalMetadata are caller-defined and are not renamed.

Response conventions

Customer, text, email, and loan responses can contain null for unavailable optional values. Loan create/update responses serialize decimal amounts and percentages as JSON strings, for example "amountDue": "100.25". Follow the response schema for the operation; request examples may use JSON numbers. HTTP errors use a detail field, typically a message:
Some application errors use structured detail. Request validation errors can instead return detail as an array of field errors. Creating a customer returns 201 Created on success. For customer, customer-call, text, and email lists, an optional limit must be an integer from 1 to 1000. Where supported, offset is a nonnegative integer and defaults to 0. Email pagination selects threads before flattening their messages, so the returned message count may exceed limit. The company-wide GET /calls endpoint uses its separate cursor pagination contract.

Choose your workflow

  • Origination: start here for new leads, returning borrowers, and one-off outreach. Enrollment creates or reuses the customer; a separate customer-create call is not required.
  • Collections: create the customer, then create the loan for accounts configured for loan-based collections boarding.
  • Existing schedule replacement: use Sync Customer Schedules only when your integration intends to replace pending schedules.