KintsugiKintsugi

Create an exemption

POST/exemptions

Create an exemption in the resolved organization. customerId is required and must belong to that organization; so must transactionId when you send one. source is not accepted on the body: an exemption created through this API is always recorded with source API. ARCHIVED is not an accepted status here; an archived exemption is absent from every read on this API.

Authorization

Api-KeystringRequired

Your secret API key. Include it with every request.

Headers

Api-Versiondate

Release date, as YYYY-MM-DD. Defaults to 2026-07-21.

Organization-Idstring

Target organization id (Organization-Id selector).

Connection-Idstring

Target connection id; resolves to its organization.

Entity-Idstring

Platform entity id; resolves to a connection's organization.

Entity-Sourcestring

Optional source to disambiguate an Entity-Id.

Body

exemptionTypePublicExemptionTypeEnumRequired

What the exemption applies to.

Available options:customerwholesaletransactionreverse_chargepartial
certificateTypestring

Partial-exemption form code, such as CDTFA-230-M. Required when exemptionType is partial. Omit it for every other type.

startDatestringRequired

First day the exemption is in force, as YYYY-MM-DD.

endDatestring

Last day the exemption is in force, as YYYY-MM-DD. Omit it, or send null, for an exemption that does not expire. Must not precede startDate.

countryCodestring

ISO 3166-1 alpha-2 country to scope the exemption to. An unrecognized code returns 400.

jurisdictionstring

State or province code to scope the exemption to. Validated against countryCode when you send both; an unrecognized pair returns 400.

resellerboolean

Whether the exemption is claimed on the basis of resale.

feinstring

Federal Employer Identification Number to record.

salesTaxIdstring

Sales tax registration number to record.

statusPublicExemptionWriteStatusEnum

Lifecycle status to create the exemption with. Defaults to ACTIVE, which is the only status tax calculation applies.

Available options:ACTIVEINACTIVEEXPIREDDEACTIVATED
customerIdstringRequired

Customer to hold the exemption against. Must belong to the resolved organization; one that does not returns 400.

transactionIdstring

Transaction to apply the exemption to. Must belong to the resolved organization; one that does not returns 400. Omit it to exempt the customer's transactions generally.

Response

idstringRequired

Kintsugi's unique identifier for the exemption.

organizationIdstringRequired

Organization the exemption belongs to. Send it as Organization-Id to scope a request to this exemption.

customerIdstring

Customer the exemption is held against. null for an exemption recorded against a transaction alone.

customerNamestring

Display name of the customer the exemption is held against, resolved when you list or fetch an exemption. null for an exemption recorded against a transaction alone (no customer). Sort a list by it with sort=customerName.

transactionIdstring

Transaction the exemption applies to. null when it applies to the customer's transactions generally rather than to one of them.

exemptionTypePublicExemptionTypeEnumRequired

What the exemption applies to.

Available options:customerwholesaletransactionreverse_chargepartial
certificateTypestring

Partial-exemption form code, such as CDTFA-230-M. Required when exemptionType is partial. Null for every other exemption type.

statusPublicExemptionStatusEnumRequired

Lifecycle status. Only ACTIVE exemptions are applied by tax calculation; the others are retained for reporting.

Available options:ACTIVEINACTIVEEXPIREDDEACTIVATEDARCHIVED
countryCodestring

ISO 3166-1 alpha-2 country the exemption is scoped to. null when it is not scoped to one country.

jurisdictionstring

State or province code the exemption is scoped to, within countryCode. null when it covers the whole country.

startDatestringRequired

First day the exemption is in force, as YYYY-MM-DD.

endDatestring

Last day the exemption is in force, as YYYY-MM-DD. null when it does not expire.

resellerbooleanRequired

Whether the exemption is claimed on the basis of resale.

feinstring

Federal Employer Identification Number recorded on the exemption. An empty string when none was recorded.

salesTaxIdstring

Sales tax registration number recorded on the exemption. An empty string when none was recorded.

sourcePublicExemptionSourceEnum

Origin system the exemption was recorded from. null for an exemption recorded before origins were tracked.

Available options:NETSUITEQUICKBOOKSINTUIT_ENTERPRISE_SUITESAGE_INTACCTSHOPIFYXEROSTRIPEBIGCOMMERCEMAGENTOMAXIOCHARGEBEEZUORAMICROSOFT_DYNAMICS_365DUALENTRYRECURLYSHOPLINEORBZENSKARHYPERLINEODOOMANUALBULK_UPLOADEMAILCHECKOUTAPIMISSING_CERTIFICATE
hasCertificatebooleanRequired

Whether any certificate document is on file for the exemption. Equivalent to certificates being non-empty, published so a list view does not have to walk the array.

certificatesExemptionCertificate[]

Certificate documents on file, most recent first. An empty list when there are none.

customerExemptionCustomer

The owning customer's display fields. Absent unless the request passes expand=customer; when expanded it is always an object (never null), though customerName and companyName may each be null.

201

Successful Response

400

The request was invalid.

401

Authentication failed or was missing.

403

The credential is not permitted for this request.

404

The requested resource was not found.

409

The request conflicts with existing state.

422

The request failed validation.

cURL
POST /exemptions
-H "Api-Key: ***"
-H "Api-Version: 2026-07-21"
{
"exemptionType": "customer",
"certificateType": "certificate type",
"startDate": "2026-01-01",
"endDate": "2026-12-31",
"countryCode": "US",
"jurisdiction": "CA",
"reseller": false,
"fein": "12-3456789",
"salesTaxId": "ST-98765",
"status": "ACTIVE",
"customerId": "cust_2mNpQr7Ls8f3k",
"transactionId": "tran_2mNpQr7Ls8f3k"
}
Response
{
"id": "exmp_2mNpQr7Ls8f3k",
"organizationId": "orgn_2mNpQr7Ls8f3k",
"customerId": "cust_2mNpQr7Ls8f3k",
"customerName": "Acme Wholesale",
"transactionId": "tran_2mNpQr7Ls8f3k",
"exemptionType": "customer",
"certificateType": "certificate type",
"status": "ACTIVE",
"countryCode": "US",
"jurisdiction": "CA",
"startDate": "2026-01-01",
"endDate": "2026-12-31",
"reseller": false,
"fein": "12-3456789",
"salesTaxId": "ST-98765",
"source": "NETSUITE",
"hasCertificate": false,
"certificates": [
{
"id": "excr_2mNpQr7Ls8f3k",
"fileName": "resale-certificate.pdf",
"mimeType": "application/pdf",
"fileSizeBytes": 20481
}
],
"customer": {
"customerName": "Acme Wholesale",
"companyName": "Acme Holdings LLC"
}
}
Create an exemption (2026-07-21) | Kintsugi API Reference