Skip to main content
PATCH
Update a Customer

Authorizations

X-API-Key
string
header
required

Path Parameters

customer_id
string
required

The customer's Taxwire id (a cust_-prefixed ULID).

Body

application/json

The fields to change on a customer.

Omitted fields and null both leave the stored value unchanged. Any other field (the identity key, timestamps) is immutable and a 422.

name
string | null

New display name. Omit or send null to leave unchanged.

Maximum string length: 500
Example:

"Acme Wholesale"

email
string | null

New email. Omit or send null to leave unchanged.

Maximum string length: 320
Example:

"ap@acme.example"

source_updated_at
string<date-time> | null

When the customer last changed in the source system. An older value than the stored one is a 422. Can't be cleared.

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"