Skip to main content
POST
Create a Customer

Authorizations

X-API-Key
string
header
required

Body

application/json

The fields to create a customer with.

source_id
string
required

Your identifier for the customer in the system it comes from. Non-blank. Calculations name the customer with it as customer.preset.id.

Maximum string length: 255
Example:

"CUS-1042"

source
enum<string>
default:taxwire

The system the customer comes from. Defaults to taxwire.

Available options:
business_central,
campfire,
maxio,
monetizenow,
netsuite,
quickbooks,
rillet,
salesbricks,
shopify,
stripe,
taxwire,
xero
Example:

"taxwire"

source_account_id
string
default:__default__

The account the customer belongs to within source. It must match how Taxwire's customer sync stores this source's customers today, or the push creates a second copy of each one: the realm id for quickbooks, the tenant id for xero (which also prefixes source_id). Every other source's customers are stored without an account, so leave it __default__; netsuite keeps its account inside source_id instead, lowercased: td3106586:1042.

Maximum string length: 255
Example:

"__default__"

name
string | null

The customer's display name.

Maximum string length: 500
Example:

"Acme Wholesale"

email
string | null

The customer's email. Need not be unique.

Maximum string length: 320
Example:

"ap@acme.example"

source_updated_at
string<date-time> | null

When the customer last changed in the source system. Recommended for every source except taxwire: a later write older than this is ignored.

Example:

"2026-09-14T19:58:12Z"

Response

Successful Response

A customer: who is buying. Exemptions set in the app hang off it.

id
string
required

Taxwire's stable identifier for the customer.

Example:

"cust_01J9Z8Q4E7K2M3N4P5R6S7T8U9"

source_id
string
required

Your identifier for the customer in the system it came from. Pass it as customer.preset.id on a calculation to name this customer.

Examples:

"CUS-1042"

"td3106586:1042"

source
enum<string>
required

The system the customer came from. taxwire for customers you send directly to this API.

Available options:
business_central,
campfire,
maxio,
monetizenow,
netsuite,
quickbooks,
rillet,
salesbricks,
shopify,
stripe,
taxwire,
xero
Examples:

"taxwire"

"netsuite"

source_account_id
string
required

The account the customer belongs to within source, as Taxwire's customer sync stores it. __default__ when the customer is stored without one: today that's every source except quickbooks and xero.

Examples:

"__default__"

"9130349283746"

created_at
string<date-time>
required

When Taxwire first stored the customer.

Example:

"2026-09-14T20:00:00Z"

updated_at
string<date-time>
required

When the customer was last changed in Taxwire. Equals created_at until the first change.

Example:

"2026-09-14T20:00:00Z"

name
string | null

The customer's display name.

Example:

"Acme Wholesale"

email
string | null

The customer's email. Not unique: several customers can share one inbox.

Example:

"ap@acme.example"

merged_into_customer_id
string | null

Set when the source system merged this customer into another; the id of the surviving customer. Null otherwise.

Example:

null

source_updated_at
string<date-time> | null

When the customer last changed in the source system, as reported by the sender. Null when unknown.

Example:

"2026-09-14T19:58:12Z"