Create Customer
Creates a new customer
Upcoming Contract Changes
The required-field contract for this endpoint is changing.birthday, ssnLastFour, and state will
become required; email/phoneNumber and timezone/zipCode become at-least-one pairs; and test
and loanId are being removed in favor of isTest and loanIds.
Nothing below has changed yet — the fields documented on this page reflect what is enforced today. We
will give partners ample time to adjust before introducing any breaking changes. See Upcoming API
Changes for the new contract, the rationale, and migration examples.
Required Fields
Always required:id- Your customer reference ID; should match your internal system’s ID (required)firstName- Customer’s first name (required)lastName- Customer’s last name (required)phoneNumber- Customer’s phone number (required) - Used for automated calling and SMS communicationstimezone- Customer’s timezone as an IANA timezone name (e.g., “America/New_York”, “America/Los_Angeles”, “America/Chicago”) (required) - Required for TCPA compliance to ensure calls are made during appropriate hours. Must be a valid IANA timezone identifier.taskType- Task type for customer’s call schedule (required) - Valid task types depend on your company configuration. If an invalid task type is provided for your company, the API will return a400 Bad Requesterror with a list of valid task types.
sync: true (when sync is enabled these are auto-fetched from your LMS — see below):
email- Customer email address (required)streetAddress1- Street address line 1 (required)city- City name (required)state- State code (e.g., “NY”, “CA”) (required)zipCode- ZIP/postal code (required)
birthday- Customer birthday (YYYY-MM-DD format) - Used for identity verification on calls. Will become required — see Upcoming API Changes.ssnLastFour- Last 4 digits of SSN - Used for identity verification on calls. Will become required — see Upcoming API Changes.streetAddress2- Street address line 2doNotCall- Whether to mark customer for Do Not Call (default: false)externalMetadata- Custom JSON object with additional customer dataloanIds- Array of loan IDs to import
400 Bad Request naming the fields, e.g.
{"detail": "Missing required fields: firstName, timezone"}.
Response Body
The API returns all fields that were provided in the request body, along with any computed fields. This includes:- Basic Information:
id,firstName,lastName,email,phoneNumber,timezone - Personal Information:
birthday,ssnLastFour - Address Information:
streetAddress1,streetAddress2,city,state,zipCode - Configuration:
taskType,doNotCall,isTest - Custom Data:
externalMetadata- The complete metadata object you provided
Test Customers
You can mark a customer as a test customer by setting thetest parameter to true in the request body. Test customers are useful for development and testing purposes and can be filtered separately when retrieving customers.
test is deprecated and will be replaced by isTest (which is what the response already returns).
Note that isTest is not yet accepted on the request — sending it today has no effect and would
create a non-test customer, so keep using test until you are notified that the change is live. See
Upcoming API Changes.
External Metadata
TheexternalMetadata field allows you to store additional custom data about the customer as a JSON object. This is particularly useful for storing:
- Employer Information: Company name, address, department, contact details
- Pay Schedule: Pay frequency and pay day information
- Additional Contact Information: Multiple phone numbers and contact methods
- Custom Fields: Any other customer-specific data your system needs to track
LMS Auto-Fetch (sync)
If your company has a Loan Management System integrated with Finosu, you can use thesync field to automatically fetch customer data instead of providing it manually.
- Default:
false— all fields must be provided in the request - When
true: The API uses theidfield as the customer ID in your LMS and auto-fetches any missing fields (name, email, SSN, birthday, phone, address, zip, timezone) - Caller-supplied values take precedence — if you provide a field, the LMS value is not used
- Timezone is auto-resolved from the zip code when not provided
- The
idmust be numeric whensyncistrue
id, taskType, and sync: true — the rest is fetched from your LMS automatically. Contact your Finosu account manager to enable LMS integration for your company.
Loan IDs (Optional)
TheloanIds field allows you to specify which loans should be imported for the customer when creating them:
- Format: Array of integers (e.g.,
[123, 456, 789]) - Behavior: If provided, only the specified loans will be fetched and imported. If omitted, all loans for the customer will be imported.
- Use Case: Useful when you only want to import specific loans instead of all loans associated with the customer. To import exactly one loan, pass a single-element array (e.g.,
[67890]).
Loan ID (Deprecated)
TheloanId field (string) is deprecated and has no effect on this endpoint — it is accepted and
then ignored. It will be removed in a future update. Use loanIds instead, passing a single-element
array for one loan. See Upcoming API Changes.Authorizations
Body
Customer to add
Customer creation payload. NOTE: the required-field contract for this endpoint is changing — see the Upcoming API Changes page (/api-reference/upcoming-changes) for the new contract.
Unique identifier for the customer. This is your customer reference and should match your internal system's ID.
The first name of the customer
The last name of the customer
Timezone of the customer (IANA timezone name, e.g., 'America/New_York', 'America/Los_Angeles'). Required for TCPA compliance so calls are placed during permitted hours. UPCOMING: at least one of timezone or zipCode will be required, and timezone will be derived from zipCode when omitted — see /api-reference/upcoming-changes.
Phone number of the customer. UPCOMING: at least one of email or phoneNumber will be required — see /api-reference/upcoming-changes.
Type of tasks to create for the customer's automated call schedule. Valid values depend on company configuration. This field is required.
"collections"
Customer email address. Required unless sync is true. UPCOMING: at least one of email or phoneNumber will be required — see /api-reference/upcoming-changes.
Customer birthday in YYYY-MM-DD format. UPCOMING: this field will become required — see /api-reference/upcoming-changes.
"1985-06-15"
Last 4 digits of SSN. UPCOMING: this field will become required — see /api-reference/upcoming-changes.
"1234"
Street address line 1. Required unless sync is true.
"123 Main St"
Street address line 2 (optional)
"Apt 4B"
City. Required unless sync is true.
"San Francisco"
State code. Required unless sync is true. UPCOMING: this field will be required in all cases — see /api-reference/upcoming-changes.
"CA"
ZIP/postal code. Required unless sync is true. UPCOMING: at least one of timezone or zipCode will be required — see /api-reference/upcoming-changes.
"94102"
Do not call the customer
DEPRECATED — mark customer as test customer. This field will be removed in a future update; use isTest instead once the change is live. See /api-reference/upcoming-changes.
Additional custom metadata about the customer (e.g. employer information, pay schedule, additional contact details)
Array of loan IDs to import. If provided, only these loans are imported. If omitted, all loans are imported. Pass a single-element array to import exactly one loan.
When true, auto-fetch missing customer data from your integrated lending system. Defaults to false.
DEPRECATED — has no effect on this endpoint and will be removed in a future update. Pass the loan ID as a single-element loanIds array instead. See /api-reference/upcoming-changes.
Response
Customer response
Unique identifier for the customer. This is your customer reference and should match your internal system's ID.
The first name of the customer
The last name of the customer
Customer email address
Customer birthday in YYYY-MM-DD format
Last 4 digits of SSN
Timezone of the customer (IANA timezone name, e.g., 'America/New_York', 'America/Los_Angeles')
Phone number of the customer
Street address line 1
Street address line 2 (optional)
City name
State code (e.g., NY, CA)
ZIP/postal code
Do not call the customer
Indicates if this is a test customer
Type of tasks created for the customer's automated call schedule
Additional custom metadata about the customer