# Create a customer

> POST /customers

Source: https://docs.trykintsugi.com/reference/2026-07-21/create-a-customer

POST /customers

Create a customer

Create a customer in the resolved organization. Idempotent on `externalId` and `source`, and additionally on `connectionId` when you send one: sending the same values again returns the existing customer unchanged and responds `200` instead of creating a duplicate. The customer is not updated by this call; use `PATCH /customers/{customerId}` to update. Omitting `connectionId` matches an existing customer with that `externalId` and `source` whatever its connection. If the match is a customer you previously deleted, it is restored (not duplicated) so its transactions and exemptions stay attached to it. A new customer is always `ACTIVE`; delete one with `DELETE`.

Category: Customers

Request body:
externalId (string) - Your stable identifier for the customer, and the key creating is idempotent on. Sending one that already exists for the same source and connection returns that customer unchanged with 200 instead of creating a second one; use PATCH to update it.
name (string) - Customer name.
companyName (string) - Registered or legal business name, when it differs from name.
email (string) - Contact email address.
phone (string) - Contact phone number.
connectionId (string) - Connection to attribute the customer to. Must belong to the resolved organization. Part of the idempotency key.
externalFriendlyId (string) - Human-facing identifier from the source system, shown in place of externalId when the source has both.
source (string) - Origin system of the customer (e.g. API, SHOPIFY). Defaults to OTHER. Must be a supported public source; unsupported values are rejected.
  allowed values: ACUMATICA, AIRWALLEX, AMAZON, API, APPLE_APP_STORE, BESTBUY, BIGCOMMERCE, BILL_COM, BUNNY, CAMPFIRE, CHARGEBEE, CHECKOUTCHAMP (and 58 more, see the reference page)
taxRegistrations (CustomerTaxRegistrationWrite[]) - Tax registrations to record for the customer, each keyed by (countryCode, taxType). Repeating a pair in one request is rejected.
  countryCode (string, required) - Country the registration is valid in, ISO 3166-1 alpha-2. Part of the registration's identity: a customer has one registration per (countryCode, taxType) pair.
  taxType (PublicCustomerTaxTypeEnum, required) - Kind of tax the registration is for.
    allowed values: gst, hst, gst_hst, qst, pst, rst, vat, unknown
[truncated, see the reference page]

---

Index of every page: https://docs.trykintsugi.com/llms.txt
