{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"0aafab90-ea03-471d-80a0-d6668e44368c","name":"EXEMPTAX API","description":"The EXEMPTAX API allows you to programmatically access and update data in your account. The API is organized around [REST](http://en.wikipedia.org/wiki/Representational_State_Transfer), accepts JSON or URL-encoded form request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.\n\nThe base URL is [<b>https://api.exemptax.com/v1</b>](https://api.exemptax.com/v1)\n\n# Versioning\n\nWhen backward-incompatible changes are made to the API, a new version is released. The current version is v1.\n\n# Overview\n\n1. You need an [API key](https://apidocs.exemptax.com/#authentication) to send requests to the API endpoints.\n    \n2. If you're new to EXEMPTAX, you'll need [sign up](https://www.exemptax.com/pricing/) for an account to get your API key. Otherwise, you can get your key from the [integrations dashboard](https://app.exemptax.com).\n    \n3. The API has an access [rate limit](https://apidocs.exemptax.com/#rate-limits) applied to it.\n    \n4. The Postman API will only respond to secured communication done over HTTPS. HTTP requests will be sent a `301` redirect to corresponding HTTPS resources.\n    \n5. Response to every request is sent in [JSON format](https://en.wikipedia.org/wiki/JSON). In case the API request results in an error, it is represented by an `\"error\": {}` key in the JSON response.\n    \n6. The request method (verb) determines the nature of action you intend to perform. A request made using the `GET` method implies that you want to fetch something, and `POST` implies you want to save something new.\n    \n7. The API calls will respond with appropriate [HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) for all requests. A `200 OK` indicates all went well, while `4XX` or `5XX` response codes indicate an error from the requesting client or our API servers respectively.\n    \n\n# Authentication\n\nAn API Key is required to be sent as part of every request to the EXEMPTAX API, in the form of an `Authorization: Bearer` request header.\n\n> If you do not have an API Key, you can easily generate one by heading over to the [EXEMPTAX Integration Tab in Company Settings](https://app.exemptax.com). \n  \n\n## API Key related error response\n\nIf an API Key is missing, malformed, or invalid, you will receive a `401 Unauthorized` response code and the following JSON response:\n\n```\n{\n  \"error\": { \n    \"status\": \"401\",\n    \"error\": \"Invalid Credentials\",\n    \"detail\": \"Please verify that your API key is correct.\"\n  }\n}\n\n ```\n\n# Errors\n\nThe 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.\n\n# Idempotent Requests\n\nThe API supports [idempotent](https://en.wikipedia.org/wiki/Idempotence) requests for safely retrying requests without unintentionally performing the same operation twice.\n\nThis 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.\n\nTo perform an idempotent request, provide an additional `Idempotency-Key` 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.\n\nIdempotency 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.\n\nAll `POST` and `PUT` requests accept idempotency keys. Sending idempotency keys in `GET` and `DELETE` requests has no effect and should be avoided, as these requests are by definition idempotent.\n\n| Header | Description |\n| --- | --- |\n| `Idempotency-Key` | A string of up to 256 characters that uniquely identifies this request. (If longer, string will be truncated) |\n\n# Request IDs\n\nEach 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.\n\n# Rate Limits\n\nAPI access rate limits are applied at a per-key basis in unit time. Access to the API using a key is limited to **200 requests per second**. In addition, every API response is accompanied by the following set of headers to identify the status of your consumption.\n\n| Header | Description |\n| --- | --- |\n| `X-RateLimit-Limit` | The maximum number of requests that the consumer is permitted to make per minute. |\n| `X-RateLimit-Remaining` | The number of requests remaining in the current rate limit window. |\n| `X-RateLimit-Reset` | The time at which the current rate limit window resets in UTC epoch seconds. |\n\nOnce you hit the rate limit, you will receive a response similar to the following JSON, with a status code of `429 Too Many Requests`.\n\n``` json\n{\n  \"error\": {\n    \"name\": \"rateLimitError\",\n    \"message\": \"Rate Limit exceeded. Please retry at 1465452702843\"\n  }\n}\n\n ```\n\n# Pagination\n\nFor all endpoints that return lists, the following query parameters may be included for pagination:\n\n- offset\n    \n- limit (the max is 200). If not included, the default will be 10.\n    \n\nUpon 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.\n\n# Sorting\n\nFor 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:\n\norderBy\\[\\]=COLUMN_NAME,`ASC|DESC`\n\n# Filtering\n\nFor 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:\n\nq\\[COLUMN_NAME\\]=search_query\n\n# Timezone Handling\n\nAll response datetime fields are returned in UTC. All request date and datetime filters are interpreted in UTC.\n\nSupported formats:\n\n- `YYYY-MM-DD`\n    \n- `YYYY-MM-DD HH:mm:ss`\n    \n- `YYYY-MM-DDTHH:mm:ssZ`\n    \n- `YYYY-MM-DDTHH:mm:ss±HH:mm`\n    \n\nIf no timezone is provided, the value is treated as UTC. When used in a query string, a positive timezone offset must URL-encode the `+` sign as `%2B`.\n\n# Support\n\nFor help or feedback regarding accessing the API you may email EXEMPTAX support at [support@exemptax.com](https://mailto:support@exemptax.com).\n\nIn the event you receive a `503` 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 `5XX` error, please let us know.\n\n# Terms of Use\n\nFor information on the terms of use and privacy, refer to the documents at [https://www.exemptax.com/terms-of-use/](https://www.exemptax.com/terms-of-use/) and [https://www.exemptax.com/privacy-policy/](https://www.exemptax.com/privacy-policy/)\n\n# Change Log\n\nThis is version 1 (v1) of the API. Any updates will be documented here.\n\n# API Reference","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"5246785","collectionId":"0aafab90-ea03-471d-80a0-d6668e44368c","publishedId":"SVfKyqnf","public":true,"publicUrl":"https://apidocs.exemptax.com","privateUrl":"https://go.postman.co/documentation/5246785-0aafab90-ea03-471d-80a0-d6668e44368c","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-single-column","customisation":null,"version":"8.11.4","publishDate":"2020-09-02T22:38:08.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":"https://exemptax.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://apidocs.exemptax.com/view/metadata/SVfKyqnf"}