KintsugiKintsugi

List exemptions

GET/exemptions

List exemptions, keyset-paginated. Covers every organization your credential owns; send an Organization-Id, Connection-Id or Entity-Id selector to narrow to one. Filter to one customer's exemptions with customerId, and to a country, jurisdiction, validity start or end date, connection, or a customer name / email substring with the matching parameter. Pass sort and order to order the list; omit sort to keep the default order. sort=customerName orders by the owning customer's name. Pass expand=customer to embed the owning customer's companyName and customerName under customer on each row. Pass limit and the opaque cursor from a prior response's nextCursor or previousCursor to page; hasMore and hasPrevious report whether a page exists that way. Archived exemptions are excluded. A cursor is only valid for the sort, the filters AND the organization scope it was issued under, including any selector header: change any of them and start again from the first page. expand does not affect which exemptions are returned, so a cursor stays valid whether or not you pass it.

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

Narrow the request to one organization (Organization-Id selector).

Connection-Idstring

Narrow the request to a connection's organization.

Entity-Idstring

Narrow the request to a platform entity's organization.

Entity-Sourcestring

Optional source to disambiguate an Entity-Id.

Query

Every query parameter below is optional. Combine as many as you need and append them to the endpoint as a query string. The example shows a few to get you started.

/exemptions?sort=<sort>&order=<order>&customerId=<customerId>
sortPublicExemptionSortEnum

Field to sort by. Omit to keep the default ordering. customerName orders by the owning customer's name, resolved server-side.

Available options:countryjurisdictioncustomerNamestartDateendDatestatus
orderPublicExemptionSortOrder

Sort direction. Applies only when sort is set. Defaults to asc.

Available options:ascdesc
customerIdstring

Comma-separated customer ids; matches any of them. This is how you read one customer's exemptions.

transactionIdstring

Comma-separated transaction ids; matches any of them.

statusstring

Comma-separated lifecycle statuses; matches any of them. ARCHIVED is never returned and is rejected here.

exemptionTypestring

Comma-separated exemption types; matches any of them.

countrystring

Comma-separated ISO 3166-1 alpha-2 country codes; matches any of them.

jurisdictionstring

State or province code the exemption is scoped to.

startDatestring

Match exemptions whose validity start date is this date.

endDatestring

Match exemptions whose validity end date is this date.

searchstring

Match an exact exemption id, or a customer name or email substring.

connectionIdstring

Comma-separated connection ids; matches exemptions whose customer belongs to any of them.

expandExemptionExpand[]

Relations to embed on each exemption. Pass customer to embed the owning customer's companyName and customerName under customer; omitted otherwise. Does not change which exemptions are returned.

Available options:customer
limitinteger

Maximum number of items to return.

cursorstring

Opaque cursor from a prior response's nextCursor or previousCursor. Omit for the first page.

Response

itemsExemption[]Required

The exemptions on this page.

nextCursorstring

Opaque cursor for the next page. null when this is the last page. Send it back as cursor; do not parse it.

previousCursorstring

Opaque cursor for the previous page. null when this is the first page. Send it back as cursor; do not parse it.

hasMoreboolean

Whether a page exists after this one.

hasPreviousboolean

Whether a page exists before this one.

200

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
GET /exemptions?sort={sort}&order=asc&customerId={customerId}
-H "Api-Key: ***"
-H "Api-Version: 2026-07-21"
Example request
https://api.trykintsugi.com/exemptions?sort={sort}&order=asc&customerId={customerId}
Response
{
"items": [
{
"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"
}
}
],
"nextCursor": "eyJpZCI6InRyYW5fMm1OcFFyN0xzOGYzayJ9",
"previousCursor": "eyJpZCI6InRyYW5fMm1OcFFyN0xzOGYzayJ9",
"hasMore": false,
"hasPrevious": false
}
List exemptions (2026-07-21) | Kintsugi API Reference