Customers

Creates a customer.

Requires ManageCustomers and an Idempotency-Key header (unique per attempt; a retry with the same key and body replays the first response). The customer is created active with a zero balance; country defaults to "USA"; when any of address/city/state/postalCode is given, a "Primary Address" mailing location is created too (see /customers/{id}/locations). The write is attributed to the user who created the API key.

post/api/v1/customers

Request

  • Base URL: https://app.flexonthejob.com
  • URL: https://app.flexonthejob.com/api/v1/customers
  • Auth: HTTP bearer

Request body

namestring required

Display name, e.g. "Jane Doe". Required, ≤ 200 characters.

companyNamestring nullable

Company / trading name, e.g. "Doe Roofing LLC". ≤ 200.

customerType'EndCustomer' | 'Installer' | 'Distributor' | 'Commercial'
primaryContactstring nullable

Primary contact person, if different from name. ≤ 100.

emailstring email nullable

Contact e-mail address. ≤ 256.

phonestring tel nullable

Main phone number, stored as entered. ≤ 20.

mobilePhonestring tel nullable

Mobile phone number, stored as entered. ≤ 20.

addressstring nullable

Primary (billing) street address line 1. ≤ 200. On create, any of address/city/state/postalCode also creates a "Primary Address" location.

address2string nullable

Primary address line 2 (suite, unit). ≤ 200.

citystring nullable

Primary address city. ≤ 100.

statestring nullable

Primary address state / province. ≤ 50.

postalCodestring nullable

Primary address ZIP / postal code. ≤ 20.

countrystring nullable

Primary address country. ≤ 100. Defaults to "USA" on create.

taxIdstring nullable

Tax identification number. ≤ 50.

isTaxExemptboolean nullable

True when tax exempt; null when not recorded.

priceTier'Standard' | 'Silver' | 'Gold' | 'Platinum' | 'Custom'
paymentTerms'DueOnReceipt' | 'Net15' | 'Net30' | 'Net45' | 'Net60' | 'COD' | 'Prepaid'
creditLimitnumber double

Credit limit in the organization's currency, e.g. 5000.00. Default 0.

isActiveboolean

Update only — false deactivates the customer (kept for history, hidden from pickers). Ignored on create; new customers are always active.

status'None' | 'Preferred' | 'Difficult'
warningNotesstring nullable

Warning shown to staff when the customer is selected. ≤ 1000.

notesstring nullable

Free-form internal notes.

Response

The new customer; Location points at /api/v1/customers/{id}.

idinteger

Numeric id used in URLs (e.g. /api/v1/customers/42). Stable within this organization.

syncIdstring uuid

Globally unique sync id (GUID). Use it as the after pagination cursor and when correlating with offline devices.

namestring

Display name, e.g. "Jane Doe". Always present.

companyNamestring nullable

Company / trading name when the customer is a business, e.g. "Doe Roofing LLC".

customerTypestring

Customer type: EndCustomer, Installer, Distributor or Commercial.

primaryContactstring nullable

Name of the primary contact person, if different from name.

emailstring nullable

Contact e-mail address.

phonestring nullable

Main phone number as entered (no normalisation).

mobilePhonestring nullable

Mobile phone number as entered.

addressstring nullable

Primary (billing) street address line 1.

address2string nullable

Primary address line 2 (suite, unit).

citystring nullable

Primary address city.

statestring nullable

Primary address state / province.

postalCodestring nullable

Primary address ZIP / postal code.

countrystring nullable

Primary address country.

isTaxExemptboolean nullable

True when the customer is tax exempt; null when not recorded.

priceTierstring

Price tier applied to this customer: Standard, Silver, Gold, Platinum or Custom.

paymentTermsstring

Default payment terms: DueOnReceipt, Net15, Net30, Net45, Net60, COD or Prepaid.

creditLimitnumber double

Credit limit in the organization's currency, e.g. 5000.00.

currentBalancenumber double

Outstanding balance owed by the customer, e.g. 1250.50.

storeCreditBalancenumber double

Store credit available to the customer, e.g. 0.00.

statusstring

Status flag: None, Preferred or Difficult.

taxIdstring nullable

Tax identification number, if recorded.

warningNotesstring nullable

Warning shown to staff when the customer is selected (e.g. "Pays late").

notesstring nullable

Free-form internal notes.

isActiveboolean

False when the customer has been deactivated (kept for history, hidden from pickers).

createdAtstring date-time

UTC creation timestamp, e.g. 2026-03-14T09:12:00Z.

updatedAtstring date-time nullable

UTC timestamp of the last edit; null when never edited after creation.

Changes

No recorded changes to this operation across all 1 revision of this API.