{"info":{"_postman_id":"0aafab90-ea03-471d-80a0-d6668e44368c","name":"EXEMPTAX API","description":"<html><head></head><body><p>The EXEMPTAX API allows you to programmatically access and update data in your account. The API is organized around <a href=\"http://en.wikipedia.org/wiki/Representational_State_Transfer\">REST</a>, accepts JSON or URL-encoded form request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.</p>\n<p>The base URL is <a href=\"https://api.exemptax.com/v1\"><b>https://api.exemptax.com/v1</b></a></p>\n<h1 id=\"versioning\">Versioning</h1>\n<p>When backward-incompatible changes are made to the API, a new version is released. The current version is v1.</p>\n<h1 id=\"overview\">Overview</h1>\n<ol>\n<li><p>You need an <a href=\"https://apidocs.exemptax.com/#authentication\">API key</a> to send requests to the API endpoints.</p>\n</li>\n<li><p>If you're new to EXEMPTAX, you'll need <a href=\"https://www.exemptax.com/pricing/\">sign up</a> for an account to get your API key. Otherwise, you can get your key from the <a href=\"https://app.exemptax.com\">integrations dashboard</a>.</p>\n</li>\n<li><p>The API has an access <a href=\"https://apidocs.exemptax.com/#rate-limits\">rate limit</a> applied to it.</p>\n</li>\n<li><p>The Postman API will only respond to secured communication done over HTTPS. HTTP requests will be sent a <code>301</code> redirect to corresponding HTTPS resources.</p>\n</li>\n<li><p>Response to every request is sent in <a href=\"https://en.wikipedia.org/wiki/JSON\">JSON format</a>. In case the API request results in an error, it is represented by an <code>\"error\": {}</code> key in the JSON response.</p>\n</li>\n<li><p>The request method (verb) determines the nature of action you intend to perform. A request made using the <code>GET</code> method implies that you want to fetch something, and <code>POST</code> implies you want to save something new.</p>\n</li>\n<li><p>The API calls will respond with appropriate <a href=\"https://en.wikipedia.org/wiki/List_of_HTTP_status_codes\">HTTP status codes</a> for all requests. A <code>200 OK</code> indicates all went well, while <code>4XX</code> or <code>5XX</code> response codes indicate an error from the requesting client or our API servers respectively.</p>\n</li>\n</ol>\n<h1 id=\"authentication\">Authentication</h1>\n<p>An API Key is required to be sent as part of every request to the EXEMPTAX API, in the form of an <code>Authorization: Bearer</code> request header.</p>\n<blockquote>\n<p>If you do not have an API Key, you can easily generate one by heading over to the <a href=\"https://app.exemptax.com\">EXEMPTAX Integration Tab in Company Settings</a>. </p>\n</blockquote>\n<h2 id=\"api-key-related-error-response\">API Key related error response</h2>\n<p>If an API Key is missing, malformed, or invalid, you will receive a <code>401 Unauthorized</code> response code and the following JSON response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"error\": { \n    \"status\": \"401\",\n    \"error\": \"Invalid Credentials\",\n    \"detail\": \"Please verify that your API key is correct.\"\n  }\n}\n\n</code></pre><h1 id=\"errors\">Errors</h1>\n<p>The API uses RESTful HTTP response codes to indicate success or failure a request. In general, 2xx indicates success, 4xx indicate an input error, and 5xx indicates an error from the API server.</p>\n<h1 id=\"idempotent-requests\">Idempotent Requests</h1>\n<p>The API supports <a href=\"https://en.wikipedia.org/wiki/Idempotence\">idempotent</a> requests for safely retrying requests without unintentionally performing the same operation twice.</p>\n<p>This is useful when an API call does not complete as expected, for example, if the server times out or if the network connection is lost. In this case, you can safely retry the request with the same idempotency key to ensure that the operation will only be performed once.</p>\n<p>To perform an idempotent request, provide an additional <code>Idempotency-Key</code> header to the request. You may use any method to create unique keys, but we suggest using a random value, such as a V4 UUID. Idempotency keys are intended to prevent issues over a short period of time, and therefore keys expire after 24 hours.</p>\n<p>Idempotency keys are unique for each API key. In other words, if a company has more than one active API key, the Idempotency keys will be checked ONLY within the same API key. Additionally, Idempotency keys are unique across method and endpoint. The request body is not checked when comparing retried requests. Therefore, if the parameters change, you will still receive the same response as before.</p>\n<p>All <code>POST</code> and <code>PUT</code> requests accept idempotency keys. Sending idempotency keys in <code>GET</code> and <code>DELETE</code> requests has no effect and should be avoided, as these requests are by definition idempotent.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Idempotency-Key</code></td>\n<td>A string of up to 256 characters that uniquely identifies this request. (If longer, string will be truncated)</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"request-ids\">Request IDs</h1>\n<p>Each API request has an associated request identifier. You can find this value in the response headers, under Api-Request-Id. If you need to contact us about a specific request, please provide the request identifier to ensure the fastest possible resolution.</p>\n<h1 id=\"rate-limits\">Rate Limits</h1>\n<p>API access rate limits are applied at a per-key basis in unit time. Access to the API using a key is limited to <strong>200 requests per minute</strong>. In addition, every API response is accompanied by the following set of headers to identify the status of your consumption.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>X-RateLimit-Limit</code></td>\n<td>The maximum number of requests that the consumer is permitted to make per minute.</td>\n</tr>\n<tr>\n<td><code>X-RateLimit-Remaining</code></td>\n<td>The number of requests remaining in the current rate limit window.</td>\n</tr>\n<tr>\n<td><code>X-RateLimit-Reset</code></td>\n<td>The time at which the current rate limit window resets in UTC epoch seconds.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Once you hit the rate limit, you will receive a response similar to the following JSON, with a status code of <code>429 Too Many Requests</code>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": {\n    \"name\": \"rateLimitError\",\n    \"message\": \"Rate Limit exceeded. Please retry at 1465452702843\"\n  }\n}\n\n</code></pre>\n<h1 id=\"pagination\">Pagination</h1>\n<p>For all endpoints that return lists, the following query parameters may be included for pagination:</p>\n<ul>\n<li><p>offset</p>\n</li>\n<li><p>limit (the max is 200). If not included, the default will be 10.</p>\n</li>\n</ul>\n<p>Upon return from the API, the response will include a \"queryCount\" value, which shows you the total number of values in the entire list, after applying any filters.</p>\n<h1 id=\"sorting\">Sorting</h1>\n<p>For all endpoints that return lists, certain columns may be sorted on. This documentation will show the valid sort columns in the individual endpoint description. In order to sort, you may use the following query parameter:</p>\n<p>orderBy[]=COLUMN_NAME,<code>ASC|DESC</code></p>\n<h1 id=\"filtering\">Filtering</h1>\n<p>For all endpoints that return lists, certain columns may be filtered on. This documentation will show the valid filter columns in the individual endpoint description. In order to filter, you may use the following query parameter:</p>\n<p>q[COLUMN_NAME]=search_query</p>\n<h1 id=\"timezone-handling\">Timezone Handling</h1>\n<p>All response datetime fields are returned in UTC. All request date and datetime filters are interpreted in UTC.</p>\n<p>Supported formats:</p>\n<ul>\n<li><p><code>YYYY-MM-DD</code></p>\n</li>\n<li><p><code>YYYY-MM-DD HH:mm:ss</code></p>\n</li>\n<li><p><code>YYYY-MM-DDTHH:mm:ssZ</code></p>\n</li>\n<li><p><code>YYYY-MM-DDTHH:mm:ss±HH:mm</code></p>\n</li>\n</ul>\n<p>If no timezone is provided, the value is treated as UTC. When used in a query string, a positive timezone offset must URL-encode the <code>+</code> sign as <code>+</code>.</p>\n<h1 id=\"support\">Support</h1>\n<p>For help or feedback regarding accessing the API you may email EXEMPTAX support at <a href=\"https://mailto:support@exemptax.com\">support@exemptax.com</a>.</p>\n<p>In the event you receive a <code>503</code> response from our servers, it implies that we have hit an unexpected spike in API access traffic and would usually be operational within the next 5 minutes. If the outage persists, or your receive any other form of <code>5XX</code> error, please let us know.</p>\n<h1 id=\"terms-of-use\">Terms of Use</h1>\n<p>For information on the terms of use and privacy, refer to the documents at <a href=\"https://www.exemptax.com/terms-of-use/\">https://www.exemptax.com/terms-of-use/</a> and <a href=\"https://www.exemptax.com/privacy-policy/\">https://www.exemptax.com/privacy-policy/</a></p>\n<h1 id=\"change-log\">Change Log</h1>\n<p>This is version 1 (v1) of the API. Any updates will be documented here.</p>\n<h1 id=\"api-reference\">API Reference</h1>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Versioning","slug":"versioning"},{"content":"Overview","slug":"overview"},{"content":"Authentication","slug":"authentication"},{"content":"Errors","slug":"errors"},{"content":"Idempotent Requests","slug":"idempotent-requests"},{"content":"Request IDs","slug":"request-ids"},{"content":"Rate Limits","slug":"rate-limits"},{"content":"Pagination","slug":"pagination"},{"content":"Sorting","slug":"sorting"},{"content":"Filtering","slug":"filtering"},{"content":"Timezone Handling","slug":"timezone-handling"},{"content":"Support","slug":"support"},{"content":"Terms of Use","slug":"terms-of-use"},{"content":"Change Log","slug":"change-log"},{"content":"API Reference","slug":"api-reference"}],"owner":"5246785","collectionId":"0aafab90-ea03-471d-80a0-d6668e44368c","publishedId":"SVfKyqnf","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2020-09-02T22:38:08.000Z"},"item":[{"name":"Webhooks","item":[],"id":"7a9b1c6f-0889-4fb0-912c-33727fe0ae26","description":"<p>Webhooks send event notifications to an HTTPS endpoint that you control. Each delivery includes a stable event ID, EXEMPTAX account ID, event type, timestamp, HMAC-SHA256 signature, and JSON body.</p>\n<p>A company can have multiple webhook destinations. Each destination has its own URL, subscribed events, verifier tokens, delivery history, health state, and retry lifecycle.</p>\n<h2 id=\"quick-start\">Quick start</h2>\n<ol>\n<li><p>Create a public HTTPS endpoint that accepts <code>POST</code>.</p>\n</li>\n<li><p>Add the endpoint as a webhook destination in EXEMPTAX.</p>\n</li>\n<li><p>Select the events to receive.</p>\n</li>\n<li><p>Store the verifier token securely.</p>\n</li>\n<li><p>Verify that at least one webhook signature matches your configured verifier token before processing.</p>\n</li>\n<li><p>Return a <code>2xx</code> response quickly.</p>\n</li>\n<li><p>Process the event asynchronously.</p>\n</li>\n</ol>\n<h2 id=\"delivery-request\">Delivery request</h2>\n<h3 id=\"method\">Method</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">POST &lt;your webhook URL&gt;\n\n</code></pre>\n<h3 id=\"headers\">Headers</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>X-Exemptax-Webhook-Event-Id</code></td>\n<td>Stable UUID for the event, retained across delivery retries</td>\n</tr>\n<tr>\n<td><code>X-Exemptax-Account-Id</code></td>\n<td>EXEMPTAX company/account ID</td>\n</tr>\n<tr>\n<td><code>X-Exemptax-Webhook-Host</code></td>\n<td>Currently <code>exemptax.com</code></td>\n</tr>\n<tr>\n<td><code>X-Exemptax-Webhook-Entity</code></td>\n<td>Entity such as <code>certificate</code></td>\n</tr>\n<tr>\n<td><code>X-Exemptax-Webhook-Action</code></td>\n<td>Action such as <code>created</code>, <code>updated</code>, or <code>deleted</code></td>\n</tr>\n<tr>\n<td><code>X-Exemptax-Webhook-Timestamp</code></td>\n<td>Unix timestamp used for signing</td>\n</tr>\n<tr>\n<td><code>X-Exemptax-Webhook-Signature</code></td>\n<td>One or more comma-separated signatures in the format <code>v1=</code></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"body\">Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"event\": \"certificate.updated\",\n  \"data\": {\n    \"id\": 1,\n    \"customer_id\": 4321,\n    \"customer\": {\n      \"name\": \"ABC LLC\",\n      \"account_number\": \"123456\",\n      \"dba\": \"dba\"\n    },\n    \"jurisdiction\": \"SST\",\n    \"form_revision\": \"SSTGB Form F0003 (Revised 12/21/2021)\",\n    \"status\": \"completed\",\n    \"detailed_status\": \"Active - Non-Expiring\",\n    \"upload_source\": \"single upload\",\n    \"effective_date\": \"2026-08-03\",\n    \"expiration_date\": \"2027-08-02\",\n    \"single_use\": 0,\n    \"exemption_reason_id\": \"G\",\n    \"exemption_reason_name\": \"Resale\",\n    \"states\": [\n      \"AR\",\n      \"GA\",\n      \"KY\"\n    ],\n    \"tax_ids\": {\n      \"AR\": \"123-887766\",\n      \"GA\": \"456-887766\",\n      \"KY\": \"789-887766\"\n    },\n    \"notes\": [\n      {\n        \"id\": 1,\n        \"timestamp\": \"2026-08-03T22:40:29Z\",\n        \"note\": \"Validated (No Authentication Required)\",\n        \"user_id\": 2656,\n        \"email\": \"test@exemptax.com\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\"\n      }\n    ],\n    \"upload_user\": {\n      \"id\": 2656,\n      \"email\": \"test@exemptax.com\",\n      \"first_name\": \"John\",\n      \"last_name\": \"Doe\"\n    },\n    \"upload_timestamp\": \"2026-08-03T22:38:55Z\",\n    \"update_user\": {\n      \"id\": 2656,\n      \"email\": \"test@exemptax.com\",\n      \"first_name\": \"John\",\n      \"last_name\": \"Doe\"\n    },\n    \"update_timestamp\": \"2026-08-03T22:39:09Z\"\n  }\n}\n\n</code></pre>\n<p>The <code>data</code> object contains the current EXEMPTAX representation of the certificate. Additional fields may be added in future versions, so integrations should continue processing the payload when unrecognized fields are present.</p>\n<h3 id=\"certificate-status\">Certificate status</h3>\n<p>The <code>status</code> field represents the certificate's main processing status.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>completed</code></td>\n<td>Certificate processing is complete. Use <code>detailed_status</code> to determine its current operational status</td>\n</tr>\n<tr>\n<td><code>pending</code></td>\n<td>The certificate is incomplete and waiting for additional information or processing</td>\n</tr>\n<tr>\n<td><code>escalated</code></td>\n<td>The certificate requires additional review</td>\n</tr>\n<tr>\n<td><code>rejected</code></td>\n<td>The certificate was rejected and is inactive</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"detailed-status\">Detailed status</h3>\n<p>The <code>detailed_status</code> field provides the certificate's current operational status based on its main status, effective date, expiration date, single-use setting, and the account's configured expiration-warning period.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Detailed status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Active - Non-Expiring</code></td>\n<td>The certificate is active and either has no expiration date or is not yet within the expiration-warning period</td>\n</tr>\n<tr>\n<td><code>Active - Expiring</code></td>\n<td>The certificate is active but is within the account's configured expiration-warning period</td>\n</tr>\n<tr>\n<td><code>Incomplete - Pending</code></td>\n<td>The certificate is still pending</td>\n</tr>\n<tr>\n<td><code>Incomplete - Escalated</code></td>\n<td>The certificate has been escalated for additional review</td>\n</tr>\n<tr>\n<td><code>Inactive - Rejected</code></td>\n<td>The certificate was rejected</td>\n</tr>\n<tr>\n<td><code>Inactive - Single Use</code></td>\n<td>The completed certificate is configured for single use</td>\n</tr>\n<tr>\n<td><code>Inactive - Future Dated</code></td>\n<td>The certificate's effective date has not started yet</td>\n</tr>\n<tr>\n<td><code>Inactive - Expired</code></td>\n<td>The certificate's expiration date has passed</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"supported-events\">Supported events</h2>\n<p>Current certificate webhook events:</p>\n<ul>\n<li><p><code>certificate.created</code></p>\n</li>\n<li><p><code>certificate.updated</code></p>\n</li>\n<li><p><code>certificate.deleted</code></p>\n</li>\n</ul>\n<p>Destinations receive only subscribed events.</p>\n<h2 id=\"signature-verification\">Signature verification</h2>\n<p>EXEMPTAX signs the exact raw request body.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-text\">signed_payload = &lt;timestamp&gt;.&lt;raw request body&gt;\nsignature = HMAC_SHA256(verifier_token, signed_payload)\n\n</code></pre>\n<p>Header format:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-text\">X-Exemptax-Webhook-Signature: v1=&lt;lowercase hex digest&gt;\n\n</code></pre>\n<p>During token rotation, multiple signatures may be included:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-text\">v1=&lt;new-token-signature&gt;,v1=&lt;previous-token-signature&gt;\n\n</code></pre>\n<p>Accept the request when at least one <code>v1</code> signature matches your configured verifier token.</p>\n<p>Verification steps:</p>\n<ol>\n<li><p>Read the raw body without reformatting it.</p>\n</li>\n<li><p>Read <code>X-Exemptax-Webhook-Timestamp</code>.</p>\n</li>\n<li><p>Build the signed payload by joining the timestamp, a period (<code>.</code>), and the exact raw request body.</p>\n</li>\n<li><p>Calculate HMAC-SHA256 using your configured verifier token.</p>\n</li>\n<li><p>Compare using a constant-time comparison.</p>\n</li>\n<li><p>Reject when no signature matches.</p>\n</li>\n</ol>\n<h3 id=\"php-example\">PHP example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-php\">$rawBody = file_get_contents('php://input');\n$timestamp = $_SERVER['HTTP_X_EXEMPTAX_WEBHOOK_TIMESTAMP'] ?? '';\n$signatureHeader = $_SERVER['HTTP_X_EXEMPTAX_WEBHOOK_SIGNATURE'] ?? '';\n$secret = getenv('EXEMPTAX_WEBHOOK_VERIFIER_TOKEN');\nif ($timestamp === '' || $signatureHeader === '' || !$secret) {\n    http_response_code(400);\n    exit;\n}\n$expected = 'v1=' . hash_hmac(\n    'sha256',\n    $timestamp . '.' . $rawBody,\n    $secret\n);\n$valid = false;\nforeach (array_map('trim', explode(',', $signatureHeader)) as $candidate) {\n    if (hash_equals($expected, $candidate)) {\n        $valid = true;\n        break;\n    }\n}\nif (!$valid) {\n    http_response_code(401);\n    exit;\n}\ntry {\n    $event = json_decode(\n        $rawBody,\n        true,\n        512,\n        JSON_THROW_ON_ERROR\n    );\n} catch (JsonException $exception) {\n    http_response_code(400);\n    exit;\n}\nhttp_response_code(200);\n\n</code></pre>\n<h3 id=\"nodejs-example\">Node.js example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">import crypto from 'node:crypto';\nexport function verifyExemptaxWebhook({\n  rawBody,\n  timestamp,\n  signatureHeader,\n  secret,\n}) {\n  if (\n    typeof rawBody !== 'string' ||\n    typeof timestamp !== 'string' ||\n    timestamp === '' ||\n    typeof signatureHeader !== 'string' ||\n    signatureHeader === '' ||\n    typeof secret !== 'string' ||\n    secret === ''\n  ) {\n    return false;\n  }\n  const receivedSignatures = signatureHeader\n    .split(',')\n    .map((value) =&gt; value.trim())\n    .filter(Boolean);\n  const expectedSignature = `v1=${crypto\n    .createHmac('sha256', secret)\n    .update(`${timestamp}.${rawBody}`, 'utf8')\n    .digest('hex')}`;\n  const expectedBuffer = Buffer.from(expectedSignature, 'utf8');\n  return receivedSignatures.some((candidate) =&gt; {\n    const candidateBuffer = Buffer.from(candidate, 'utf8');\n    return (\n      candidateBuffer.length === expectedBuffer.length &amp;&amp;\n      crypto.timingSafeEqual(candidateBuffer, expectedBuffer)\n    );\n  });\n}\n\n</code></pre>\n<h2 id=\"response-behavior\">Response behavior</h2>\n<p>Return <code>200</code> or <code>202</code> after the event is authenticated and safely persisted. To keep webhook delivery fast and reliable, process any longer-running business logic asynchronously.</p>\n<p>Any non-<code>2xx</code> response is treated as a failed delivery. Network failures, timeouts, connection exceptions, and HTTP error responses are also failures.</p>\n<h2 id=\"retry-schedule\">Retry schedule</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Failed attempt</th>\n<th>Next retry</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>1 minute</td>\n</tr>\n<tr>\n<td>2</td>\n<td>5 minutes</td>\n</tr>\n<tr>\n<td>3</td>\n<td>15 minutes</td>\n</tr>\n<tr>\n<td>4</td>\n<td>1 hour</td>\n</tr>\n<tr>\n<td>5</td>\n<td>6 hours</td>\n</tr>\n<tr>\n<td>6</td>\n<td>24 hours</td>\n</tr>\n<tr>\n<td>7</td>\n<td>48 hours</td>\n</tr>\n<tr>\n<td>8</td>\n<td>No further automatic retry</td>\n</tr>\n</tbody>\n</table>\n</div><p>The same event UUID is retained across retries.</p>\n<h2 id=\"idempotency\">Idempotency</h2>\n<p>Delivery is at-least-once. Use <code>X-Exemptax-Webhook-Event-Id</code> as an idempotency key.</p>\n<p>Recommended pattern:</p>\n<ol>\n<li><p>Insert the event ID under a unique constraint.</p>\n</li>\n<li><p>If it already exists, return <code>200</code>.</p>\n</li>\n<li><p>Apply the business change.</p>\n</li>\n<li><p>Commit.</p>\n</li>\n<li><p>Return <code>200</code>.</p>\n</li>\n</ol>\n<p>Webhook retries may be delivered after newer events. Use the event data or <code>update_timestamp</code> to avoid replacing newer records with older information.</p>\n<h2 id=\"destination-health\">Destination health</h2>\n<p>EXEMPTAX tracks consecutive failures for each destination.</p>\n<ul>\n<li><p>At least 20 consecutive failures continuing for at least 1 hour: a warning email notification is sent</p>\n</li>\n<li><p>At least 20 consecutive failures continuing for at least 24 hours: the destination is automatically disabled and an email notification is sent to inform account users that webhook delivery has been disabled</p>\n</li>\n</ul>\n<p>A successful automatic delivery resets the consecutive-failure sequence.</p>\n<p>When auto-disabled:</p>\n<ul>\n<li><p>The destination becomes inactive</p>\n</li>\n<li><p>New events are no longer selected for that destination</p>\n</li>\n<li><p>Pending automatic retries are cancelled</p>\n</li>\n<li><p>Delayed retry jobs belonging to the auto-disabled destination are removed</p>\n</li>\n<li><p>Other destinations for the company are not affected</p>\n</li>\n<li><p>The last failed attempt remains visible</p>\n</li>\n<li><p>Delivery history shows: <code>Cancelled because webhook was auto-disabled</code></p>\n</li>\n</ul>\n<h2 id=\"inactive-and-deleted-destinations\">Inactive and deleted destinations</h2>\n<p>Before every automatic attempt, EXEMPTAX reloads the destination.</p>\n<p>Possible cancellation reasons:</p>\n<ul>\n<li><p><code>Cancelled because webhook was inactive</code></p>\n</li>\n<li><p><code>Cancelled because webhook was deleted</code></p>\n</li>\n<li><p><code>Cancelled because webhook was auto-disabled</code></p>\n</li>\n<li><p><code>Cancelled after successful resend</code></p>\n</li>\n</ul>\n<p>No outbound request is sent after an inactive or deleted destination is detected.</p>\n<h2 id=\"manual-resend\">Manual resend</h2>\n<p>Manual resend:</p>\n<ul>\n<li><p>Uses the existing event UUID</p>\n</li>\n<li><p>Is identified as a manual resend</p>\n</li>\n<li><p>Does not start another automatic retry sequence</p>\n</li>\n<li><p>Cancels a scheduled automatic retry when the resend succeeds</p>\n</li>\n<li><p>Is unavailable while the destination is inactive</p>\n</li>\n</ul>\n<h2 id=\"verifier-token-rotation\">Verifier-token rotation</h2>\n<p>During rotation:</p>\n<ul>\n<li><p>The new token is active</p>\n</li>\n<li><p>The previous token can remain valid until expiration</p>\n</li>\n<li><p>EXEMPTAX can include signatures for both valid tokens</p>\n</li>\n<li><p>Receivers should support multiple comma-separated <code>v1</code> signatures</p>\n</li>\n</ul>\n<h2 id=\"receiver-response-codes\">Receiver response codes</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Meaning</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>200</code></td>\n<td>Verified and processed or safely deduplicated</td>\n</tr>\n<tr>\n<td><code>202</code></td>\n<td>Verified, persisted, and queued</td>\n</tr>\n<tr>\n<td><code>400</code></td>\n<td>Invalid request or malformed JSON</td>\n</tr>\n<tr>\n<td><code>401</code></td>\n<td>Invalid signature</td>\n</tr>\n<tr>\n<td><code>429</code></td>\n<td>Temporary rate limit; retry expected</td>\n</tr>\n<tr>\n<td><code>500</code>–<code>599</code></td>\n<td>Temporary receiver failure; retry expected</td>\n</tr>\n</tbody>\n</table>\n</div><p>Return a <code>2xx</code> response when the webhook has been successfully accepted. Return an appropriate error response when the request cannot be processed. Non-<code>2xx</code> responses are treated as failed deliveries and may be retried.</p>\n<h2 id=\"security-checklist\">Security checklist</h2>\n<ul>\n<li><p>Require HTTPS</p>\n</li>\n<li><p>Verify the raw body signature</p>\n</li>\n<li><p>Use constant-time comparison</p>\n</li>\n<li><p>Keep verifier tokens secret</p>\n</li>\n<li><p>Support overlapping tokens during rotation</p>\n</li>\n<li><p>Deduplicate by event ID</p>\n</li>\n<li><p>Never log verifier tokens</p>\n</li>\n<li><p>Ignore unknown fields</p>\n</li>\n</ul>\n<h2 id=\"operational-checklist\">Operational checklist</h2>\n<p>Monitor:</p>\n<ul>\n<li><p>Delivery success rate</p>\n</li>\n<li><p>Consecutive failures</p>\n</li>\n<li><p>Response codes</p>\n</li>\n<li><p>Response latency</p>\n</li>\n<li><p>Last success</p>\n</li>\n<li><p>Auto-disabled destinations</p>\n</li>\n<li><p>Cancelled retries</p>\n</li>\n<li><p>Signature failures</p>\n</li>\n</ul>\n","_postman_id":"7a9b1c6f-0889-4fb0-912c-33727fe0ae26"},{"name":"Company","item":[{"name":"Company Profile","id":"fcd13668-e2be-4ff9-ae12-2199f0e128fe","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{"user-agent":true,"accept":true,"accept-encoding":true,"connection":true}},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/company/profile","description":"<p>Retrieves the company profile. The response includes the address information, contact information, and account owner information.</p>\n","urlObject":{"protocol":"https","path":["v1","company","profile"],"host":["api","exemptax","com"],"query":[],"variable":[]}},"response":[{"id":"514737f9-8c16-4b70-b53c-8de4262a6ae6","name":"Company Profile","originalRequest":{"method":"GET","header":[],"url":"https://api.exemptax.com/v1/company/profile"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"company\": {\n        \"id\": 9999999,\n        \"active\": true,\n        \"company_name\": \"Test Company\",\n        \"legal_name\": \"Test Company LLC\",\n        \"ein\": \"12-345679\",\n        \"company_type\": \"Partnership or limited liability company (Form 1065)\",\n        \"industry\": \"Wholesale\",\n        \"website\": null,\n        \"address\": {\n            \"line1\": \"123 N HWY A\",\n            \"line2\": \"Suite 1111\",\n            \"city\": \"Los Angeles\",\n            \"state\": \"CA\",\n            \"postal_code\": \"90095\",\n            \"country\": \"us\"\n        },\n        \"service_address\": {\n            \"line1\": \"123 N HWY A\",\n            \"line2\": \"Suite 1111\",\n            \"city\": \"Los Angeles\",\n            \"state\": \"CA\",\n            \"postal_code\": \"90095\",\n            \"country\": \"us\"\n        },\n        \"contact\": {\n            \"name\": \"John Smith\",\n            \"title\": \"Manager\",\n            \"phone\": \"310-555-1234\",\n            \"fax\": null,\n            \"email\": \"testcompany@exemptax.com\"\n        },\n        \"account_owner\": {\n            \"id\": 88888,\n            \"email\": \"john.doe@exemptax.com\",\n            \"first_name\": \"John\",\n            \"last_name\": \"Doe\"\n        },\n        \"update_user\": {\n            \"id\": 88888,\n            \"email\": \"john.doe@exemptax.com\",\n            \"first_name\": \"John\",\n            \"last_name\": \"Doe\"\n        },\n        \"update_timestamp\": \"2019-10-15T01:55:46Z\"\n    }\n}"}],"_postman_id":"fcd13668-e2be-4ff9-ae12-2199f0e128fe"},{"name":"Company Nexus","id":"12ac0ecb-5325-49dd-8982-9cef26bedaf5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/company/nexus","description":"<p>Retrieves the company nexus settings. In the response, each US state is shown along with a \"taxable\" and \"active\" status. The taxable status simply returns whether that state requires sales tax. The active status shows whether this Company has applied nexus in this state, and therefore will affect the exposure calculations.</p>\n","urlObject":{"protocol":"https","path":["v1","company","nexus"],"host":["api","exemptax","com"],"query":[],"variable":[]}},"response":[{"id":"ff286484-1834-457d-9639-f22a6098db91","name":"Company Nexus","originalRequest":{"method":"GET","header":[],"url":"https://api.exemptax.com/v1/company/nexus"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"nexus_states\": [\n        {\n            \"state\": \"AK\",\n            \"taxable\": false,\n            \"active\": false\n        },\n        {\n            \"state\": \"AL\",\n            \"taxable\": true,\n            \"active\": true\n        },\n        {\n            \"state\": \"AR\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"AZ\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"CA\",\n            \"taxable\": true,\n            \"active\": true\n        },\n        {\n            \"state\": \"CO\",\n            \"taxable\": true,\n            \"active\": true\n        },\n        {\n            \"state\": \"CT\",\n            \"taxable\": true,\n            \"active\": true\n        },\n        {\n            \"state\": \"DC\",\n            \"taxable\": true,\n            \"active\": true\n        },\n        {\n            \"state\": \"DE\",\n            \"taxable\": false,\n            \"active\": false\n        },\n        {\n            \"state\": \"FL\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"GA\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"HI\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"IA\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"ID\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"IL\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"IN\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"KS\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"KY\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"LA\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"MA\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"MD\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"ME\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"MI\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"MN\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"MO\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"MS\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"MT\",\n            \"taxable\": false,\n            \"active\": false\n        },\n        {\n            \"state\": \"NC\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"ND\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"NE\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"NH\",\n            \"taxable\": false,\n            \"active\": false\n        },\n        {\n            \"state\": \"NJ\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"NM\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"NV\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"NY\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"OH\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"OK\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"OR\",\n            \"taxable\": false,\n            \"active\": false\n        },\n        {\n            \"state\": \"PA\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"RI\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"SC\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"SD\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"TN\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"TX\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"UT\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"VA\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"VT\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"WA\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"WI\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"WV\",\n            \"taxable\": true,\n            \"active\": false\n        },\n        {\n            \"state\": \"WY\",\n            \"taxable\": true,\n            \"active\": false\n        }\n    ]\n}"}],"_postman_id":"12ac0ecb-5325-49dd-8982-9cef26bedaf5"}],"id":"5037a931-9999-470f-87f8-3df8b2b240d1","description":"<p>Endpoints related to the company. This information provided through API is read-only and any updates to company information should be updated within the EXEMPTAX app.</p>\n","_postman_id":"5037a931-9999-470f-87f8-3df8b2b240d1"},{"name":"Certificates","item":[{"name":"List Certificates","id":"6f863175-a4ac-432c-8e4e-7893b159b952","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/certificates","description":"<p>You can filter by the following columns(using the q[] query parameter):</p>\n<p><strong>customer_id, customer_account_number</strong></p>\n","urlObject":{"protocol":"https","path":["v1","certificates"],"host":["api","exemptax","com"],"query":[{"disabled":true,"key":"offset","value":"0"},{"disabled":true,"key":"limit","value":"20"},{"disabled":true,"description":{"content":"<p>name,order</p>\n<p> Available name:\nid\ncustomer_id\ncustomer_name\ncustomer_account_number\ncustomer_dba</p>\n<p>Available order:\nASC\nDESC</p>\n<p>e.g.\ncustomer_id,ASC</p>\n","type":"text/plain"},"key":"orderBy[]","value":"customer_id,ASC"},{"disabled":true,"description":{"content":"<p>Array of statuses (optional, must be of type pending, escalated, rejected, completed)</p>\n","type":"text/plain"},"key":"status[]","value":"completed"},{"disabled":true,"description":{"content":"<p>Jurisdiction of Certificate(s) (optional, must be 2 letter US state code or SST/MTC)</p>\n","type":"text/plain"},"key":"state_code[]","value":"CA"},{"disabled":true,"description":{"content":"<p>Date when certificates were uploaded, from (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)</p>\n","type":"text/plain"},"key":"date_from","value":"2021-06-02"},{"disabled":true,"description":{"content":"<p>Date when certificates were uploaded, to (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)</p>\n","type":"text/plain"},"key":"date_to","value":"2021-06-24 17:46:05"},{"disabled":true,"description":{"content":"<p>Date when certificates were last updated, from (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)</p>\n","type":"text/plain"},"key":"update_from","value":"2021-06-22T18:41:29-07:00"},{"disabled":true,"description":{"content":"<p>Date when certificates were last updated, to (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)</p>\n","type":"text/plain"},"key":"update_to","value":"2021-06-24T18:46:08%2B01:00"},{"disabled":true,"description":{"content":"<p>Exemption Reason Code (optional - see list of Exemption Reasons)</p>\n","type":"text/plain"},"key":"exemption_reason_id[]","value":"G"}],"variable":[]}},"response":[{"id":"28a04718-2900-4690-beaf-3951e9695062","name":"List Certificates","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.exemptax.com/v1/certificates","protocol":"https","host":["api","exemptax","com"],"path":["v1","certificates"],"query":[{"key":"offset","value":"0","disabled":true},{"key":"limit","value":"20","disabled":true},{"key":"orderBy[]","value":"id,ASC","description":"name,order\n Available name:\nid\ncustomer_id\ncustomer_name\ncustomer_account_number\ncustomer_dba\n \nAvailable order:\nASC\nDESC\n \ne.g.\ncustomer_id,ASC","disabled":true},{"key":"status[]","value":"completed","description":"Array of statuses (optional, must be of type pending, escalated, rejected, completed)","disabled":true},{"key":"state_code[]","value":"CA","description":"Jurisdiction of Certificate(s) (optional, must be 2 letter US state code or SST/MTC)","disabled":true},{"key":"state_code[]","value":"NY","description":"Jurisdiction of Certificate(s) (optional, must be 2 letter US state code or SST/MTC)","disabled":true},{"key":"state_code[]","value":"AR","description":"Jurisdiction of Certificate(s) (optional, must be 2 letter US state code or SST/MTC)","disabled":true},{"key":"state_code[]","value":"GA","description":"Jurisdiction of Certificate(s) (optional, must be 2 letter US state code or SST/MTC)","disabled":true},{"key":"state_code[]","value":"KY","description":"Jurisdiction of Certificate(s) (optional, must be 2 letter US state code or SST/MTC)","disabled":true},{"key":"date_from","value":"2021-06-02","description":"Date when certificates were uploaded, from (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)","disabled":true},{"key":"date_to","value":"2021-06-24 17:46:05","description":"Date when certificates were uploaded, to (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)","disabled":true},{"key":"update_from","value":"2021-06-22T18:41:29-07:00","description":"Date when certificates were last updated, from (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)","disabled":true},{"key":"update_to","value":"2021-06-24T18:46:08%2B01:00","description":"Date when certificates were last updated, to (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)","disabled":true},{"key":"exemption_reason_id[]","value":"G","description":"Exemption Reason Code (optional - see list of Exemption Reasons)","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"certificates\": [\n        {\n            \"id\": 18,\n            \"customer_id\": 4321,\n            \"customer\": {\n                \"name\": \"ABC LLC\",\n                \"account_number\": \"123456\",\n                \"dba\": \"dba\"\n            },\n            \"jurisdiction\": \"CA\",\n            \"form_revision\": \"CDTFA-230 REV. 1 (8 -17)\",\n            \"status\": \"pending\",\n            \"detailed_status\": \"Incomplete - Pending\",\n            \"upload_source\": \"e-sign\",\n            \"effective_date\": null,\n            \"expiration_date\": null,\n            \"single_use\": null,\n            \"exemption_reason_id\": \"G\",\n            \"exemption_reason_name\": \"Resale\",\n            \"states\": [\n                \"CA\"\n            ],\n            \"tax_ids\": {\n                \"CA\": \"SR-AB 123-456789\"\n            },\n            \"notes\": [\n                {\n                    \"id\": 1,\n                    \"timestamp\": \"2021-06-25T01:48:29Z\",\n                    \"note\": \"This is a manually added note by user.\",\n                    \"user_id\": 2656,\n                    \"email\": \"test@exemptax.com\",\n                    \"first_name\": \"John\",\n                    \"last_name\": \"Doe\"\n                }\n            ],\n            \"upload_user\": {\n                \"id\": 1002,\n                \"email\": \"e-Cert\",\n                \"first_name\": \"e-Cert\",\n                \"last_name\": \" \"\n            },\n            \"upload_timestamp\": \"2021-06-24T17:46:05Z\",\n            \"update_user\": {\n                \"id\": 1002,\n                \"email\": \"e-Cert\",\n                \"first_name\": \"e-Cert\",\n                \"last_name\": \" \"\n            },\n            \"update_timestamp\": \"2021-06-24T17:46:08Z\"\n        },\n        {\n            \"id\": 17,\n            \"customer_id\": 4321,\n            \"customer\": {\n                \"name\": \"ABC LLC\",\n                \"account_number\": \"123456\",\n                \"dba\": \"dba\"\n            },\n            \"jurisdiction\": \"NY\",\n            \"form_revision\": \"ST-120 (6/18)\",\n            \"status\": \"completed\",\n            \"detailed_status\": \"Active - Non-Expiring\",\n            \"upload_source\": \"e-sign\",\n            \"effective_date\": \"2021-06-22\",\n            \"expiration_date\": \"2021-12-31\",\n            \"single_use\": 0,\n            \"exemption_reason_id\": \"G\",\n            \"exemption_reason_name\": \"Resale\",\n            \"states\": [\n                \"NY\"\n            ],\n            \"tax_ids\": {\n                \"NY\": \"111585966\"\n            },\n            \"notes\": [\n                {\n                    \"id\": 2,\n                    \"timestamp\": \"2021-06-23T01:41:29Z\",\n                    \"note\": \"Completed by Validation Engine (No Authentication Required)\",\n                    \"user_id\": 2656,\n                    \"email\": \"test@exemptax.com\",\n                    \"first_name\": \"John\",\n                    \"last_name\": \"Doe\"\n                }\n            ],\n            \"upload_user\": {\n                \"id\": 1002,\n                \"email\": \"e-Cert\",\n                \"first_name\": \"e-Cert\",\n                \"last_name\": \" \"\n            },\n            \"upload_timestamp\": \"2021-06-22T18:37:28Z\",\n            \"update_user\": {\n                \"id\": 1,\n                \"email\": \"test@exemptax.com\",\n                \"first_name\": \"Test\",\n                \"last_name\": \"User\"\n            },\n            \"update_timestamp\": \"2021-06-22T18:41:29Z\"\n        },\n        {\n            \"id\": 16,\n            \"customer_id\": 4321,\n            \"customer\": {\n                \"name\": \"ABC LLC\",\n                \"account_number\": \"123456\",\n                \"dba\": \"dba\"\n            },\n            \"jurisdiction\": \"SST\",\n            \"form_revision\": \"SSTGB Form F0003 (Revised 3/31/2020)\",\n            \"status\": \"rejected\",\n            \"detailed_status\": \"Inactive - Rejected\",\n            \"upload_source\": \"external upload\",\n            \"effective_date\": null,\n            \"expiration_date\": null,\n            \"single_use\": null,\n            \"exemption_reason_id\": null,\n            \"exemption_reason_name\": null,\n            \"states\": [\n                \"AR\",\n                \"GA\",\n                \"KY\"\n            ],\n            \"tax_ids\": {\n                \"AR\": \"22233355-887\",\n                \"GA\": \"123-887766\",\n                \"KY\": \"55443\"\n            },\n            \"notes\": [\n                {\n                    \"id\": 3,\n                    \"timestamp\": \"2021-06-10T01:23:30Z\",\n                    \"note\": \"Escalated by User. Reason: This is test note from an escalation.\",\n                    \"user_id\": 2656,\n                    \"email\": \"test@exemptax.com\",\n                    \"first_name\": \"John\",\n                    \"last_name\": \"Doe\"\n                },\n                {\n                    \"id\": 4,\n                    \"timestamp\": \"2021-06-10T01:23:48Z\",\n                    \"note\": \"De-escalated by User. Reason: This is test note from a de-escalation.\",\n                    \"user_id\": 2656,\n                    \"email\": \"test@exemptax.com\",\n                    \"first_name\": \"John\",\n                    \"last_name\": \"Doe\"\n                },\n                {\n                    \"id\": 5,\n                    \"timestamp\": \"2021-06-10T01:24:13Z\",\n                    \"note\": \"Rejection Override - Rejected by User\",\n                    \"user_id\": 2656,\n                    \"email\": \"test@exemptax.com\",\n                    \"first_name\": \"John\",\n                    \"last_name\": \"Doe\"\n                }\n            ],\n            \"upload_user\": {\n                \"id\": 1001,\n                \"email\": \"File Upload\",\n                \"first_name\": \"File Upload\",\n                \"last_name\": \" \"\n            },\n            \"upload_timestamp\": \"2021-06-08T18:44:33Z\",\n            \"update_user\": {\n                \"id\": 1001,\n                \"email\": \"File Upload\",\n                \"first_name\": \"File Upload\",\n                \"last_name\": \" \"\n            },\n            \"update_timestamp\": \"2021-06-08T18:44:34Z\"\n        }\n    ],\n    \"queryCount\": 3\n}"}],"_postman_id":"6f863175-a4ac-432c-8e4e-7893b159b952"},{"name":"Show Certificate","id":"d59a0584-aa43-41c5-a9df-d4971ae6429d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/certificates/:certificate_id","urlObject":{"protocol":"https","path":["v1","certificates",":certificate_id"],"host":["api","exemptax","com"],"query":[],"variable":[{"description":{"content":"<p>ID number of certificate to show</p>\n","type":"text/plain"},"type":"any","value":"20","key":"certificate_id"}]}},"response":[{"id":"944e45fc-e60b-46ac-95f1-9cc9a0b7a20e","name":"Show Certificate","originalRequest":{"method":"GET","header":[{"key":"Idempotency-Key","value":"abcde","type":"text","disabled":true}],"url":{"raw":"https://api.exemptax.com/v1/certificates/:certificate_id","protocol":"https","host":["api","exemptax","com"],"path":["v1","certificates",":certificate_id"],"variable":[{"key":"certificate_id","value":"20","description":"ID number of certificate to show"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"certificate\": {\n        \"id\": 20,\n        \"customer_id\": 12,\n        \"customer\":{\n            \"name\":\"ABC LLC\",\n            \"account_number\":\"123456\",\n            \"dba\":\"dba\"\n        },\n        \"jurisdiction\": \"CA\",\n        \"form_revision\": null,\n        \"status\": \"pending\",\n        \"detailed_status\": \"Incomplete - Pending\",\n        \"upload_source\": \"single upload\",\n        \"effective_date\": null,\n        \"expiration_date\": null,\n        \"single_use\": null,\n        \"exemption_reason_id\": null,\n        \"exemption_reason_name\": null,\n        \"states\": [\n            \"CA\"\n        ],\n        \"tax_ids\": {\n            \"CA\": \"SR-AB 123-456789\"\n        },\n        \"upload_user\": {\n            \"id\": 1003,\n            \"email\": \"API KEY\",\n            \"first_name\": \"API\",\n            \"last_name\": \" KEY\"\n        },\n        \"upload_timestamp\": \"2021-06-28T23:56:52Z\",\n        \"update_user\": {\n            \"id\": 1003,\n            \"email\": \"API KEY\",\n            \"first_name\": \"API\",\n            \"last_name\": \" KEY\"\n        },\n        \"update_timestamp\": \"2021-06-28T23:56:52Z\"\n    }\n}"}],"_postman_id":"d59a0584-aa43-41c5-a9df-d4971ae6429d"},{"name":"Download Certificate PDF","id":"4af6480d-e3e7-4883-a4ca-38526a62a401","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/certificates/:certificate_id/pdf","description":"<p>You may utilize this endpoint to get PDF file copies of certificates available in your account based on a respective certificate ID. You may also pass an optional query parameter \"base64\" to obtain the file in a base64 encoded string response. More info on base64 can be found <a href=\"https://en.wikipedia.org/wiki/Base64\">here</a>.</p>\n<p>Please note that due our storage of actual PDFs and not file types, response base64 will not work on example below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-html\">&lt;img src=”data:image/&lt;type&gt;;base64,&lt;response_base64&gt;”/&gt;\n\n</code></pre>\n<p>It will however work on other options such as:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-html\">&lt;iframe src=\"data:application/pdf;base64.&lt;response_base64&gt;\"&gt;\n&lt;object data=\"data:application/pdf;base64.&lt;response_base64&gt;\"&gt;\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","certificates",":certificate_id","pdf"],"host":["api","exemptax","com"],"query":[{"disabled":true,"description":{"content":"<p>Optional (“base64“): If format key is not included in the request or empty, the default response is stream file format.</p>\n","type":"text/plain"},"key":"format","value":"base64"}],"variable":[{"description":{"content":"<p>ID number of certificate to download</p>\n","type":"text/plain"},"type":"any","value":"123","key":"certificate_id"}]}},"response":[{"id":"d8206599-3ea0-4a7a-b092-9368764478cb","name":"Download Certificate PDF","originalRequest":{"method":"GET","header":[{"key":"Idempotency-Key","value":"abcde","type":"text","disabled":true}],"url":{"raw":"https://api.exemptax.com/v1/certificates/:certificate_id/pdf?format=base64","protocol":"https","host":["api","exemptax","com"],"path":["v1","certificates",":certificate_id","pdf"],"query":[{"key":"format","value":"base64","description":"Optional (“base64“): If format key is not included in the request or empty, the default response is stream file format.","type":"text"}],"variable":[{"key":"certificate_id","value":"1234","description":"ID number of certificate to download"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"base64\": \"JVBERi0xLjcKJe...\"\r\n}"}],"_postman_id":"4af6480d-e3e7-4883-a4ca-38526a62a401"},{"name":"Store Certificate(s)","id":"9745c2c3-f589-4e2a-a556-1612ddb91255","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"upfile[]","type":"file","description":"<p>Array of certificate file(s) to upload. Required when base64 is not sent. Each file must be of type pdf, jpeg, jpg, png, gif, bmp, or tiff, and must not exceed 50 MB. With a maximum of 100 files per request and a total combined file size limit of 400 MB.</p>\n","src":"/Users/Shared/tax_document.pdf"},{"key":"base64","value":"<base64>","description":"<p>Single base64-encoded certificate file. Required when upfile[] is not sent. Must represent a pdf, jpeg, jpg, png, gif, bmp, or tiff file and must not exceed 50 MB after decoding.</p>\n","type":"text","uuid":"e840967f-6fdd-4b0d-8681-1de6c87896de","disabled":true},{"key":"jurisdiction","value":"CA","type":"text","description":"<p>Jurisdiction of certificate(s) (optional). Must be a 2-letter US state code (e.g. CA, NY) or a multistate code (SST, MTC, CST).</p>\n"},{"key":"customer_id","value":"12","type":"text","description":"<p>Customer identifier for the certificate(s) (optional). Used to link the upload to an existing customer.</p>\n"}]},"url":"https://api.exemptax.com/v1/certificates","urlObject":{"protocol":"https","path":["v1","certificates"],"host":["api","exemptax","com"],"query":[],"variable":[]}},"response":[{"id":"9eacaecf-4a03-474f-b9eb-42cfff59328d","name":"Store Certificate(s)","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","type":"text","disabled":true}],"body":{"mode":"formdata","formdata":[{"key":"upfile[]","type":"file","description":"Array of certificate file(s) to upload. Required when base64 is not sent. Each file must be of type pdf, jpeg, jpg, png, gif, bmp, or tiff, and must not exceed 50 MB. With a maximum of 100 files per request and a total combined file size limit of 400 MB.","src":"/Users/Shared/tax_document.pdf"},{"key":"base64","value":"<base64>","description":"Single base64-encoded certificate file. Required when upfile[] is not sent. Must represent a pdf, jpeg, jpg, png, gif, bmp, or tiff file and must not exceed 50 MB after decoding.","type":"text","uuid":"1df57a5b-9df7-46ac-b413-0f0520bd6171","disabled":true},{"key":"jurisdiction","value":"CA","type":"text","description":"Jurisdiction of certificate(s) (optional). Must be a 2-letter US state code (e.g. CA, NY) or a multistate code (SST, MTC, CST)."},{"key":"customer_id","value":"12","type":"text","description":"Customer identifier for the certificate(s) (optional). Used to link the upload to an existing customer."}]},"url":"https://api.exemptax.com/v1/certificates"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"certificates\": [\n        {\n            \"id\": 20,\n            \"file\": \"tax_document.pdf\"\n        }\n    ],\n    \"count\": 1,\n    \"message\": \"Success: 1 Certificate(s) Uploaded\"\n}"}],"_postman_id":"9745c2c3-f589-4e2a-a556-1612ddb91255"},{"name":"Migrate Certificate","id":"7fc49456-dbe9-409a-bbe1-911df50f018a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"upfile","description":"<p>Certificate file to upload. Required when base64 is not sent. File must be of type pdf, jpeg, jpg, png, gif, bmp, or tiff, and must not exceed 50 MB.</p>\n","type":"file","uuid":"6f87c15c-79ac-4f5c-b4e1-deec0237bbbd","src":"/D:/Downloads/tax_document.pdf"},{"key":"base64","value":"<base64>","type":"text","description":"<p>Single base64-encoded certificate file. Required when upfile is not sent. Must represent a pdf, jpeg, jpg, png, gif, bmp, or tiff file and must not exceed 50 MB after decoding.</p>\n","disabled":true},{"key":"customer_id","value":"ACCT-100245","type":"text","description":"<p>Customer identifier (e.g. Acme Supplies LLC, ACCT-100245). Used together with customer_id_type to look up the customer.</p>\n"},{"key":"customer_id_type","value":"Account Number","type":"text","description":"<p>How customer_id should be interpreted. Allowed values: Name or Account Number.</p>\n"},{"key":"two_digit_state_code","value":"CA, NY","type":"text","description":"<p>Two-letter US state code(s), e.g. CA or CA, NY.</p>\n"},{"key":"exemption_reason_code","value":"G","type":"text","description":"<p>Exemption Reason Code. See the list of Exemption Reasons for valid values.</p>\n"},{"key":"effective_date","value":"1/1/2023","type":"text","description":"<p>(Optional) Certificate start date, e.g. 1/1/2023. If not set, today’s date is used.</p>\n"},{"key":"expiration_date","value":"1/2/2028","type":"text","description":"<p>(Optional) Certificate end date, e.g. 1/2/2028. If not set, the certificate is treated as non-expiring. If earlier than effective_date, the effective date will be used instead.</p>\n"},{"key":"tax_id","value":"88-554433, 224565798","type":"text","description":"<p>(Optional) Tax ID(s), e.g. 12345678 or 88-554433, 224565798. When multiple states are provided in two_digit_state_code, tax IDs should be in the same order (e.g. CA, NY → 88-554433, 224565798).</p>\n"},{"key":"notes","value":"Resale certificate for all taxable goods.","type":"text","description":"<p>(Optional) Additional notes to store with the certificate.</p>\n"}]},"url":"https://api.exemptax.com/v1/certificates/migrate","urlObject":{"protocol":"https","path":["v1","certificates","migrate"],"host":["api","exemptax","com"],"query":[],"variable":[]}},"response":[{"id":"580a80c3-79b4-46e3-9ffb-5a2733bcc41b","name":"Migrate Certificate","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"upfile","description":"Certificate file to upload. Required when base64 is not sent. File must be of type pdf, jpeg, jpg, png, gif, bmp, or tiff, and must not exceed 50 MB.","type":"file","uuid":"6f87c15c-79ac-4f5c-b4e1-deec0237bbbd","src":"/D:/Downloads/tax_document.pdf"},{"key":"base64","value":"<base64>","type":"text","description":"Single base64-encoded certificate file. Required when upfile is not sent. Must represent a pdf, jpeg, jpg, png, gif, bmp, or tiff file and must not exceed 50 MB after decoding.","disabled":true},{"key":"customer_id","value":"ACCT-100245","type":"text","description":"Customer identifier (e.g. Acme Supplies LLC, ACCT-100245). Used together with customer_id_type to look up the customer."},{"key":"customer_id_type","value":"Account Number","type":"text","description":"How customer_id should be interpreted. Allowed values: Name or Account Number."},{"key":"two_digit_state_code","value":"CA, NY","type":"text","description":"Two-letter US state code(s), e.g. CA or CA, NY."},{"key":"exemption_reason_code","value":"G","type":"text","description":"Exemption Reason Code. See the list of Exemption Reasons for valid values."},{"key":"effective_date","value":"1/1/2023","type":"text","description":"(Optional) Certificate start date, e.g. 1/1/2023. If not set, today’s date is used."},{"key":"expiration_date","value":"1/2/2025","type":"text","description":"(Optional) Certificate end date, e.g. 1/2/2025. If not set, the certificate is treated as non-expiring. If earlier than effective_date, the effective date will be used instead."},{"key":"tax_id","value":"88-554433, 224565798","type":"text","description":"(Optional) Tax ID(s), e.g. 12345678 or 88-554433, 224565798. When multiple states are provided in two_digit_state_code, tax IDs should be in the same order (e.g. CA, NY → 88-554433, 224565798)."},{"key":"notes","value":"Resale certificate for all taxable goods.","type":"text","description":"(Optional) Additional notes to store with the certificate."}]},"url":"https://api.exemptax.com/v1/certificates/migrate"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"certificate\": {\n        \"id\": 4321,\n        \"customer_id\": 49,\n        \"customer\": {\n            \"name\": \"Acme Supplies LLC\",\n            \"account_number\": \"ACCT-100245\",\n            \"dba\": \"Main Street Boutique\"\n        },\n        \"jurisdiction\": \"CST\",\n        \"form_revision\": \"CUSTOM FORM\",\n        \"status\": \"completed\",\n        \"detailed_status\": \"Active - Non-Expiring\",\n        \"upload_source\": \"single upload\",\n        \"effective_date\": \"2023-01-01\",\n        \"expiration_date\": \"2028-01-02\",\n        \"single_use\": 0,\n        \"exemption_reason_id\": \"G\",\n        \"exemption_reason_name\": \"Resale\",\n        \"states\": [\n            \"CA\",\n            \"NY\"\n        ],\n        \"tax_ids\": {\n            \"CA\": \"88-554433\",\n            \"NY\": \"224565798\"\n        },\n        \"notes\": [\n            {\n                \"id\": 315,\n                \"user_id\": 1003,\n                \"username\": \"API  KEY\",\n                \"timestamp\": \"2025-11-26 06:56:17\",\n                \"note\": \"Completed by Validation Engine (No Authentication Required)\"\n            }\n        ],\n        \"upload_user\": {\n            \"id\": 1003,\n            \"email\": \"API KEY\",\n            \"first_name\": \"API\",\n            \"last_name\": \" KEY\"\n        },\n        \"upload_timestamp\": \"2025-11-26T14:56:17Z\",\n        \"update_user\": {\n            \"id\": 1003,\n            \"email\": \"API KEY\",\n            \"first_name\": \"API\",\n            \"last_name\": \" KEY\"\n        },\n        \"update_timestamp\": \"2025-11-26T14:56:18Z\"\n    }\n}"}],"_postman_id":"7fc49456-dbe9-409a-bbe1-911df50f018a"}],"id":"d9fffd03-0453-46b8-975a-01131084ef92","description":"<p>Endpoints related to certificates. These endpoints allow you to store new certificates as well as view details of certificates currently stored in the system.</p>\n","_postman_id":"d9fffd03-0453-46b8-975a-01131084ef92"},{"name":"Customers","item":[{"name":"List Customers","id":"04da7f61-3f7d-423c-af97-2060b878d0ec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/customers?update_from=2019-07-02T12:12:43-07:00&update_to=2019-09-22T20:20:13%2B01:00&create_from=2018-07-22&create_to=2018-07-22 19:20:13","description":"<p>You can sort by the following columns (using the orderBy[] query parameter):</p>\n<p><strong>id, active, name, account_number, alternative_id, dba, contact_email, update_timestamp, create_timestamp, default_exemption_reason_name, custom_notes</strong></p>\n<p>You can filter by the following columns(using the q[] query parameter):</p>\n<p><strong>id, active, name, account_number, alternative_id, dba, contact_name, contact_phone, contact_fax, contact_email, custom_notes</strong></p>\n","urlObject":{"protocol":"https","path":["v1","customers"],"host":["api","exemptax","com"],"query":[{"disabled":true,"key":"offset","value":"0"},{"disabled":true,"key":"limit","value":"20"},{"description":{"content":"<p>Date when customers were last updated, from (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)</p>\n","type":"text/plain"},"key":"update_from","value":"2019-07-02T12:12:43-07:00"},{"description":{"content":"<p>Date when customers were last updated, to (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)</p>\n","type":"text/plain"},"key":"update_to","value":"2019-09-22T20:20:13%2B01:00"},{"description":{"content":"<p>Date when customers were created, from (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)</p>\n","type":"text/plain"},"key":"create_from","value":"2018-07-22"},{"description":{"content":"<p>Date when customers were created, to (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)</p>\n","type":"text/plain"},"key":"create_to","value":"2018-07-22 19:20:13"},{"disabled":true,"key":"orderBy[]","value":"id,DESC"}],"variable":[]}},"response":[{"id":"c4df3efa-1971-471e-b2ef-323b14e0db0b","name":"List Customers","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.exemptax.com/v1/customers?offset=0&limit=20&update_from=2019-07-02T12:12:43-07:00&update_to=2019-09-22T20:20:13%2B01:00&create_from=2018-07-22&create_to=2018-07-22 19:20:13&orderBy[]=id,DESC","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers"],"query":[{"key":"offset","value":"0"},{"key":"limit","value":"20"},{"key":"update_from","value":"2019-07-02T12:12:43-07:00","description":"Date when customers were last updated, from (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)"},{"key":"update_to","value":"2019-09-22T20:20:13%2B01:00","description":"Date when customers were last updated, to (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)"},{"key":"create_from","value":"2018-07-22","description":"Date when customers were created, from (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)"},{"key":"create_to","value":"2018-07-22 19:20:13","description":"Date when customers were created, to (UTC) - accepts YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, or ISO 8601 (optional)"},{"key":"orderBy[]","value":"id,DESC"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"customers\": [\n        {\n            \"id\": 4320,\n            \"active\": true,\n            \"name\": \"Test Customer 1\",\n            \"account_number\": \"abc12345\",\n            \"alternative_id\": null,\n            \"dba\": \"Test Customer CA\",\n            \"address\": {\n                \"line1\": \"1234 HWY A\",\n                \"line2\": \"Room 2222\",\n                \"city\": \"Los Angeles\",\n                \"state\": \"CA\",\n                \"postal_code\": \"90095\",\n                \"country\": \"us\"\n            },\n            \"contact\": {\n                \"name\": \"Jane Smith\",\n                \"phone\": \"555-123-1234\",\n                \"fax\": null,\n                \"email\": \"jane.smith@exemptax.com\"\n            },\n            \"default_exemption_reason\": \"C\",\n            \"default_exemption_reason_name\": \"Tribal government\",\n            \"shipping_states\": {\n                \"AL\": \"B\",\n                \"CA\": \"D\"\n            },\n            \"tags\": [],\n            \"custom_notes\": null,\n            \"custom_fields\": {\n                \"purchase_order_number\": \"PO-10482\",\n                \"customer_account_number\": \"ACCT-78231\",\n                \"billing_contact_email\": \"billing@example.com\",\n                \"erp_customer_number\": \"ERP-00428\",\n                \"account_manager\": \"Jane Doe\"\n            },\n            \"update_user\": {\n                \"id\": 1003,\n                \"email\": \"api@exemptax.com\",\n                \"first_name\": \"API\",\n                \"last_name\": \" KEY\"\n            },\n            \"update_timestamp\": \"2019-09-22T19:20:13Z\",\n            \"create_timestamp\": \"2018-07-22T19:20:13Z\"\n        },\n        {\n            \"id\": 4319,\n            \"active\": true,\n            \"name\": \"Test Customer 2\",\n            \"account_number\": \"2345123123\",\n            \"alternative_id\": null,\n            \"dba\": null,\n            \"address\": {\n                \"line1\": \"1234 HWY B\",\n                \"line2\": \"SUITE 100\",\n                \"city\": \"Los Angeles\",\n                \"state\": \"CA\",\n                \"postal_code\": \"90299\",\n                \"country\": \"us\"\n            },\n            \"contact\": {\n                \"name\": \"John Doe\",\n                \"phone\": \"213-111-1234\",\n                \"fax\": null,\n                \"email\": null\n            },\n            \"default_exemption_reason\": \"C\",\n            \"default_exemption_reason_name\": \"Tribal government\",\n            \"shipping_states\": {\n                \"AL\": \"B\",\n                \"CA\": \"D\"\n            },\n            \"custom_notes\": null,\n            \"custom_fields\": {\n                \"purchase_order_number\": \"PO-20931\",\n                \"customer_account_number\": \"ACCT-45120\",\n                \"billing_contact_email\": null,\n                \"erp_customer_number\": \"ERP-00917\",\n                \"account_manager\": \"John Smith\"\n            },\n            \"update_user\": {\n                \"id\": 1003,\n                \"email\": \"api@exemptax.com\",\n                \"first_name\": \"API\",\n                \"last_name\": \" KEY\"\n            },\n            \"update_timestamp\": \"2019-07-02T19:12:43Z\",\n            \"create_timestamp\": \"2018-07-22T19:20:13Z\"\n        }\n    ],\n    \"queryCount\": 2429\n}"}],"_postman_id":"04da7f61-3f7d-423c-af97-2060b878d0ec"},{"name":"Check Available","id":"37c6cb93-2ff0-4afc-8280-fc51857d9ebb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/customers/check_available","description":"<p>This endpoint will check if either a customer name or customer account number is already in use. (Since these fields MUST BE unique across all customers.)</p>\n","urlObject":{"protocol":"https","path":["v1","customers","check_available"],"host":["api","exemptax","com"],"query":[{"disabled":true,"description":{"content":"<p>The field to check against:\nCan be</p>\n<ul>\n<li>name (customer name)</li>\n<li>account_number (customer account number)</li>\n</ul>\n","type":"text/plain"},"key":"field","value":"name"},{"disabled":true,"description":{"content":"<p>The value to check for uniqueness</p>\n","type":"text/plain"},"key":"value","value":"TEST CUSTOMER 1"},{"disabled":true,"description":{"content":"<p>(Optional) Enables fuzzy matching for the provided field/value. When omitted, the endpoint performs an exact match only (current behavior). When mode=fuzzy, the response includes fuzzy.nearest_match with the closest existing record and a distance (Levenshtein) score.</p>\n","type":"text/plain"},"key":"mode","value":"fuzzy"}],"variable":[]}},"response":[{"id":"d8b4df2d-f264-42e2-8ffd-5140fd8fff48","name":"Not available (Customer name already in use)","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.exemptax.com/v1/customers/check_available?field=name&value=TEST CUSTOMER 1","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers","check_available"],"query":[{"key":"field","value":"name","description":"The field to check against:\nCan be\n- name (customer name)\n- account_number (customer account number)"},{"key":"value","value":"TEST CUSTOMER 1","description":"The value to check for uniqueness"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"available\": 0\n}"},{"id":"f306bcb7-d926-44c1-ac8f-765ad5ac353a","name":"Available (Account number not in use)","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.exemptax.com/v1/customers/check_available?field=account_number&value=a12345","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers","check_available"],"query":[{"key":"field","value":"account_number","description":"The field to check against:\nCan be\n- name (customer name)\n- account_number (customer account number)"},{"key":"value","value":"a12345","description":"The value to check for uniqueness"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"available\": 1\n}"},{"id":"4014e1ac-63cd-4a92-bd12-1a5971fe8b31","name":"Fuzzy (Levenshtein)","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.exemptax.com/v1/customers/check_available?field=name&value=TEST CUSTOMER 123&mode=fuzzy","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers","check_available"],"query":[{"key":"field","value":"name","description":"The field to check against:\nCan be\n- name (customer name)\n- account_number (customer account number)"},{"key":"value","value":"TEST CUSTOMER 123","description":"The value to check for uniqueness"},{"key":"mode","value":"fuzzy","description":"(Optional) Enables fuzzy matching for the provided field/value. When omitted, the endpoint performs an exact match only (current behavior). When mode=fuzzy, the response includes fuzzy.nearest_match with the closest existing record and a distance (Levenshtein) score."}]}},"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"available\": 1,\n    \"fuzzy\": {\n        \"nearest_match\": {\n            \"id\": 9001,\n            \"name\": \"TEST CUSTOMER 1\",\n            \"account_number\": \"AB12345\",\n            \"levenshtein_distance\": 2\n        }\n    }\n}"}],"_postman_id":"37c6cb93-2ff0-4afc-8280-fc51857d9ebb"},{"name":"Create Customer","id":"d7059a27-28fe-4726-9fed-41765f590c62","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"active","value":"1","type":"text","description":"<p>Boolean</p>\n"},{"key":"name","value":"Test Customer 1","type":"text","description":"<p>Name of Customer (must be unique, max 41 chars)</p>\n"},{"key":"account_number","value":"abc12345","type":"text","description":"<p>Account Number (must be unique, max 41 chars)</p>\n"},{"key":"alternative_id","value":"","type":"text","description":"<p>Additional Customer ID(s) (optional string - 255 chars - does not need to be included in request) </p>\n"},{"key":"dba","value":"Test Customer CA","type":"text","description":"<p>Doing Business As name (max 41 chars)</p>\n"},{"key":"address[line1]","value":"1234 HWY A","type":"text","description":"<p>Address Line 1 (max 255 chars)</p>\n"},{"key":"address[line2]","value":"Room 2222","type":"text","description":"<p>Address Line 2 (max 255 chars)</p>\n"},{"key":"address[city]","value":"Los Angeles","type":"text","description":"<p>Address City (max 255 chars)</p>\n"},{"key":"address[state]","value":"CA","type":"text","description":"<p>Address State (2 letter ISO state code)</p>\n"},{"key":"address[postal_code]","value":"90095","type":"text","description":"<p>Address Postal Code (max 255 chars)</p>\n"},{"key":"address[country]","value":"us","type":"text","description":"<p>Address Country (2 letter ISO country code)</p>\n"},{"key":"contact[name]","value":"Jane Smith","type":"text","description":"<p>Contact Name (max 255 chars)</p>\n"},{"key":"contact[phone]","value":"555-123-1234","type":"text","description":"<p>Contact Phone (max 255 chars)</p>\n"},{"key":"contact[fax]","value":"","type":"text","description":"<p>Contact Fax (max 255 chars)</p>\n"},{"key":"contact[email]","value":"jane.smith@exemptax.com","type":"text","description":"<p>Contact Email (must be valid email address, max 255 chars)</p>\n"},{"key":"default_exemption_reason","value":"C","type":"text","description":"<p>Exemption Reason Code (optional - see misc for list of exemption reasons). If an exemption reason code is not provided, the customer will default to your company level default exemption reason per your account settings. </p>\n"},{"key":"shipping_states[AL]","value":"B","type":"text","description":"<p>Shipping State Array (optional for both values - 2 letter state code key, exemption reason value). If an exemption reason value is not provided, EXEMPTAX will first default to the customer level exemption reason for a particular state. If this value is also omitted, the value will then be inherited from the default exemption reason in your company settings if not included in the request.</p>\n"},{"key":"shipping_states[CA]","value":"D","type":"text","description":"<p>Shipping State Array (optional  - 2 letter state code key, exemption reason value)</p>\n"},{"key":"tag_id[0]","value":"1","type":"text","description":"<p>Optional on both the request and variable level | array | distinct | ids should exists at tag - please see tags section of documentation for more details and options pertaining to tags.</p>\n"},{"key":"custom_notes","value":"","type":"text","description":"<p>Notes describing customer relationship (optional string - does not need to be included in request)</p>\n"}]},"url":"https://api.exemptax.com/v1/customers","urlObject":{"protocol":"https","path":["v1","customers"],"host":["api","exemptax","com"],"query":[],"variable":[]}},"response":[{"id":"200dc34f-48f7-4e96-9338-90fc3fa2ef77","name":"Create Customer","originalRequest":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"active","value":"1","type":"text","description":"Boolean"},{"key":"name","value":"Test Customer 1","type":"text","description":"Name of Customer (must be unique, max 41 chars)"},{"key":"account_number","value":"abc12345","type":"text","description":"Account Number (must be unique, max 41 chars)"},{"key":"alternative_id","value":"","description":"Additional Customer ID(s) (optional string - 255 chars - does not need to be included in request) ","type":"text"},{"key":"dba","value":"Test Customer CA","type":"text","description":"Doing Business As name (max 41 chars)"},{"key":"address[line1]","value":"1234 HWY A","type":"text","description":"Address Line 1 (max 255 chars)"},{"key":"address[line2]","value":"Room 2222","type":"text","description":"Address Line 2 (max 255 chars)"},{"key":"address[city]","value":"Los Angeles","type":"text","description":"Address City (max 255 chars)"},{"key":"address[state]","value":"CA","type":"text","description":"Address State (2 letter ISO state code)"},{"key":"address[postal_code]","value":"90095","type":"text","description":"Address Postal Code (max 255 chars)"},{"key":"address[country]","value":"us","type":"text","description":"Address Country (2 letter ISO country code)"},{"key":"contact[name]","value":"Jane Smith","type":"text","description":"Contact Name (max 255 chars)"},{"key":"contact[phone]","value":"555-123-1234","type":"text","description":"Contact Phone (max 255 chars)"},{"key":"contact[fax]","value":"","type":"text","description":"Contact Fax (max 255 chars)"},{"key":"contact[email]","value":"jane.smith@exemptax.com","type":"text","description":"Contact Email (must be valid email address, max 255 chars)"},{"key":"default_exemption_reason","value":"C","type":"text","description":"Exemption Reason Code (optional - see misc for list of exemption reasons). If an exemption reason code is not provided, the customer will default to your company level default exemption reason per your account settings. "},{"key":"shipping_states[AL]","value":"B","type":"text","description":"Shipping State Array (optional for both values - 2 letter state code key, exemption reason value). If an exemption reason value is not provided, EXEMPTAX will first default to the customer level exemption reason for a particular state. If this value is also omitted, the value will then be inherited from the default exemption reason in your company settings if not included in the request."},{"key":"shipping_states[CA]","value":"D","type":"text","description":"Shipping State Array (optional  - 2 letter state code key, exemption reason value)"},{"key":"tag_id[0]","value":"1","description":"Optional on both the request and variable level | array | distinct | ids should exists at tag - please see tags section of documentation for more details and options pertaining to tags.","type":"text"},{"key":"custom_notes","value":"","description":"Notes describing customer relationship (optional string - does not need to be included in request)","type":"text"}],"options":{"raw":{"language":"json"}}},"url":"https://api.exemptax.com/v1/customers"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"customer\": {\n        \"id\": 4320,\n        \"active\": true,\n        \"name\": \"Test Customer 1\",\n        \"account_number\": \"abc12345\",\n        \"alternative_id\": null,\n        \"dba\": \"Test Customer CA\",\n        \"address\": {\n            \"line1\": \"1234 HWY A\",\n            \"line2\": \"Room 2222\",\n            \"city\": \"Los Angeles\",\n            \"state\": \"CA\",\n            \"postal_code\": \"90095\",\n            \"country\": \"us\"\n        },\n        \"contact\": {\n            \"name\": \"Jane Smith\",\n            \"phone\": \"555-123-1234\",\n            \"fax\": null,\n            \"email\": \"jane.smith@exemptax.com\"\n        },\n        \"default_exemption_reason\": \"C\",\n        \"default_exemption_reason_name\": \"Tribal government\",\n        \"shipping_states\": {\n            \"AL\": \"B\",\n            \"CA\": \"D\"\n        },\n        \"tags\": {\n            \"1\": \"Wholesale\"\n        },\n        \"custom_notes\": null,\n        \"update_user\": {\n            \"id\": 1003,\n            \"email\": \"api@exemptax.com\",\n            \"first_name\": \"API\",\n            \"last_name\": \" KEY\"\n        },\n        \"update_timestamp\": \"2020-01-19T19:14:05Z\"\n    }\n}"}],"_postman_id":"d7059a27-28fe-4726-9fed-41765f590c62"},{"name":"Show Customer - Internal Customer ID","id":"20dcee63-8fae-47a9-8475-6d8428c33f85","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/customers/:customer_id","urlObject":{"protocol":"https","path":["v1","customers",":customer_id"],"host":["api","exemptax","com"],"query":[],"variable":[{"description":{"content":"<p>ID number of customer to show</p>\n","type":"text/plain"},"type":"string","value":"4320","key":"customer_id"}]}},"response":[{"id":"34014ff8-21be-4080-910e-a5b292bfac87","name":"Show Customer - Internal Customer ID","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.exemptax.com/v1/customers/:customer_id","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers",":customer_id"],"variable":[{"key":"customer_id","value":"4320","description":"ID number of customer to show"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 02 Sep 2020 19:16:20 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"594"},{"key":"Connection","value":"keep-alive"},{"key":"Set-Cookie","value":"AWSALB=QX5VvQYhPa7dae1LD8M3cZbFf5ZlmJNzYARP+zUHHrTdcLuT9xtidMYKjBQH9d5uYYRa8q+HyF0JaMluDgRI/3wBnmIOlBcBykrXm1PRSqaH/pXSdxBI90XAR7cw; Expires=Wed, 09 Sep 2020 19:16:20 GMT; Path=/"},{"key":"Set-Cookie","value":"AWSALBCORS=QX5VvQYhPa7dae1LD8M3cZbFf5ZlmJNzYARP+zUHHrTdcLuT9xtidMYKjBQH9d5uYYRa8q+HyF0JaMluDgRI/3wBnmIOlBcBykrXm1PRSqaH/pXSdxBI90XAR7cw; Expires=Wed, 09 Sep 2020 19:16:20 GMT; Path=/; SameSite=None; Secure"},{"key":"Server","value":"Apache/2.4.38 (Debian)"},{"key":"Vary","value":"Authorization"},{"key":"Cache-Control","value":"must-revalidate, no-cache, no-store, private"},{"key":"Api-Request-Id","value":"5876f129-2a88-41bf-9c88-ea75922e5be2"},{"key":"X-RateLimit-Limit","value":"200"},{"key":"X-RateLimit-Remaining","value":"199"},{"key":"Pragma","value":"no-cache"}],"cookie":[],"responseTime":null,"body":"{\n    \"customer\": {\n        \"id\": 4320,\n        \"active\": true,\n        \"name\": \"Test Customer 1\",\n        \"account_number\": \"abc12345\",\n        \"alternative_id\": null,\n        \"dba\": \"Test Customer CA\",\n        \"address\": {\n            \"line1\": \"1234 HWY A\",\n            \"line2\": \"Room 2222\",\n            \"city\": \"Los Angeles\",\n            \"state\": \"CA\",\n            \"postal_code\": \"90095\",\n            \"country\": \"us\"\n        },\n        \"contact\": {\n            \"name\": \"Jane Smith\",\n            \"phone\": \"555-123-1234\",\n            \"fax\": null,\n            \"email\": \"jane.smith@exemptax.com\"\n        },\n        \"default_exemption_reason\": \"C\",\n        \"default_exemption_reason_name\": \"Tribal government\",\n        \"shipping_states\": {\n            \"AL\": \"B\",\n            \"CA\": \"D\"\n        },\n        \"tags\": {\n            \"1\": \"Wholesale\"\n        },\n        \"custom_notes\": null,\n        \"custom_fields\": {\n            \"purchase_order_number\": \"PO-10482\",\n            \"customer_account_number\": \"ACCT-78231\",\n            \"billing_contact_email\": \"billing@example.com\",\n            \"erp_customer_number\": \"ERP-00428\",\n            \"account_manager\": \"Jane Doe\"\n        },\n        \"update_user\": {\n            \"id\": 1003,\n            \"email\": \"api@exemptax.com\",\n            \"first_name\": \"API\",\n            \"last_name\": \" KEY\"\n        },\n        \"update_timestamp\": \"2020-01-19T19:14:05Z\"\n    }\n}"}],"_postman_id":"20dcee63-8fae-47a9-8475-6d8428c33f85"},{"name":"Show Customer - Account Number","id":"c22381f0-0e02-4c18-80d4-f42396244b69","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/customers/account_number/:account_number","urlObject":{"protocol":"https","path":["v1","customers","account_number",":account_number"],"host":["api","exemptax","com"],"query":[],"variable":[{"description":{"content":"<p>Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system.</p>\n","type":"text/plain"},"type":"any","value":"abc12345","key":"account_number"}]}},"response":[{"id":"36f1d6a4-e09c-47c3-9107-741142cef1d9","name":"Show Customer - Account Number","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.exemptax.com/v1/customers/account_number/:account_number","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers","account_number",":account_number"],"variable":[{"key":"account_number","value":"abc12345","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 02 Sep 2020 19:16:20 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"594"},{"key":"Connection","value":"keep-alive"},{"key":"Set-Cookie","value":"AWSALB=QX5VvQYhPa7dae1LD8M3cZbFf5ZlmJNzYARP+zUHHrTdcLuT9xtidMYKjBQH9d5uYYRa8q+HyF0JaMluDgRI/3wBnmIOlBcBykrXm1PRSqaH/pXSdxBI90XAR7cw; Expires=Wed, 09 Sep 2020 19:16:20 GMT; Path=/"},{"key":"Set-Cookie","value":"AWSALBCORS=QX5VvQYhPa7dae1LD8M3cZbFf5ZlmJNzYARP+zUHHrTdcLuT9xtidMYKjBQH9d5uYYRa8q+HyF0JaMluDgRI/3wBnmIOlBcBykrXm1PRSqaH/pXSdxBI90XAR7cw; Expires=Wed, 09 Sep 2020 19:16:20 GMT; Path=/; SameSite=None; Secure"},{"key":"Server","value":"Apache/2.4.38 (Debian)"},{"key":"Vary","value":"Authorization"},{"key":"Cache-Control","value":"must-revalidate, no-cache, no-store, private"},{"key":"Api-Request-Id","value":"5876f129-2a88-41bf-9c88-ea75922e5be2"},{"key":"X-RateLimit-Limit","value":"200"},{"key":"X-RateLimit-Remaining","value":"199"},{"key":"Pragma","value":"no-cache"}],"cookie":[],"responseTime":null,"body":"{\n    \"customer\": {\n        \"id\": 4320,\n        \"active\": true,\n        \"name\": \"Test Customer 1\",\n        \"account_number\": \"abc12345\",\n        \"alternative_id\": null,  \n        \"dba\": \"Test Customer CA\",\n        \"address\": {\n            \"line1\": \"1234 HWY A\",\n            \"line2\": \"Room 2222\",\n            \"city\": \"Los Angeles\",\n            \"state\": \"CA\",\n            \"postal_code\": \"90095\",\n            \"country\": \"us\"\n        },\n        \"contact\": {\n            \"name\": \"Jane Smith\",\n            \"phone\": \"555-123-1234\",\n            \"fax\": null,\n            \"email\": \"jane.smith@exemptax.com\"\n        },\n        \"default_exemption_reason\": \"C\",\n        \"default_exemption_reason_name\": \"Tribal government\",\n        \"shipping_states\": {\n            \"AL\": \"B\",\n            \"CA\": \"D\"\n        },\n        \"tags\": {\n            \"1\": \"Wholesale\"\n        },\n        \"custom_notes\": null,\n        \"custom_fields\": {\n            \"purchase_order_number\": \"PO-10482\",\n            \"customer_account_number\": \"ACCT-78231\",\n            \"billing_contact_email\": \"billing@example.com\",\n            \"erp_customer_number\": \"ERP-00428\",\n            \"account_manager\": \"Jane Doe\"\n        },\n        \"update_user\": {\n            \"id\": 1003,\n            \"email\": \"api@exemptax.com\",\n            \"first_name\": \"API\",\n            \"last_name\": \" KEY\"\n        },\n        \"update_timestamp\": \"2020-01-19T19:14:05Z\"\n    }\n}"}],"_postman_id":"c22381f0-0e02-4c18-80d4-f42396244b69"},{"name":"Update Customer - Internal Customer ID","id":"31fd3ae9-7435-4115-ae42-e5207e40acd3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"active","value":"1","type":"text","description":"<p>Boolean</p>\n"},{"key":"name","value":"Test Customer 1","type":"text","description":"<p>Name of Customer (must be unique, max 41 chars)</p>\n"},{"key":"account_number","value":"abc12345","type":"text","description":"<p>Account Number (must be unique, max 41 chars)</p>\n"},{"key":"alternative_id","value":"","description":"<p>Additional Customer ID(s) (optional string - 255 chars - does not need to be included in request) </p>\n","type":"text"},{"key":"dba","value":"Test Customer CA","type":"text","description":"<p>Doing Business As name (max 41 chars)</p>\n"},{"key":"address[line1]","value":"1234 HWY A","type":"text","description":"<p>Address Line 1 (max 255 chars)</p>\n"},{"key":"address[line2]","value":"Room 2222","type":"text","description":"<p>Address Line 2 (max 255 chars)</p>\n"},{"key":"address[city]","value":"Los Angeles","type":"text","description":"<p>Address City (max 255 chars)</p>\n"},{"key":"address[state]","value":"CA","type":"text","description":"<p>Address State (2 letter ISO state code)</p>\n"},{"key":"address[postal_code]","value":"90095","type":"text","description":"<p>Address Postal Code (max 255 chars)</p>\n"},{"key":"address[country]","value":"us","type":"text","description":"<p>Address Country (2 letter ISO country code)</p>\n"},{"key":"contact[name]","value":"Jane Smith","type":"text","description":"<p>Contact Name (max 255 chars)</p>\n"},{"key":"contact[phone]","value":"555-123-1234","type":"text","description":"<p>Contact Phone (max 255 chars)</p>\n"},{"key":"contact[fax]","value":"","type":"text","description":"<p>Contact Fax (max 255 chars)</p>\n"},{"key":"contact[email]","value":"jane.smith@exemptax.com","type":"text","description":"<p>Contact Email (must be valid email address, max 255 chars)</p>\n"},{"key":"default_exemption_reason","value":"C","type":"text","description":"<p>Exemption Reason Code (optional - see misc for list of exemption reasons). If an exemption reason code is not provided, the customer will default to your company level default exemption reason per your account settings. </p>\n"},{"key":"shipping_states[AL]","value":"B","type":"text","description":"<p>Shipping State Array (optional for both values - 2 letter state code key, exemption reason value). If an exemption reason value is not provided, EXEMPTAX will first default to the customer level exemption reason for a particular state. If this value is also omitted, the value will then be inherited from the default exemption reason in your company settings if not included in the request.</p>\n"},{"key":"shipping_states[CA]","value":"0","type":"text","description":"<p>If you have accidentally added a shipping state and wish to remove the state, please pass a 0 in the request.</p>\n"},{"key":"tag_id[0]","value":"1","description":"<p>Optional on both the request and variable level | array | distinct | ids should exists at tag - please see tags section of documentation for more details and options pertaining to tags.</p>\n","type":"text"},{"key":"custom_notes","value":"","description":"<p>Notes describing customer relationship (optional string - does not need to be included in request)</p>\n","type":"text"},{"key":"custom_fields[purchase_order_number]","value":"PO-10482","description":"<p>Optional customer custom field value. Use the custom field key as the object key. Only custom fields included in the request are updated; omitted custom fields are left unchanged.</p>\n","type":"text","uuid":"c043f14e-cfc1-402c-9235-7ec3f35c51f1","disabled":true},{"key":"update_type","value":"","description":"<p>Optional (“sparse“): If update_type key is not included in the request or empty, the update for customer fields must present. If “sparse“ is set, only fields specified in the request are updated, and missing elements are left untouched.</p>\n","type":"text","disabled":true}]},"url":"https://api.exemptax.com/v1/customers/:customer_id","description":"<p>Utililize this endpoint to update Customer Record information using the unique internal EXEMPTAX Customer ID.</p>\n","urlObject":{"protocol":"https","path":["v1","customers",":customer_id"],"host":["api","exemptax","com"],"query":[],"variable":[{"description":{"content":"<p>ID number of customer to update</p>\n","type":"text/plain"},"type":"any","value":"4320","key":"customer_id"}]}},"response":[{"id":"5f8e4772-ca7e-4538-95b6-242babcfeeb8","name":"Update Customer - Internal Customer ID","originalRequest":{"method":"PUT","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"active","value":"1","type":"text","description":"Boolean"},{"key":"name","value":"Test Customer 1","type":"text","description":"Name of Customer (must be unique, max 41 chars)"},{"key":"account_number","value":"abc12345","type":"text","description":"Account Number (must be unique, max 41 chars)"},{"key":"dba","value":"Test Customer CA","type":"text","description":"Doing Business As name (max 41 chars)"},{"key":"address[line1]","value":"1234 HWY A","type":"text","description":"Address Line 1 (max 255 chars)"},{"key":"address[line2]","value":"Room 2222","type":"text","description":"Address Line 2 (max 255 chars)"},{"key":"address[city]","value":"Los Angeles","type":"text","description":"Address City (max 255 chars)"},{"key":"address[state]","value":"CA","type":"text","description":"Address State (2 letter ISO state code)"},{"key":"address[postal_code]","value":"90095","type":"text","description":"Address Postal Code (max 255 chars)"},{"key":"address[country]","value":"us","type":"text","description":"Address Country (2 letter ISO country code)"},{"key":"contact[name]","value":"Jane Smith","type":"text","description":"Contact Name (max 255 chars)"},{"key":"contact[phone]","value":"555-123-1234","type":"text","description":"Contact Phone (max 255 chars)"},{"key":"contact[fax]","value":"","type":"text","description":"Contact Fax (max 255 chars)"},{"key":"contact[email]","value":"jane.smith@exemptax.com","type":"text","description":"Contact Email (must be valid email address, max 255 chars)"},{"key":"default_exemption_reason","value":"C","type":"text","description":"Exemption Reason Code (optional - see misc for list of exemption reasons). If an exemption reason code is not provided, the customer will default to your company level default exemption reason per your account settings. "},{"key":"shipping_states[AL]","value":"B","type":"text","description":"Shipping State Array (optional for both values - 2 letter state code key, exemption reason value). If an exemption reason value is not provided, EXEMPTAX will first default to the customer level exemption reason for a particular state. If this value is also omitted, the value will then be inherited from the default exemption reason in your company settings if not included in the request."},{"key":"shipping_states[CA]","value":"0","type":"text","description":"If you have accidentally added a shipping state and wish to remove the state, please pass a 0 in the request."}],"options":{"raw":{"language":"text"}}},"url":{"raw":"https://api.exemptax.com/v1/customers/:customer_id","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers",":customer_id"],"variable":[{"key":"customer_id","value":"4320","description":"ID number of customer to update"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"customer\": {\n        \"id\": 4320,\n        \"active\": true,\n        \"name\": \"Test Customer 1\",\n        \"account_number\": \"abc12345\",\n        \"alternative_id\": null,\n        \"dba\": \"Test Customer CA\",\n        \"address\": {\n            \"line1\": \"1234 HWY A\",\n            \"line2\": \"Room 2222\",\n            \"city\": \"Los Angeles\",\n            \"state\": \"CA\",\n            \"postal_code\": \"90095\",\n            \"country\": \"us\"\n        },\n        \"contact\": {\n            \"name\": \"Jane Smith\",\n            \"phone\": \"555-123-1234\",\n            \"fax\": null,\n            \"email\": \"jane.smith@exemptax.com\"\n        },\n        \"default_exemption_reason\": \"C\",\n        \"default_exemption_reason_name\": \"Tribal government\",\n        \"shipping_states\": {\n            \"AL\": \"B\"            \n        },\n        \"tags\": {\n            \"1\": \"Wholesale\"\n        },\n        \"custom_notes\": null,\n        \"custom_fields\": {\n            \"purchase_order_number\": \"PO-10482\",\n            \"customer_account_number\": \"ACCT-78231\",\n            \"billing_contact_email\": \"billing@example.com\",\n            \"erp_customer_number\": \"ERP-00428\",\n            \"account_manager\": \"Jane Doe\"\n        },\n        \"update_user\": {\n            \"id\": 1003,\n            \"email\": \"api@exemptax.com\",\n            \"first_name\": \"API\",\n            \"last_name\": \" KEY\"\n        },\n        \"update_timestamp\": \"2019-11-02T19:20:13Z\"\n    }\n}"}],"_postman_id":"31fd3ae9-7435-4115-ae42-e5207e40acd3"},{"name":"Update Customer - Account Number","id":"2b58c34f-def4-4176-bc64-6cb3b4a1c8a7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"active","value":"1","type":"text","description":"<p>Boolean</p>\n"},{"key":"name","value":"Test Customer 1","type":"text","description":"<p>Name of Customer (must be unique, max 41 chars)</p>\n"},{"key":"account_number","value":"abc12345","type":"text","description":"<p>Account Number (must be unique, max 41 chars)</p>\n"},{"key":"alternative_id","value":"","description":"<p>Additional Customer ID(s) (optional string - 255 chars - does not need to be included in request) </p>\n","type":"text"},{"key":"dba","value":"Test Customer CA","type":"text","description":"<p>Doing Business As name (max 41 chars)</p>\n"},{"key":"address[line1]","value":"1234 HWY A","type":"text","description":"<p>Address Line 1 (max 255 chars)</p>\n"},{"key":"address[line2]","value":"Room 2222","type":"text","description":"<p>Address Line 2 (max 255 chars)</p>\n"},{"key":"address[city]","value":"Los Angeles","type":"text","description":"<p>Address City (max 255 chars)</p>\n"},{"key":"address[state]","value":"CA","type":"text","description":"<p>Address State (2 letter ISO state code)</p>\n"},{"key":"address[postal_code]","value":"90095","type":"text","description":"<p>Address Postal Code (max 255 chars)</p>\n"},{"key":"address[country]","value":"us","type":"text","description":"<p>Address Country (2 letter ISO country code)</p>\n"},{"key":"contact[name]","value":"Jane Smith","type":"text","description":"<p>Contact Name (max 255 chars)</p>\n"},{"key":"contact[phone]","value":"555-123-1234","type":"text","description":"<p>Contact Phone (max 255 chars)</p>\n"},{"key":"contact[fax]","value":"","type":"text","description":"<p>Contact Fax (max 255 chars)</p>\n"},{"key":"contact[email]","value":"jane.smith@exemptax.com","type":"text","description":"<p>Contact Email (must be valid email address, max 255 chars)</p>\n"},{"key":"default_exemption_reason","value":"C","type":"text","description":"<p>Exemption Reason Code (optional - see misc for list of exemption reasons). If an exemption reason code is not provided, the customer will default to your company level default exemption reason per your account settings. </p>\n"},{"key":"shipping_states[AL]","value":"B","type":"text","description":"<p>Shipping State Array (optional for both values - 2 letter state code key, exemption reason value). If an exemption reason value is not provided, EXEMPTAX will first default to the customer level exemption reason for a particular state. If this value is also omitted, the value will then be inherited from the default exemption reason in your company settings if not included in the request.</p>\n"},{"key":"shipping_states[CA]","value":"0","type":"text","description":"<p>If you have accidentally added a shipping state and wish to remove the state, please pass a 0 in the request.</p>\n"},{"key":"tag_id[0]","value":"1","description":"<p>Optional on both the request and variable level | array | distinct | ids should exists at tag - please see tags section of documentation for more details and options pertaining to tags.</p>\n","type":"text"},{"key":"custom_notes","value":"","description":"<p>Notes describing customer relationship (optional string - does not need to be included in request)</p>\n","type":"text"},{"key":"custom_fields[purchase_order_number]","value":"PO-10482","description":"<p>Optional customer custom field value. Use the custom field key as the object key. Only custom fields included in the request are updated; omitted custom fields are left unchanged.</p>\n","type":"text","uuid":"1e65a78f-8f3b-46ec-81cf-f0ffb44f35cb","disabled":true},{"key":"update_type","value":"","description":"<p>Optional (“sparse“): If update_type key is not included in the request or empty, the update for customer fields must present. If “sparse“ is , set, only fields specified in the request are updated, and missing elements are left untouched.</p>\n","type":"text","disabled":true}]},"url":"https://api.exemptax.com/v1/customers/account_number/:account_number","description":"<p>Utililize this endpoint to update Customer Record information using the unique ID which corresponds to the account number field in EXEMPTAX and your respective Accounting/ERP system.</p>\n","urlObject":{"protocol":"https","path":["v1","customers","account_number",":account_number"],"host":["api","exemptax","com"],"query":[],"variable":[{"description":{"content":"<p>Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system.</p>\n","type":"text/plain"},"type":"any","value":"abc12345","key":"account_number"}]}},"response":[{"id":"f93c6ea7-0092-47fe-ae57-739cda65951e","name":"Update Customer - Account Number","originalRequest":{"method":"PUT","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"active","value":"1","type":"text","description":"Boolean"},{"key":"name","value":"Test Customer 1","type":"text","description":"Name of Customer (must be unique, max 41 chars)"},{"key":"account_number","value":"abc12345","type":"text","description":"Account Number (must be unique, max 41 chars)"},{"key":"dba","value":"Test Customer CA","type":"text","description":"Doing Business As name (max 41 chars)"},{"key":"address[line1]","value":"1234 HWY A","type":"text","description":"Address Line 1 (max 255 chars)"},{"key":"address[line2]","value":"Room 2222","type":"text","description":"Address Line 2 (max 255 chars)"},{"key":"address[city]","value":"Los Angeles","type":"text","description":"Address City (max 255 chars)"},{"key":"address[state]","value":"CA","type":"text","description":"Address State (2 letter ISO state code)"},{"key":"address[postal_code]","value":"90095","type":"text","description":"Address Postal Code (max 255 chars)"},{"key":"address[country]","value":"us","type":"text","description":"Address Country (2 letter ISO country code)"},{"key":"contact[name]","value":"Jane Smith","type":"text","description":"Contact Name (max 255 chars)"},{"key":"contact[phone]","value":"555-123-1234","type":"text","description":"Contact Phone (max 255 chars)"},{"key":"contact[fax]","value":"","type":"text","description":"Contact Fax (max 255 chars)"},{"key":"contact[email]","value":"jane.smith@exemptax.com","type":"text","description":"Contact Email (must be valid email address, max 255 chars)"},{"key":"default_exemption_reason","value":"C","type":"text","description":"Exemption Reason Code (optional - see misc for list of exemption reasons). If an exemption reason code is not provided, the customer will default to your company level default exemption reason per your account settings. "},{"key":"shipping_states[AL]","value":"B","type":"text","description":"Shipping State Array (optional for both values - 2 letter state code key, exemption reason value). If an exemption reason value is not provided, EXEMPTAX will first default to the customer level exemption reason for a particular state. If this value is also omitted, the value will then be inherited from the default exemption reason in your company settings if not included in the request."},{"key":"shipping_states[CA]","value":"0","type":"text","description":"If you have accidentally added a shipping state and wish to remove the state, please pass a 0 in the request."}],"options":{"raw":{"language":"text"}}},"url":{"raw":"https://api.exemptax.com/v1/customers/account_number/:account_number","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers","account_number",":account_number"],"variable":[{"key":"account_number","value":"abc12345","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"customer\": {\n        \"id\": 4320,\n        \"active\": true,\n        \"name\": \"Test Customer 1\",\n        \"account_number\": \"abc12345\",\n        \"alternative_id\": null,\n        \"dba\": \"Test Customer CA\",\n        \"address\": {\n            \"line1\": \"1234 HWY A\",\n            \"line2\": \"Room 2222\",\n            \"city\": \"Los Angeles\",\n            \"state\": \"CA\",\n            \"postal_code\": \"90095\",\n            \"country\": \"us\"\n        },\n        \"contact\": {\n            \"name\": \"Jane Smith\",\n            \"phone\": \"555-123-1234\",\n            \"fax\": null,\n            \"email\": \"jane.smith@exemptax.com\"\n        },\n        \"default_exemption_reason\": \"C\",\n        \"default_exemption_reason_name\": \"Tribal government\",\n        \"shipping_states\": {\n            \"AL\": \"B\"            \n        },\n        \"tags\": {\n            \"1\": \"Wholesale\"\n        },\n        \"custom_notes\": null,\n        \"custom_fields\": {\n            \"purchase_order_number\": \"PO-10482\",\n            \"customer_account_number\": \"ACCT-78231\",\n            \"billing_contact_email\": \"billing@example.com\",\n            \"erp_customer_number\": \"ERP-00428\",\n            \"account_manager\": \"Jane Doe\"\n        },\n        \"update_user\": {\n            \"id\": 1003,\n            \"email\": \"api@exemptax.com\",\n            \"first_name\": \"API\",\n            \"last_name\": \" KEY\"\n        },\n        \"update_timestamp\": \"2019-11-02T19:20:13Z\"\n    }\n}"}],"_postman_id":"2b58c34f-def4-4176-bc64-6cb3b4a1c8a7"},{"name":"Post Customer Order","id":"770a0cb7-1aca-4dea-a65f-596a23c33055","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"states[]","value":"AL","type":"text","description":"<p>Order States Array (2 letter state code), The states in which the order has taken place.</p>\n"},{"key":"order_id","value":"12345-ABCD","description":"<p>Optional, will be added to certificate notes for reference.</p>\n","type":"text"}]},"url":"https://api.exemptax.com/v1/customers/:customer_id/order","description":"<p>Tax exemption documents from Streamlined Sales Tax (SST) states, may require a recurring business relationship to avoid renewal of blanket exemption certificates. A recurring business relationship typically exists when a period of no more than twelve months elapses between sales transactions.</p>\n<p>You may utilize this endpoint to inform EXEMPTAX of an order with a customer in a specific state, and if a customer has a non-expired SST exemption certificate on file in one of the specified states, the form's expiration date will be extended. </p>\n<p>The response will give you an array of certificate IDs of which were updated.</p>\n","urlObject":{"protocol":"https","path":["v1","customers",":customer_id","order"],"host":["api","exemptax","com"],"query":[],"variable":[{"id":"f7bd068a-e2a2-4d1e-b070-e3e0df29a796","description":{"content":"<p>ID number of customer to update</p>\n","type":"text/plain"},"type":"string","value":"4320","key":"customer_id"}]}},"response":[{"id":"6870c99b-8629-4c07-93b6-32d00e2c06e0","name":"Post Customer Order","originalRequest":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"states[]","value":"AL","type":"text","description":"Order States Array (2 letter state code), The states in which the order has taken place."},{"key":"order_id","value":"12345-ABCD","type":"text","description":"Optional, will be added to certificate notes for reference."}],"options":{"raw":{"language":"text"}}},"url":{"raw":"https://api.exemptax.com/v1/customers/:customer_id/order","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers",":customer_id","order"],"variable":[{"key":"customer_id","value":"4320","description":"ID number of customer to update"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"certificates\": [\n        1234,\n        5678\n    ],\n    \"update_count\": 2\n}"}],"_postman_id":"770a0cb7-1aca-4dea-a65f-596a23c33055"},{"name":"Post Customer Order By Account Number","id":"af001e7e-3d30-47a4-b746-082692b0e9c4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"account_number","value":"XYZ1234","description":"<p>Required, Account Number of Customer</p>\n","type":"text"},{"key":"states[]","value":"AL","type":"text","description":"<p>Order States Array (2 letter state code), The states in which the order has taken place.</p>\n"},{"key":"order_id","value":"12345-ABCD","description":"<p>Optional, will be added to certificate notes for reference.</p>\n","type":"text"}]},"url":"https://api.exemptax.com/v1/customers/order/account_number","description":"<p>Tax exemption documents from Streamlined Sales Tax (SST) states, may require a recurring business relationship to avoid renewal of blanket exemption certificates. A recurring business relationship typically exists when a period of no more than twelve months elapses between sales transactions.</p>\n<p>You may utilize this endpoint to inform EXEMPTAX of an order with a customer in a specific state, and if a customer has a non-expired SST exemption certificate on file in one of the specified states, the form's expiration date will be extended.</p>\n<p>The response will give you an array of certificate IDs of which were updated.</p>\n<p>Note: this is the same functionality as the endpoint above, however this endpoint uses the Customer Account Number rather than the Customer ID.</p>\n","urlObject":{"protocol":"https","path":["v1","customers","order","account_number"],"host":["api","exemptax","com"],"query":[],"variable":[]}},"response":[{"id":"ad3eeb68-e669-43ab-8c3a-5b671a43e398","name":"Post Customer Order By Account Number","originalRequest":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"account_number","value":"XYZ1234","description":"Required, Account Number of Customer","type":"text"},{"key":"states[]","value":"AL","type":"text","description":"Order States Array (2 letter state code), The states in which the order has taken place."},{"key":"order_id","value":"12345-ABCD","type":"text","description":"Optional, will be added to certificate notes for reference."}],"options":{"raw":{"language":"text"}}},"url":"https://api.exemptax.com/v1/customers/order/account_number"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"certificates\": [\n        1234,\n        5678\n    ],\n    \"update_count\": 2\n}"}],"_postman_id":"af001e7e-3d30-47a4-b746-082692b0e9c4"},{"name":"Show Customer Shipping States Status - Internal Customer ID","id":"debfb16d-d7d6-4cf2-bced-72e0243320e4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/customers/:customer_id/shipping_states_status","description":"<p>The response will include an object for each shipping state a customer has assigned using the internal unique EXEMPTAX customer ID. The status value will be one of:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>No Nexus</code></td>\n<td>This Company has no nexus in this state, and therefore is not required to collect a certificate.</td>\n</tr>\n<tr>\n<td><code>Active</code></td>\n<td>There is a valid certificate on record, that is neither expired or expiring soon.</td>\n</tr>\n<tr>\n<td><code>Missing</code></td>\n<td>There is no certificate on record.</td>\n</tr>\n<tr>\n<td><code>Expired</code></td>\n<td>The certificate on record has expired.</td>\n</tr>\n<tr>\n<td><code>Expiring</code></td>\n<td>There is a valid certificate on record, but the certificate is expiring soon. The expiring period in days can be customized based on your account settings.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","customers",":customer_id","shipping_states_status"],"host":["api","exemptax","com"],"query":[],"variable":[{"description":{"content":"<p>ID number of customer to show</p>\n","type":"text/plain"},"type":"string","value":"4320","key":"customer_id"}]}},"response":[{"id":"248909b1-73a2-459d-b6b9-dea988f88c92","name":"Show Customer Shipping States Status - Internal Customer ID","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.exemptax.com/v1/customers/:customer_id/shipping_states_status","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers",":customer_id","shipping_states_status"],"variable":[{"key":"customer_id","value":"4320","description":"ID number of customer to show"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"shipping_states_status\": [\n        {\n            \"state_code\": \"AL\",\n            \"effective_exemption_reason_id\": \"B\",\n            \"effective_exemption_reason\": \"State government\",\n            \"status\": \"Missing\",\n            \"certificate_id\": null,\n            \"effective_date\": null,\n            \"expiration_date\": null\n        },\n        {\n            \"state_code\": \"CA\",\n            \"effective_exemption_reason_id\": \"D\",\n            \"effective_exemption_reason\": \"Foreign diplomat\",\n            \"status\": \"Active\",\n            \"certificate_id\": 3333,\n            \"effective_date\": \"2019-08-10\",\n            \"expiration_date\": \"2021-12-31\"\n        }\n    ]\n}"}],"_postman_id":"debfb16d-d7d6-4cf2-bced-72e0243320e4"},{"name":"Show Customer Shipping States Status - Account Number","id":"72ef18ed-619b-4ad5-92cd-014b3e65be96","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/customers/shipping_states_status/account_number/:account_number","description":"<p>The response will include an object for each shipping state a customer has assigned using the unique ID which corresponds to the account number field in EXEMPTAX and your respective Accounting/ERP system.</p>\n<p>The status value will be one of:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>No Nexus</code></td>\n<td>This Company has no nexus in this state, and therefore is not required to collect a certificate.</td>\n</tr>\n<tr>\n<td><code>Active</code></td>\n<td>There is a valid certificate on record, that is neither expired or expiring soon.</td>\n</tr>\n<tr>\n<td><code>Missing</code></td>\n<td>There is no certificate on record.</td>\n</tr>\n<tr>\n<td><code>Expired</code></td>\n<td>The certificate on record has expired.</td>\n</tr>\n<tr>\n<td><code>Expiring</code></td>\n<td>There is a valid certificate on record, but the certificate is expiring soon. The expiring period in days can be customized based on your account settings.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","customers","shipping_states_status","account_number",":account_number"],"host":["api","exemptax","com"],"query":[],"variable":[{"description":{"content":"<p>Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system.</p>\n","type":"text/plain"},"type":"any","value":"123456789","key":"account_number"}]}},"response":[{"id":"54f72e93-b6a7-496f-b459-776bdd8e8c29","name":"Show Customer Shipping States Status By Account Number","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.exemptax.com/v1/customers/shipping_states_status/account_number/:account_number","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers","shipping_states_status","account_number",":account_number"],"variable":[{"key":"account_number","value":"123456789","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"shipping_states_status\": [\n        {\n            \"state_code\": \"AL\",\n            \"effective_exemption_reason_id\": \"B\",\n            \"effective_exemption_reason\": \"State government\",\n            \"status\": \"Missing\",\n            \"certificate_id\": null,\n            \"effective_date\": null,\n            \"expiration_date\": null\n        },\n        {\n            \"state_code\": \"CA\",\n            \"effective_exemption_reason_id\": \"D\",\n            \"effective_exemption_reason\": \"Foreign diplomat\",\n            \"status\": \"Active\",\n            \"certificate_id\": 3333,\n            \"effective_date\": \"2019-08-10\",\n            \"expiration_date\": \"2021-12-31\"\n        }\n    ]\n}"}],"_postman_id":"72ef18ed-619b-4ad5-92cd-014b3e65be96"},{"name":"Create Shipping States - Internal Customer ID","id":"337574a6-20aa-40f3-a024-56a19f4b7d03","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"shipping_states[AL]","value":"B","description":"<p>Shipping State Array (optional for both values - 2 letter state code key, exemption reason value). If an exemption reason value is not provided, EXEMPTAX will first default to the customer level exemption reason for a particular state. If this value is also omitted, the value will then be inherited from the default exemption reason in your company settings if not included in the request.</p>\n","type":"text","uuid":"5624492e-8a05-4cd8-9fea-961784df2abf"},{"key":"shipping_states[CA]","value":"D","description":"<p>Shipping State Array (optional  - 2 letter state code key, exemption reason value)</p>\n","type":"text","uuid":"9c60e7e1-d328-49e7-9042-bd76fc4e12c1"}]},"url":"https://api.exemptax.com/v1/customers/:customer_id/shipping_states","urlObject":{"protocol":"https","path":["v1","customers",":customer_id","shipping_states"],"host":["api","exemptax","com"],"query":[],"variable":[{"type":"any","value":"","key":"customer_id"}]}},"response":[{"id":"b2b3a88f-9955-4483-8a4b-ee5812650b97","name":"Create Shipping States - Internal Customer ID","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"shipping_states[AL]","value":"B","description":"Shipping State Array (optional for both values - 2 letter state code key, exemption reason value). If an exemption reason value is not provided, EXEMPTAX will first default to the customer level exemption reason for a particular state. If this value is also omitted, the value will then be inherited from the default exemption reason in your company settings if not included in the request.","type":"text","uuid":"5624492e-8a05-4cd8-9fea-961784df2abf"},{"key":"shipping_states[CA]","value":"D","description":"Shipping State Array (optional  - 2 letter state code key, exemption reason value)","type":"text","uuid":"9c60e7e1-d328-49e7-9042-bd76fc4e12c1"}]},"url":{"raw":"https://api.exemptax.com/v1/customers/:customer_id/shipping_states","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers",":customer_id","shipping_states"],"variable":[{"key":"customer_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"customer\": {\n        \"id\": 4320,\n        \"active\": true,\n        \"name\": \"Test Customer 1\",\n        \"account_number\": \"abc12345\",\n        \"alternative_id\": null,\n        \"dba\": \"Test Customer CA\",\n        \"address\": {\n            \"line1\": \"1234 HWY A\",\n            \"line2\": \"Room 2222\",\n            \"city\": \"Los Angeles\",\n            \"state\": \"CA\",\n            \"postal_code\": \"90095\",\n            \"country\": \"us\"\n        },\n        \"contact\": {\n            \"name\": \"Jane Smith\",\n            \"phone\": \"555-123-1234\",\n            \"fax\": null,\n            \"email\": \"jane.smith@exemptax.com\"\n        },\n        \"default_exemption_reason\": \"C\",\n        \"default_exemption_reason_name\": \"Tribal government\",\n        \"shipping_states\": {\n            \"AL\": \"B\",\n            \"CA\": \"D\"\n        },\n        \"tags\": {\n            \"1\": \"Wholesale\"\n        },\n        \"custom_notes\": null,\n        \"custom_fields\": {\n            \"purchase_order_number\": \"PO-10482\",\n            \"customer_account_number\": \"ACCT-78231\",\n            \"billing_contact_email\": \"billing@example.com\",\n            \"erp_customer_number\": \"ERP-00428\",\n            \"account_manager\": \"Jane Doe\"\n        },\n        \"update_user\": {\n            \"id\": 1003,\n            \"email\": \"api@exemptax.com\",\n            \"first_name\": \"API\",\n            \"last_name\": \" KEY\"\n        },\n        \"update_timestamp\": \"2019-11-02T19:20:13Z\"\n    }\n}"},{"id":"0c086702-51a5-4b2f-b352-ec6ab0a0030d","name":"Invalid Customer ID","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"shipping_states[AL]","value":"B","description":"Shipping State Array (optional for both values - 2 letter state code key, exemption reason value). If an exemption reason value is not provided, EXEMPTAX will first default to the customer level exemption reason for a particular state. If this value is also omitted, the value will then be inherited from the default exemption reason in your company settings if not included in the request.","type":"text","uuid":"5624492e-8a05-4cd8-9fea-961784df2abf"},{"key":"shipping_states[CA]","value":"D","description":"Shipping State Array (optional  - 2 letter state code key, exemption reason value)","type":"text","uuid":"9c60e7e1-d328-49e7-9042-bd76fc4e12c1"}]},"url":{"raw":"https://api.exemptax.com/v1/customers/:customer_id/shipping_states","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers",":customer_id","shipping_states"],"variable":[{"key":"customer_id","value":""}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Customer not found.\"\r\n}"}],"_postman_id":"337574a6-20aa-40f3-a024-56a19f4b7d03"},{"name":"Delete Shipping States - Internal Customer ID","id":"42b193c3-f384-4ec6-8a02-1782efe0c226","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"shipping_states[AL]","value":"","type":"text","description":"<p>Shipping State Array (required). No exemption reason needed.</p>\n"},{"key":"shipping_states[CA]","value":"","type":"text","description":"<p>Shipping State Array (required). No exemption reason needed.</p>\n"}]},"url":"https://api.exemptax.com/v1/customers/:customer_id/shipping_states","urlObject":{"protocol":"https","path":["v1","customers",":customer_id","shipping_states"],"host":["api","exemptax","com"],"query":[],"variable":[{"type":"any","value":"","key":"customer_id"}]}},"response":[{"id":"fd0f1a0f-ae86-41c1-8bc1-d8de1923e952","name":"Delete Shipping States - Internal Customer ID","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"shipping_states[AL]","value":"","type":"text","description":"Shipping State Array (required). No exemption reason needed."},{"key":"shipping_states[CA]","value":"","type":"text","description":"Shipping State Array (required). No exemption reason needed."}]},"url":{"raw":"https://api.exemptax.com/v1/customers/:customer_id/shipping_states","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers",":customer_id","shipping_states"],"variable":[{"key":"customer_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"customer\": {\n        \"id\": 4320,\n        \"active\": true,\n        \"name\": \"Test Customer 1\",\n        \"account_number\": \"abc12345\",\n        \"alternative_id\": null,\n        \"dba\": \"Test Customer CA\",\n        \"address\": {\n            \"line1\": \"1234 HWY A\",\n            \"line2\": \"Room 2222\",\n            \"city\": \"Los Angeles\",\n            \"state\": \"CA\",\n            \"postal_code\": \"90095\",\n            \"country\": \"us\"\n        },\n        \"contact\": {\n            \"name\": \"Jane Smith\",\n            \"phone\": \"555-123-1234\",\n            \"fax\": null,\n            \"email\": \"jane.smith@exemptax.com\"\n        },\n        \"default_exemption_reason\": \"C\",\n        \"default_exemption_reason_name\": \"Tribal government\",\n        \"shipping_states\": [],\n        \"tags\": {\n            \"1\": \"Wholesale\"\n        },\n        \"custom_notes\": null,\n        \"custom_fields\": {\n            \"purchase_order_number\": \"PO-10482\",\n            \"customer_account_number\": \"ACCT-78231\",\n            \"billing_contact_email\": \"billing@example.com\",\n            \"erp_customer_number\": \"ERP-00428\",\n            \"account_manager\": \"Jane Doe\"\n        },\n        \"update_user\": {\n            \"id\": 1003,\n            \"email\": \"api@exemptax.com\",\n            \"first_name\": \"API\",\n            \"last_name\": \" KEY\"\n        },\n        \"update_timestamp\": \"2019-11-02T19:20:13Z\"\n    }\n}"},{"id":"cea1537a-acfa-4deb-82cf-f998c0884a40","name":"Invalid Customer ID","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"shipping_states[AL]","value":"","type":"text","description":"Shipping State Array (required). No exemption reason needed."},{"key":"shipping_states[CA]","value":"","type":"text","description":"Shipping State Array (required). No exemption reason needed."}]},"url":{"raw":"https://api.exemptax.com/v1/customers/:customer_id/shipping_states","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers",":customer_id","shipping_states"],"variable":[{"key":"customer_id","value":""}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Customer not found.\"\n}"}],"_postman_id":"42b193c3-f384-4ec6-8a02-1782efe0c226"},{"name":"Create Shipping States - Account Number","id":"e7a6c86d-e3f7-4e65-8d99-424c15f73466","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"shipping_states[AL]","value":"B","type":"text","description":"<p>Shipping State Array (optional for both values - 2 letter state code key, exemption reason value). If an exemption reason value is not provided, EXEMPTAX will first default to the customer level exemption reason for a particular state. If this value is also omitted, the value will then be inherited from the default exemption reason in your company settings if not included in the request.</p>\n"},{"key":"shipping_states[CA]","value":"D","type":"text","description":"<p>Shipping State Array (optional  - 2 letter state code key, exemption reason value)</p>\n"}]},"url":"https://api.exemptax.com/v1/customers/account_number/:account_number/shipping_states","urlObject":{"protocol":"https","path":["v1","customers","account_number",":account_number","shipping_states"],"host":["api","exemptax","com"],"query":[],"variable":[{"type":"any","value":"","key":"account_number"}]}},"response":[{"id":"247991e0-863a-4626-80f3-1e738f59a598","name":"Create Shipping States - Account Number","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"shipping_states[AL]","value":"B","type":"text","description":"Shipping State Array (optional for both values - 2 letter state code key, exemption reason value). If an exemption reason value is not provided, EXEMPTAX will first default to the customer level exemption reason for a particular state. If this value is also omitted, the value will then be inherited from the default exemption reason in your company settings if not included in the request."},{"key":"shipping_states[CA]","value":"D","type":"text","description":"Shipping State Array (optional  - 2 letter state code key, exemption reason value)"}]},"url":{"raw":"https://api.exemptax.com/v1/customers/account_number/:account_number/shipping_states","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers","account_number",":account_number","shipping_states"],"variable":[{"key":"account_number","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"customer\": {\r\n        \"id\": 4320,\r\n        \"active\": true,\r\n        \"name\": \"Test Customer 1\",\r\n        \"account_number\": \"abc12345\",\r\n        \"alternative_id\": null,\r\n        \"dba\": \"Test Customer CA\",\r\n        \"address\": {\r\n            \"line1\": \"1234 HWY A\",\r\n            \"line2\": \"Room 2222\",\r\n            \"city\": \"Los Angeles\",\r\n            \"state\": \"CA\",\r\n            \"postal_code\": \"90095\",\r\n            \"country\": \"us\"\r\n        },\r\n        \"contact\": {\r\n            \"name\": \"Jane Smith\",\r\n            \"phone\": \"555-123-1234\",\r\n            \"fax\": null,\r\n            \"email\": \"jane.smith@exemptax.com\"\r\n        },\r\n        \"default_exemption_reason\": \"C\",\r\n        \"default_exemption_reason_name\": \"Tribal government\",\r\n        \"shipping_states\": {\r\n            \"AL\": \"B\",\r\n            \"CA\": \"D\"\r\n        },\r\n        \"tags\": {\r\n            \"1\": \"Wholesale\"\r\n        },\r\n        \"custom_notes\": null,\r\n        \"custom_fields\": {\r\n            \"purchase_order_number\": \"PO-10482\",\r\n            \"customer_account_number\": \"ACCT-78231\",\r\n            \"billing_contact_email\": \"billing@example.com\",\r\n            \"erp_customer_number\": \"ERP-00428\",\r\n            \"account_manager\": \"Jane Doe\"\r\n        },\r\n        \"update_user\": {\r\n            \"id\": 1003,\r\n            \"email\": \"api@exemptax.com\",\r\n            \"first_name\": \"API\",\r\n            \"last_name\": \" KEY\"\r\n        },\r\n        \"update_timestamp\": \"2019-11-02T19:20:13Z\"\r\n    }\r\n}"},{"id":"d8660e3b-2475-40a2-83e7-bdff3d726839","name":"Invalid Account Number","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"shipping_states[AL]","value":"B","type":"text","description":"Shipping State Array (optional for both values - 2 letter state code key, exemption reason value). If an exemption reason value is not provided, EXEMPTAX will first default to the customer level exemption reason for a particular state. If this value is also omitted, the value will then be inherited from the default exemption reason in your company settings if not included in the request."},{"key":"shipping_states[CA]","value":"D","type":"text","description":"Shipping State Array (optional  - 2 letter state code key, exemption reason value)"}]},"url":{"raw":"https://api.exemptax.com/v1/customers/account_number/:account_number/shipping_states","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers","account_number",":account_number","shipping_states"],"variable":[{"key":"account_number","value":""}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Account number not found.\"\n}"}],"_postman_id":"e7a6c86d-e3f7-4e65-8d99-424c15f73466"},{"name":"Delete Shipping States - Account Number","id":"2d13f3ce-d234-44c5-a2d5-6ba0e1bafeee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"shipping_states[AL]","value":"","type":"text","description":"<p>Shipping State Array (required). No exemption reason needed.</p>\n"},{"key":"shipping_states[CA]","value":"","type":"text","description":"<p>Shipping State Array (required). No exemption reason needed.</p>\n"}]},"url":"https://api.exemptax.com/v1/customers/account_number/:account_number/shipping_states","urlObject":{"protocol":"https","path":["v1","customers","account_number",":account_number","shipping_states"],"host":["api","exemptax","com"],"query":[],"variable":[{"type":"any","value":"","key":"account_number"}]}},"response":[{"id":"215517cc-09dd-49f2-b35f-7429ea2e0d30","name":"Delete Shipping States - Account Number","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"shipping_states[AL]","value":"","type":"text","description":"Shipping State Array (required). No exemption reason needed."},{"key":"shipping_states[CA]","value":"","type":"text","description":"Shipping State Array (required). No exemption reason needed."}]},"url":{"raw":"https://api.exemptax.com/v1/customers/account_number/:account_number/shipping_states","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers","account_number",":account_number","shipping_states"],"variable":[{"key":"account_number","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"customer\": {\n        \"id\": 4320,\n        \"active\": true,\n        \"name\": \"Test Customer 1\",\n        \"account_number\": \"abc12345\",\n        \"alternative_id\": null,\n        \"dba\": \"Test Customer CA\",\n        \"address\": {\n            \"line1\": \"1234 HWY A\",\n            \"line2\": \"Room 2222\",\n            \"city\": \"Los Angeles\",\n            \"state\": \"CA\",\n            \"postal_code\": \"90095\",\n            \"country\": \"us\"\n        },\n        \"contact\": {\n            \"name\": \"Jane Smith\",\n            \"phone\": \"555-123-1234\",\n            \"fax\": null,\n            \"email\": \"jane.smith@exemptax.com\"\n        },\n        \"default_exemption_reason\": \"C\",\n        \"default_exemption_reason_name\": \"Tribal government\",\n        \"shipping_states\": [],\n        \"tags\": {\n            \"1\": \"Wholesale\"\n        },\n        \"custom_notes\": null,\n        \"custom_fields\": {\n            \"purchase_order_number\": \"PO-10482\",\n            \"customer_account_number\": \"ACCT-78231\",\n            \"billing_contact_email\": \"billing@example.com\",\n            \"erp_customer_number\": \"ERP-00428\",\n            \"account_manager\": \"Jane Doe\"\n        },\n        \"update_user\": {\n            \"id\": 1003,\n            \"email\": \"api@exemptax.com\",\n            \"first_name\": \"API\",\n            \"last_name\": \" KEY\"\n        },\n        \"update_timestamp\": \"2019-11-02T19:20:13Z\"\n    }\n}"},{"id":"7e7b56c1-b858-47fe-b1d6-f1c4f3b3b190","name":"Invalid Account Number","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"shipping_states[AL]","value":"","type":"text","description":"Shipping State Array (required). No exemption reason needed."},{"key":"shipping_states[CA]","value":"","type":"text","description":"Shipping State Array (required). No exemption reason needed."}]},"url":{"raw":"https://api.exemptax.com/v1/customers/account_number/:account_number/shipping_states","protocol":"https","host":["api","exemptax","com"],"path":["v1","customers","account_number",":account_number","shipping_states"],"variable":[{"key":"account_number","value":""}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"message\": \"Account number not found.\"\n}"}],"_postman_id":"2d13f3ce-d234-44c5-a2d5-6ba0e1bafeee"}],"id":"f6495a08-8718-4f9f-bbb2-5da3b4bf7f61","description":"<p>The customers endpoints allow you to view and modify customer records.</p>\n<p>The customer name and account_number must be unique across the entire company. Additionally (and in order to integrate into different ERP systems), the customer name and account_number are limited to alphanumeric characters and the following special characters:</p>\n<p>,.?@&amp;!#'~* _;+-</p>\n<p>In order to activate/deactivate a customer, you can update the <code>active</code> value in the customer record to either <code>true</code> (Active) or <code>false</code> (Inactive). When a customer is inactive, the tool will disregard this customer when analyzing any exposure.</p>\n","event":[{"listen":"prerequest","script":{"id":"155c182c-a6ae-4231-9882-54c58aea53ea","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"acf4756f-97f8-45f0-bb2d-b2941afb0478","type":"text/javascript","exec":[""]}}],"_postman_id":"f6495a08-8718-4f9f-bbb2-5da3b4bf7f61"},{"name":"Campaigns","item":[{"name":"Create Campaign - Internal Customer ID","id":"8b4840c8-1385-46ff-81a5-75cec7709c9b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"<p>Name of Campaign (required, string, max 255 chars)</p>\n","type":"text"},{"key":"campaign_requests[0][customer_id]","value":"12","description":"<p>ID of customer to send request (required) </p>\n","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"<p>Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code. </p>\n","type":"text"},{"key":"campaign_requests[1][customer_id]","value":"13","description":"<p>ID of customer to send request (required) </p>\n","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"<p>Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code. </p>\n","type":"text"},{"key":"delivery_type","value":"email","description":"<p>Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)</p>\n","type":"text"},{"key":"template_id","value":"1","description":"<p>ID of template to use (optional). If a value is not provided, the system will utilize the default Campaign Request (System Default) template.</p>\n","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns","description":"<p>Utilize this end point to send out exemption certificate request campaigns to your tax-exempt customers by referencing them via the internal unique EXEMPTAX customer ID.</p>\n","urlObject":{"protocol":"https","path":["v1","campaigns"],"host":["api","exemptax","com"],"query":[],"variable":[]}},"response":[{"id":"65240825-8950-4f9d-9782-072ad9f260f5","name":"Create Campaign","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"Name of Campaign (required, string, max 255 chars)","type":"text"},{"key":"campaign_requests[0][customer_id]","value":"12","description":"ID of customer to send request (required) ","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"campaign_requests[1][customer_id]","value":"13","description":"ID of customer to send request (required) ","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"delivery_type","value":"email","description":"Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)","type":"text"},{"key":"template_id","value":"1","description":"ID of template to use (optional). If a value is not provided, the system will utilize the default Campaign Request (System Default) template.","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"\"Campaign created.\""},{"id":"aa46a79a-5520-4b13-9a3e-df8aff83a9ab","name":"Create Campaign Link","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"Name of Campaign (required, string, max 255 chars)","type":"text"},{"key":"campaign_requests[0][customer_id]","value":"12","description":"ID of customer to send request (required) ","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"campaign_requests[1][customer_id]","value":"13","description":"ID of customer to send request (required) ","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"delivery_type","value":"link","description":"Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"customer_id\": 12,\n        \"link\": \"https://app.exemptax.com/partner-drop/de5b9b72-3c72-4591-9681-d407660fecb3\"\n    },\n    {\n        \"customer_id\": 13,\n        \"link\": \"https://app.exemptax.com/partner-drop/0a6fad18-22d5-41a9-8085-d44ac217ded6\"\n    }\n]"},{"id":"ea2bd15a-4439-45d9-bd9c-450a0d09b1d0","name":"Template Not Found","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"Name of Campaign (required, string, max 255 chars)","type":"text"},{"key":"campaign_requests[0][customer_id]","value":"12","description":"ID of customer to send request (required) ","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"campaign_requests[1][customer_id]","value":"13","description":"ID of customer to send request (required) ","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"delivery_type","value":"email","description":"Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)","type":"text"},{"key":"template_id","value":"2","description":"ID of template to use (optional). If a value is not provided, the system will utilize the default Campaign Request (System Default) template.","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"\"Custom template not found. Please try again.\""},{"id":"a0517d08-bfbc-4b0f-8fea-2caba394234f","name":"Template Not Allowed","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"Name of Campaign (required, string, max 255 chars)","type":"text"},{"key":"campaign_requests[0][customer_id]","value":"12","description":"ID of customer to send request (required) ","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"campaign_requests[1][customer_id]","value":"13","description":"ID of customer to send request (required) ","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"delivery_type","value":"email","description":"Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)","type":"text"},{"key":"template_id","value":"3","description":"ID of template to use (optional). If a value is not provided, the system will utilize the default Campaign Request (System Default) template.","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"\"Template choice is only allowed on email. Please try again.\""},{"id":"40de96f4-50d3-4fda-9896-9860ad4cb517","name":"Limit","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"Name of Campaign (required, string, max 255 chars)","type":"text"},{"key":"campaign_requests[0][customer_id]","value":"12","description":"ID of customer to send request (required) ","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code. ","type":"text"},{"key":"campaign_requests[1][customer_id]","value":"13","description":"ID of customer to send request (required) ","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code. ","type":"text"},{"key":"delivery_type","value":"email","description":"Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)","type":"text"},{"key":"template_id","value":"1","description":"ID of template to use (optional). If a value is not provided, the system will utilize the default Campaign Request (System Default) template.","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns"},"status":"Bad Request","code":400,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"The resulting campaign would have 422950 requests, which is too large. Please limit the scope so that the number is below 5000. "},{"id":"6a310ca4-1335-4be5-9094-bc87086f1999","name":"Invalid Customer IDs","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"Name of Campaign (required, string, max 255 chars)","type":"text"},{"key":"campaign_requests[0][customer_id]","value":"12","description":"ID of customer to send request (required) ","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code. ","type":"text"},{"key":"campaign_requests[1][customer_id]","value":"13","description":"ID of customer to send request (required) ","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code. ","type":"text"},{"key":"delivery_type","value":"email","description":"Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)","type":"text"},{"key":"template_id","value":"1","description":"ID of template to use (optional). If a value is not provided, the system will utilize the default Campaign Request (System Default) template.","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"Invalid customer(s) information. Please try again."}],"_postman_id":"8b4840c8-1385-46ff-81a5-75cec7709c9b"},{"name":"Create Campaign - Account Number","id":"d5b802e5-8857-46c3-9613-8cc73121f0d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"<p>Name of Campaign (required, string, max 255 chars)</p>\n","type":"text"},{"key":"campaign_requests[0][account_number]","value":"abc12345","description":"<p>Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required).</p>\n","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"<p>Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code. </p>\n","type":"text"},{"key":"campaign_requests[1][account_number]","value":"XYZ98765","description":"<p>Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required).</p>\n","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"<p>Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code. </p>\n","type":"text"},{"key":"delivery_type","value":"email","description":"<p>Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)</p>\n","type":"text"},{"key":"template_id","value":"1","description":"<p>ID of template to use (optional). If a value is not provided, the system will utilize the default Campaign Request (System Default) template.</p>\n","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns","description":"<p>Utilize this end point to send out exemption certificate request campaigns to your tax-exempt customers by referencing the unique account number assigned to the customer in EXEMPTAX that corresponds with the unique customer ID in your resepective Accounting/ERP system.</p>\n","urlObject":{"protocol":"https","path":["v1","campaigns"],"host":["api","exemptax","com"],"query":[],"variable":[]}},"response":[{"id":"8decae2d-2a2d-42d4-8983-fb52216d88f2","name":"Create Campaign","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"Name of Campaign (required, string, max 255 chars)","type":"text"},{"key":"campaign_requests[0][account_number]","value":"abc12345","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required).","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"campaign_requests[1[account_number]","value":"XYZ98765","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required).","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"delivery_type","value":"email","description":"Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)","type":"text"},{"key":"template_id","value":"1","description":"ID of template to use (optional). If a value is not provided, the system will utilize the default Campaign Request (System Default) template.","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"\"Campaign created.\""},{"id":"1422fe38-8217-47f4-b3e5-74b8582bacf6","name":"Create Campaign Link","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"Name of Campaign (required, string, max 255 chars)","type":"text"},{"key":"campaign_requests[0][account_number]","value":"abc12345","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required).","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"campaign_requests[1[account_number]","value":"XYZ98765","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required).","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"delivery_type","value":"link","description":"Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"customer_id\": 12,\n    \"account_number\": \"abc12345\",\n    \"link\": \"https://app.exemptax.com/partner-drop/de5b9b72-3c72-4591-9681-d407660fecb3\"\n  },\n  {\n    \"customer_id\": 13,\n    \"account_number\": \"XYZ98765\",\n    \"link\": \"https://app.exemptax.com/partner-drop/0a6fad18-22d5-41a9-8085-d44ac217ded6\"\n  }\n]"},{"id":"3a6a687a-a63d-45b8-8dbf-6a4d4327df2d","name":"Template Not Found","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"Name of Campaign (required, string, max 255 chars)","type":"text"},{"key":"campaign_requests[0][account_number]","value":"abc12345","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required).","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"campaign_requests[1[account_number]","value":"XYZ98765","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required).","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"delivery_type","value":"email","description":"Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)","type":"text"},{"key":"template_id","value":"2","description":"ID of template to use (optional). If a value is not provided, the system will utilize the default Campaign Request (System Default) template.","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"\"Custom template not found. Please try again.\""},{"id":"aa200544-b44c-4986-8ea7-a91fbe093ecd","name":"Template Not Allowed","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"Name of Campaign (required, string, max 255 chars)","type":"text"},{"key":"campaign_requests[0][account_number]","value":"abc12345","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required).","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"campaign_requests[1[account_number]","value":"XYZ98765","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required).","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code.","type":"text"},{"key":"delivery_type","value":"email","description":"Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)","type":"text"},{"key":"template_id","value":"3","description":"ID of template to use (optional). If a value is not provided, the system will utilize the default Campaign Request (System Default) template.","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"\"Template choice is only allowed on email. Please try again.\""},{"id":"db7f569f-1b46-4c82-971e-fdec70e9c275","name":"Limit","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","type":"text","description":"Name of Campaign (required, string, max 255 chars)"},{"key":"campaign_requests[0][account_number]","value":"abc12345","type":"text","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required)."},{"key":"campaign_requests[0][jurisdiction]","value":"CA","type":"text","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code. "},{"key":"campaign_requests[1[account_number]","value":"XYZ98765","type":"text","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required)."},{"key":"campaign_requests[1][jurisdiction]","value":"NY","type":"text","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code. "},{"key":"delivery_type","value":"email","type":"text","description":"Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)"},{"key":"template_id","value":"1","type":"text","description":"ID of template to use (optional). If a value is not provided, the system will utilize the default Campaign Request (System Default) template."}]},"url":"https://api.exemptax.com/v1/campaigns"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"The resulting campaign would have 422950 requests, which is too large. Please limit the scope so that the number is below 5000. "},{"id":"02c19c32-871e-4025-bc58-b9e098912708","name":"Invalid Account Numbers","originalRequest":{"method":"POST","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[{"key":"campaign_name","value":"TEST CAMPAIGN 1","description":"Name of Campaign (required, string, max 255 chars)","type":"text"},{"key":"campaign_requests[0][account_number]","value":"abc12345","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required).","type":"text"},{"key":"campaign_requests[0][jurisdiction]","value":"CA","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code. ","type":"text"},{"key":"campaign_requests[1][account_number]","value":"XYZ98765","description":"Unique account number assigned to customer in EXEMPTAX that corresponds with the unique customer ID in your respective Accounting/ERP system (required).","type":"text"},{"key":"campaign_requests[1][jurisdiction]","value":"NY","description":"Jurisdiction of certificate request is optional. However if not provided, certificates will be requested from all unique shipping states where the customer doesn't have a valid certificate. If a jurisdiction value is provided, it must be 2 letter US state code. ","type":"text"},{"key":"delivery_type","value":"email","description":"Delivery type (required, must be \"email\", \"link\", or \"usps\". Note: USPS must be enabled on account to use this feature)","type":"text"},{"key":"template_id","value":"1","description":"ID of template to use (optional). If a value is not provided, the system will utilize the default Campaign Request (System Default) template.","type":"text"}]},"url":"https://api.exemptax.com/v1/campaigns"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"Invalid customer(s) information. Please try again."}],"_postman_id":"d5b802e5-8857-46c3-9613-8cc73121f0d9"},{"name":"List Templates","id":"71e173f9-43be-4181-9685-aeed7a65ed40","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"urlencoded","urlencoded":[]},"url":"https://api.exemptax.com/v1/campaigns","description":"<p>You may utilize the list templates endpoint to obtain a list of available email templates setup in your account. You may create and modify email templates by logging and utilizing the template builder interface inside of your EXEMPTAX account.</p>\n<p>Note unless you specify a specific template when sending out campaigns, the \"Campaign Request (System Default)\" wording will be used when requesting exemption certificates from customers.</p>\n<p>All individual personalized templates created in your account will begin with template ID 1 and sequentially increment.</p>\n","urlObject":{"protocol":"https","path":["v1","campaigns"],"host":["api","exemptax","com"],"query":[],"variable":[]}},"response":[{"id":"5a27ab8a-1205-4d96-a77f-cc98fe9cd928","name":"List Templates","originalRequest":{"method":"GET","header":[{"key":"Idempotency-Key","value":"abcde","disabled":true}],"body":{"mode":"urlencoded","urlencoded":[]},"url":"https://api.exemptax.com/v1/campaigns"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"templates\": [\r\n        {\r\n            \"id\": -3,\r\n            \"description\": \"Expired Certificate Template (System Default)\",\r\n            \"subject\": \"Exemption Certificate Request - {{$customerName}}\"\r\n        },\r\n        {\r\n            \"id\": -2,\r\n            \"description\": \"Expiring Certificate Template (System Default)\",\r\n            \"subject\": \"Exemption Certificate Request - {{$customerName}}\"\r\n        },\r\n        {\r\n            \"id\": -1,\r\n            \"description\": \"Campaign Request (System Default)\",\r\n            \"subject\": \"Exemption Certificate Request - {{$customerName}}\"\r\n        },\r\n        {\r\n            \"id\": 0,\r\n            \"description\": \"Campaign Request (System Default Archive)\",\r\n            \"subject\": \"Exemption Certificate Request - {{$customerName}}\"\r\n        },\r\n        {\r\n            \"id\": 1,\r\n            \"description\": \"My Custom Template\",\r\n            \"subject\": \"Exemption Certificate Request - {{$customerName}}\"\r\n        }\r\n    ],\r\n    \"queryCount\": 5\r\n}"}],"_postman_id":"71e173f9-43be-4181-9685-aeed7a65ed40"}],"id":"e5716732-d885-45b9-afcb-6b337c5cdace","description":"<p>Endpoints related to sending out campaigns in order to request tax-exemption certificates from customers at scale.</p>\n","_postman_id":"e5716732-d885-45b9-afcb-6b337c5cdace"},{"name":"Tags","item":[{"name":"List Tags","id":"cd82e242-8591-486c-9252-18edc8ff5665","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"formdata","formdata":[]},"url":"https://api.exemptax.com/v1/tags","urlObject":{"protocol":"https","path":["v1","tags"],"host":["api","exemptax","com"],"query":[],"variable":[]}},"response":[{"id":"336b2eae-ea66-4994-b2be-0b9b51d7dac4","name":"List Tags","originalRequest":{"method":"GET","header":[],"body":{"mode":"formdata","formdata":[]},"url":"https://api.exemptax.com/v1/tags"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"tags\": [\r\n        {\r\n            \"id\": 1,\r\n            \"name\": \"test1\",\r\n            \"integration\": 0,\r\n            \"update_timestamp\": \"2023-07-13T23:49:00Z\",\r\n            \"update_username\": \"EXEMPTAX1 Testing2\",\r\n            \"create_timestamp\": \"2023-07-13T23:48:48Z\",\r\n            \"create_username\": \"EXEMPTAX1 Testing2\"\r\n        },\r\n        {\r\n            \"id\": 2,\r\n            \"name\": \"test2\",\r\n            \"integration\": 0,\r\n            \"update_timestamp\": \"2023-07-13T23:49:06Z\",\r\n            \"update_username\": \"EXEMPTAX1 Testing2\",\r\n            \"create_timestamp\": \"2023-07-13T23:49:06Z\",\r\n            \"create_username\": \"EXEMPTAX1 Testing2\"\r\n        }\r\n    ]\r\n}"}],"_postman_id":"cd82e242-8591-486c-9252-18edc8ff5665"},{"name":"Show Tag","id":"5304c609-b6ae-48b3-a7ce-8c321d1c5147","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.exemptax.com/v1/tags/:tag_id","urlObject":{"protocol":"https","path":["v1","tags",":tag_id"],"host":["api","exemptax","com"],"query":[],"variable":[{"description":{"content":"<p>Required</p>\n","type":"text/plain"},"type":"any","value":"1","key":"tag_id"}]}},"response":[{"id":"8d7d1c0c-5b01-41bc-a6ba-977e4f37345e","name":"Show Tag","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.exemptax.com/v1/tags/:tag_id","protocol":"https","host":["api","exemptax","com"],"path":["v1","tags",":tag_id"],"variable":[{"key":"tag_id","value":"1","description":"Required"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"tag\": {\r\n        \"id\": 1,\r\n        \"name\": \"test1\",\r\n        \"integration\": 0,\r\n        \"update_timestamp\": \"2023-07-13T23:49:00Z\",\r\n        \"update_username\": \"EXEMPTAX1 Testing2\",\r\n        \"create_timestamp\": \"2023-07-13T23:48:48Z\",\r\n        \"create_username\": \"EXEMPTAX1 Testing2\"\r\n    }\r\n}"}],"_postman_id":"5304c609-b6ae-48b3-a7ce-8c321d1c5147"},{"name":"Get Customer Tag Count","id":"c1100377-6c60-4e3d-a6d8-4439bb3d733a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/tags/:tag_id/count","description":"<p>This request will return the number of customers that are linked to a particular tag.</p>\n","urlObject":{"protocol":"https","path":["v1","tags",":tag_id","count"],"host":["api","exemptax","com"],"query":[],"variable":[{"description":{"content":"<p>Required</p>\n","type":"text/plain"},"type":"any","value":"1","key":"tag_id"}]}},"response":[{"id":"c61ab656-03e7-4934-aeae-451ad20c75d1","name":"Get Customer Tag Count","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.exemptax.com/v1/tags/:tag_id/count","protocol":"https","host":["api","exemptax","com"],"path":["v1","tags",":tag_id","count"],"variable":[{"key":"tag_id","value":"1","description":"Required"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"count\": 999\r\n}"}],"_postman_id":"c1100377-6c60-4e3d-a6d8-4439bb3d733a"},{"name":"Create Tag","id":"876ff23e-99f6-4e4b-86b7-5e95c8609aa2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"url":"https://api.exemptax.com/v1/tags?name=test1","urlObject":{"protocol":"https","path":["v1","tags"],"host":["api","exemptax","com"],"query":[{"description":{"content":"<p>Required</p>\n","type":"text/plain"},"key":"name","value":"test1"}],"variable":[]}},"response":[{"id":"31b3026a-1abf-4066-a894-10239d4b81be","name":"Create Tag","originalRequest":{"method":"POST","header":[],"url":{"raw":"https://api.exemptax.com/v1/tags?name=test1","protocol":"https","host":["api","exemptax","com"],"path":["v1","tags"],"query":[{"key":"name","value":"test1","description":"Required"}]}},"status":"Created","code":201,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"tag\": {\r\n        \"id\": 1,\r\n        \"name\": \"test1\",\r\n        \"integration\": 0,\r\n        \"update_timestamp\": \"2024-01-11T06:10:49Z\",\r\n        \"update_username\": \"API  KEY\",\r\n        \"create_timestamp\": \"2024-01-11T06:10:49Z\",\r\n        \"create_username\": \"API  KEY\"\r\n    },\r\n    \"message\": \"Tag created.\"\r\n}"}],"_postman_id":"876ff23e-99f6-4e4b-86b7-5e95c8609aa2"},{"name":"Assign Tag","id":"f00d42fc-6ce4-491e-8f7b-697152322ee2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"url":"https://api.exemptax.com/v1/tags/assign?customer_id=999&tag_id[0]=1&tag_id[1]=2","urlObject":{"protocol":"https","path":["v1","tags","assign"],"host":["api","exemptax","com"],"query":[{"description":{"content":"<p>Required | id should exist</p>\n","type":"text/plain"},"key":"customer_id","value":"999"},{"description":{"content":"<p>Required | array | distinct | ids should exists at tag</p>\n","type":"text/plain"},"key":"tag_id[0]","value":"1"},{"description":{"content":"<p>Additional tags optional</p>\n","type":"text/plain"},"key":"tag_id[1]","value":"2"}],"variable":[]}},"response":[{"id":"d2fb6bcf-365e-4717-91d9-c691245d2ff5","name":"Assign Tag","originalRequest":{"method":"POST","header":[],"url":{"raw":"https://api.exemptax.com/v1/tags/assign?customer_id=999&tag_id[0]=1&tag_id[1]=2","protocol":"https","host":["api","exemptax","com"],"path":["v1","tags","assign"],"query":[{"key":"customer_id","value":"999","description":"Required | id should exist"},{"key":"tag_id[0]","value":"1","description":"Required | array | distinct | ids should exists at tag"},{"key":"tag_id[1]","value":"2","description":"Additional tags optional"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"\"Tags assigned.\""}],"_postman_id":"f00d42fc-6ce4-491e-8f7b-697152322ee2"},{"name":"Remove Tag","id":"0a6b6382-0cbb-4b7e-912e-a70380124781","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"url":"https://api.exemptax.com/v1/tags/remove?customer_id=999&tag_id[0]=1&tag_id[1]=2","urlObject":{"protocol":"https","path":["v1","tags","remove"],"host":["api","exemptax","com"],"query":[{"description":{"content":"<p>Required | id should exist</p>\n","type":"text/plain"},"key":"customer_id","value":"999"},{"description":{"content":"<p>Required | array | distinct | ids should exists at tag</p>\n","type":"text/plain"},"key":"tag_id[0]","value":"1"},{"description":{"content":"<p>Additional tags optional</p>\n","type":"text/plain"},"key":"tag_id[1]","value":"2"}],"variable":[]}},"response":[{"id":"a793a03f-61c5-411f-a17b-44b1205986a1","name":"Remove Tag","originalRequest":{"method":"POST","header":[],"url":{"raw":"https://api.exemptax.com/v1/tags/remove?customer_id=999&tag_id[0]=1&tag_id[1]=2","protocol":"https","host":["api","exemptax","com"],"path":["v1","tags","remove"],"query":[{"key":"customer_id","value":"999","description":"Required | id should exist"},{"key":"tag_id[0]","value":"1","description":"Required | array | distinct | ids should exists at tag"},{"key":"tag_id[1]","value":"2","description":"Additional tags optional"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"\"Tags removed.\""}],"_postman_id":"0a6b6382-0cbb-4b7e-912e-a70380124781"},{"name":"Update Tag","id":"394e398d-723e-48ac-94f7-2baea64b09cb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[],"url":"https://api.exemptax.com/v1/tags/:tag_id?name=test2","urlObject":{"protocol":"https","path":["v1","tags",":tag_id"],"host":["api","exemptax","com"],"query":[{"description":{"content":"<p>Required</p>\n","type":"text/plain"},"key":"name","value":"test2"}],"variable":[{"description":{"content":"<p>Required</p>\n","type":"text/plain"},"type":"any","value":"1","key":"tag_id"}]}},"response":[{"id":"270c520c-1de9-4b04-8151-36cdc5826707","name":"Update Tag","originalRequest":{"method":"PUT","header":[],"url":{"raw":"https://api.exemptax.com/v1/tags/:tag_id?name=test2","protocol":"https","host":["api","exemptax","com"],"path":["v1","tags",":tag_id"],"query":[{"key":"name","value":"test2","description":"Required"}],"variable":[{"key":"tag_id","value":"1","description":"Required"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"tag\": {\r\n        \"id\": 1,\r\n        \"name\": \"test2\",\r\n        \"integration\": 0,\r\n        \"update_timestamp\": \"2024-01-11T06:10:49Z\",\r\n        \"update_username\": \"API  KEY\",\r\n        \"create_timestamp\": \"2024-01-11T06:10:49Z\",\r\n        \"create_username\": \"API  KEY\"\r\n    },\r\n    \"message\": \"Tag updated.\"\r\n}"}],"_postman_id":"394e398d-723e-48ac-94f7-2baea64b09cb"},{"name":"Delete Tag","id":"71a55b97-c012-4f1a-917a-f38f37c1ccbe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://api.exemptax.com/v1/tags/:tag_id","urlObject":{"protocol":"https","path":["v1","tags",":tag_id"],"host":["api","exemptax","com"],"query":[],"variable":[{"description":{"content":"<p>Required</p>\n","type":"text/plain"},"type":"any","value":"1","key":"tag_id"}]}},"response":[{"id":"74cc18ab-4acf-4771-9a4d-f77d07a64625","name":"Delete Tag","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api.exemptax.com/v1/tags/:tag_id","protocol":"https","host":["api","exemptax","com"],"path":["v1","tags",":tag_id"],"variable":[{"key":"tag_id","value":"1","description":"Required"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"\"Tag deleted.\""}],"_postman_id":"71a55b97-c012-4f1a-917a-f38f37c1ccbe"}],"id":"87d9cd33-e6ba-44c2-a749-93441115b514","description":"<p>Tags help you organize and categorize customers in EXEMPTAX. Tags are labels attached to a customer, and can be used for targeting specific exemption certificate request campaigns, reporting, and segmentation for various operational uses.</p>\n","_postman_id":"87d9cd33-e6ba-44c2-a749-93441115b514"},{"name":"Ecommerce","item":[{"name":"Ecommerce Drop","id":"15dd72c2-6487-4595-81a0-128a279af88c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"https://app.exemptax.com/ecommerce-drop?integration_type=custom&company_id=299999&customer_id=100&customer_id_type=&customer_email=john@exemptax.com","urlObject":{"protocol":"https","path":["ecommerce-drop"],"host":["app","exemptax","com"],"query":[{"description":{"content":"<p>Required</p>\n","type":"text/plain"},"key":"integration_type","value":"custom"},{"description":{"content":"<p>Required: EXEMPTAX internal company id</p>\n","type":"text/plain"},"key":"company_id","value":"299999"},{"description":{"content":"<p>Required: EXEMPTAX internal customer id or external customer id from outside system</p>\n","type":"text/plain"},"key":"customer_id","value":"100"},{"description":{"content":"<p>Optional (\"internal\" or \"external\"): If customer_id_type key is not included in the request, or the value provided is \"internal\", EXEMPTAX will reference its own internal customer_id integer for the customer record.</p>\n<p>If the value provided is \"external\", you may pass your own unique customer_id that is utilized in your own external accounting, ERP or billing system to reconcile the customer account.  </p>\n","type":"text/plain"},"key":"customer_id_type","value":""},{"description":{"content":"<p>Required: If there is an email addressed associated with the Customer record. Otherwise you may pass the \"customer_email\" key and pass an empty value if there is no email associated with the record. </p>\n","type":"text/plain"},"key":"customer_email","value":"john@exemptax.com"}],"variable":[]}},"response":[],"_postman_id":"15dd72c2-6487-4595-81a0-128a279af88c"}],"id":"956e13c1-acc7-40e1-b7c8-efdb0b8fc3e3","description":"<p>Endpoints related to custom ecommerce integrations. These endpoints allow your customers to generate and submit tax exemption documents directly within your own custom web platform or your e-commerce store.</p>\n<p>Once this endpoint is called, you may display certificate functionalities inside a pop-up window, or an embedded iframe depending on your site's cosmetic preference.</p>\n<p>Please see examples below:</p>\n<p><b>Popup</b></p>\n<img src=\"https://content.pstmn.io/ecef2212-1508-4a63-a73a-cf5ca344e4df/aWZyYW1lIDMucG5n\" />\n\n<p><b>Iframe</b></p>\n<img src=\"https://content.pstmn.io/d040139c-8844-429b-9787-4d741efdfdcd/aWZyYW1lIDUucG5n\" />\n\n<p><em>Please keep in mind that your platform's navigation and cosmetic preferences may be different. Feel free to customize the aesthetics and user experience for elements outside the popup window and iframe, including availablity, instructional text and graphics, as well as path to navigation using</em> <em>your own code.</em></p>\n<p><b>Note to iframe users</b></p>\n<p>EXEMPTAX utilizes an external open source library, <a href=\"https://github.com/davidjbradshaw/iframe-resizer\">iframe-resizer</a> to enable dynamic and responsive resizing when embedding our e-commerce functionalities via an iframe.</p>\n<p>Please note that starting with version 5, iframe-resizer has adopted more restrictive licensing terms, which may include commercial licensing requirements depending on your specific use case. We recommend reviewing the library’s current licensing terms to ensure compliance.</p>\n<p>To limit friction and help keep costs low, EXEMPTAX utilizes grandfathered <a href=\"https://www.npmjs.com/package/iframe-resizer/v/4.3.6\">Version 4.3.6</a> to help enable you dynamically resize your iframe element. To customize handling and rendering for your site, please refer to the library's <a href=\"https://github.com/davidjbradshaw/iframe-resizer/blob/v4.3.6/docs/parent_page/options.md\">parent_page</a> options.</p>\n<p>Please note that if this library does not work for your specific use case, you're welcome to use your own custom code and logic to dynamically resize iframe elements within your own platform.</p>\n<p><b>Other Platforms</b></p>\n<p>Note for integrations into platforms such as Stripe and Chargebee, you'll want to update the integration type variables. Few example links showing this are referenced below:</p>\n<ul>\n<li><p>Stripe: <a href=\"https://app.exemptax.com/ecommerce-drop?integration_type=stripe&amp;company_id=595&amp;customer_id=cus_LdX9tQQfzHmj2K&amp;email=john.doe%2BStripeAZ@exemptax.com\">https://app.exemptax.com/ecommerce-drop?integration_type=stripe&amp;company_id=595&amp;customer_id=cus_LdX9tQQfzHmj2K&amp;email=john.doe+StripeAZ@exemptax.com</a><br />  <code>integration_type=</code><strong><code>stripe</code></strong><br />  <code>company_id</code> (EXEMPTAX internal company id)<br />  <code>customer_id</code> (Stripe customer id)<br />  <code>email</code> (Stripe customer email)</p>\n</li>\n<li><p>Chargebee: <a href=\"https://app.exemptax.com/ecommerce-drop?integration_type=chargebee&amp;company_id=517&amp;customer_id=Test-CO&amp;email=test-co@test.com\">https://app.exemptax.com/ecommerce-drop?integration_type=chargebee&amp;company_id=517&amp;customer_id=Test-CO&amp;email=test-co@test.com</a><br />  <code>integration_type=</code><strong><code>chargebee</code></strong><br />  <code>company_id</code> (EXEMPTAX internal company id)<br />  <code>customer_id</code> (Chargebee customer id)<br />  <code>email</code> (Chargebee customer email)</p>\n</li>\n</ul>\n<p>If you are using standardized ecommerce platforms such as Shopify and BigCommerce, separate streamlined app based integrations from EXEMPTAX with separate integration documentation should be used.</p>\n<p>Please contact our <a href=\"https://support.exemptax.com/\">support team</a> for specific inquiries regarding more custom tailored configuration options.</p>\n","_postman_id":"956e13c1-acc7-40e1-b7c8-efdb0b8fc3e3"},{"name":"Miscellaneous","item":[{"name":"Exemption Reasons","id":"8fe93f2b-bd5b-4949-97fe-c7c7ad6b195f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.exemptax.com/v1/misc/exemption_reasons","description":"<p>Exemption Reasons are used in customer records to indicate which type of exemption in each state a customer claims. The exemption reason codes (A-M) are required for certain customer endpoints.</p>\n","urlObject":{"protocol":"https","path":["v1","misc","exemption_reasons"],"host":["api","exemptax","com"],"query":[],"variable":[]}},"response":[{"id":"029754ec-0279-4487-9c04-a14b687565a3","name":"Exemption Reasons","originalRequest":{"method":"GET","header":[],"url":"https://api.exemptax.com/v1/misc/exemption_reasons"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"exemption_reasons\": {\n        \"A\": \"Federal government\",\n        \"B\": \"State or local government\",\n        \"C\": \"Tribal government\",\n        \"D\": \"Foreign diplomat\",\n        \"E\": \"Charitable organization\",\n        \"F\": \"Religious organization\",\n        \"G\": \"Resale\",\n        \"H\": \"Agricultural production\",\n        \"I\": \"Industrial production or manufacturers\",\n        \"J\": \"Direct pay permit\",\n        \"K\": \"Direct mail\",\n        \"L\": \"Other\",\n        \"M\": \"Educational Organization\"\n    }\n}"}],"_postman_id":"8fe93f2b-bd5b-4949-97fe-c7c7ad6b195f"}],"id":"93678d56-41a9-4349-89ad-6c8f083ade78","_postman_id":"93678d56-41a9-4349-89ad-6c8f083ade78","description":""}],"event":[{"listen":"prerequest","script":{"id":"e5dc9895-e0fc-4380-850c-97515ae554ed","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"1627cf6d-5d54-4b11-9ce2-5f188cd0cebc","type":"text/javascript","exec":[""]}}]}