Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Avalara AvaTax Tax Content API
description: Welcome to the AvaTax API Postman Collection!
version: 1.0.0
servers:
- url: http://{{baseurl}}
security:
- basicAuth: []
tags:
- name: TaxContent
paths:
/api/v2/pointofsaledata/build:
post:
tags:
- TaxContent
summary: Avalara BuildTaxContentFile
description: 'Builds a tax content file containing information useful for a retail point-of-sale solution.
Since tax rates may change based on decisions made by a variety of tax authorities, we recommend
that users of this tax content API download new data every day. Many tax authorities may finalize
decisions on tax changes at unexpected times and may make changes in response to legal issues or
governmental priorities. Any tax content downloaded for future time periods is subject to change
if tax rates or tax laws change.
A TaxContent file contains a matrix of the taxes that would be charged when you sell any of your
Items at any of your Locations. To create items, use `CreateItems()`. To create locations, use
`CreateLocations()`. The file is built by looking up the tax profile for your location and your
item and calculating taxes for each in turn. To include a custom `TaxCode` in this tax content
file, first create the custom tax code using `CreateTaxCodes()` to create the custom tax code,
then use `CreateItems()` to create an item that uses the custom tax code.
This data file can be customized for specific partner devices and usage conditions.
The result of this API is the file you requested in the format you requested using the `responseType` field.
This API builds the file on demand, and is limited to files with no more than 7500 scenarios. To build a tax content
file for a single location at a time, please use `BuildTaxContentFileForLocation`.
NOTE: This API does not work for Tennessee tax holiday scenarios.
### Security Policies
* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
* This API depends on the following active services:*Required* (all): AvaTaxPro.'
requestBody:
content:
application/json:
schema:
type: object
example:
companyCode: DEFAULT
documentDate: '2023-08-13'
responseType: Json
taxCodes:
- P0000000
itemCodes:
- TXINCL
locationCodes:
- DEFAULT
includeJurisCodes: true
parameters:
- name: Content-Type
in: header
schema:
type: string
example: application/json
- name: X-Avalara-Client
in: header
schema:
type: string
description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/).
example: AvaTax Postman Collection
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: postApiV2PointofsaledataBuild
x-operation-id-source: derived
/api/v2/companies/{companyId}/locations/{id}/pointofsaledata:
get:
tags:
- TaxContent
summary: Avalara BuildTaxContentFileForLocation
description: 'Builds a tax content file containing information useful for a retail point-of-sale solution.
Since tax rates may change based on decisions made by a variety of tax authorities, we recommend
that users of this tax content API download new data every day. Many tax authorities may finalize
decisions on tax changes at unexpected times and may make changes in response to legal issues or
governmental priorities. Any tax content downloaded for future time periods is subject to change
if tax rates or tax laws change.
A TaxContent file contains a matrix of the taxes that would be charged when you sell any of your
Items at any of your Locations. To create items, use `CreateItems()`. To create locations, use
`CreateLocations()`. The file is built by looking up the tax profile for your location and your
item and calculating taxes for each in turn. To include a custom `TaxCode` in this tax content
file, first create the custom tax code using `CreateTaxCodes()` to create the custom tax code,
then use `CreateItems()` to create an item that uses the custom tax code.
This data file can be customized for specific partner devices and usage conditions.
The result of this API is the file you requested in the format you requested using the `responseType` field.
This API builds the file on demand, and is limited to files with no more than 7500 scenarios. To build a tax content
file for a multiple locations in a single file, please use `BuildTaxContentFile`.
NOTE: This API does not work for Tennessee tax holiday scenarios.
### Security Policies
* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
* This API depends on the following active services:*Required* (all): AvaTaxPro.'
parameters:
- name: X-Avalara-Client
in: header
schema:
type: string
description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/).
example: AvaTax Postman Collection
- name: companyId
in: path
schema:
type: string
required: true
- name: id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: getApiV2CompaniesByCompanyIdLocationsByIdPointofsaledata
x-operation-id-source: derived
/api/v2/taxratesbyzipcode/download/{date}:
get:
tags:
- TaxContent
summary: Avalara DownloadTaxRatesByZipCode
description: 'Download a CSV file containing all five digit postal codes in the United States and their sales
and use tax rates for tangible personal property.
Since tax rates may change based on decisions made by a variety of tax authorities, we recommend
that users of this tax content API download new data every day. Many tax authorities may finalize
decisions on tax changes at unexpected times and may make changes in response to legal issues or
governmental priorities. Any tax content downloaded for future time periods is subject to change
if tax rates or tax laws change.
This rates file is intended to be used as a default for tax calculation when your software cannot
call the `CreateTransaction` API call. When using this file, your software will be unable to
handle complex tax rules such as:
* Zip+4 - This tax file contains five digit zip codes only.
* Different product types - This tax file contains tangible personal property tax rates only.
* Mixed sourcing - This tax file cannot be used to resolve origin-based taxes.
* Threshold-based taxes - This tax file does not contain information about thresholds.
If you use this file to provide default tax rates, please ensure that your software calls `CreateTransaction`
to reconcile the actual transaction and determine the difference between the estimated general tax
rate and the final transaction tax.
The file provided by this API is in CSV format with the following columns:
* ZIP_CODE - The five digit zip code for this record.
* STATE_ABBREV - A valid two character US state abbreviation for this record. Zip codes may span multiple states.
* COUNTY_NAME - A valid county name for this record. Zip codes may span multiple counties.
* CITY_NAME - A valid city name for this record. Zip codes may span multiple cities.
* STATE_SALES_TAX - The state component of the sales tax rate.
* STATE_USE_TAX - The state component of the use tax rate.
* COUNTY_SALES_TAX - The county component of the sales tax rate.
* COUNTY_USE_TAX - The county component of the use tax rate.
* CITY_SALES_TAX - The city component of the sales tax rate.
* CITY_USE_TAX - The city component of the use tax rate.
* TOTAL_SALES_TAX - The total tax rate for sales tax for this postal code. This value may not equal the sum of the state/county/city due to special tax jurisdiction rules.
* TOTAL_USE_TAX - The total tax rate for use tax for this postal code. This value may not equal the sum of the state/county/city due to special tax jurisdiction rules.
* TAX_SHIPPING_ALONE - This column contains ''Y'' if shipping is taxable.
* TAX_SHIPPING_AND_HANDLING_TOGETHER - This column contains ''Y'' if shipping and handling are taxable when sent together.
For more detailed tax content, please use the `BuildTaxContentFile` API which allows usage of exact items and exact locations.
### Security Policies
* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.'
parameters:
- name: X-Avalara-Client
in: header
schema:
type: string
description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/).
example: AvaTax Postman Collection
- name: date
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: getApiV2TaxratesbyzipcodeDownloadByDate
x-operation-id-source: derived
/api/v2/taxrates/byaddress:
get:
tags:
- TaxContent
summary: Avalara TaxRatesByAddress
description: 'Usage of this API is subject to rate limits. Users who exceed the rate limit will receive HTTP
response code 429 - `Too Many Requests`.
This API assumes that you are selling general tangible personal property at a retail point-of-sale
location in the United States only.
Please be advised that this endpoint is designed for approximate tax rate estimation only and
may not yield precise results. For a more powerful and accurate tax estimation, upgrade to the
`CreateTransaction` API, which offers a variety of advanced features including, but not limited
to:
* Nexus declarations
* Taxability based on product/service type
* Sourcing rules affecting origin/destination states
* Customers who are exempt from certain taxes
* States that have dollar value thresholds for tax amounts
* Refunds for products purchased on a different date
* Detailed jurisdiction names and state assigned codes
* And more!
Please see Estimating Tax with REST v2
for information on how to upgrade to the full AvaTax CreateTransaction API.'
parameters:
- name: X-Avalara-Client
in: header
schema:
type: string
description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/).
example: AvaTax Postman Collection
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: getApiV2TaxratesByaddress
x-operation-id-source: derived
/api/v2/taxrates/bypostalcode:
get:
tags:
- TaxContent
summary: Avalara TaxRatesByPostalCode
description: 'This API is only available for a US postal codes.
Usage of this API is subject to rate limits. Users who exceed the rate limit will receive HTTP
response code 429 - `Too Many Requests`.
This API assumes that you are selling general tangible personal property at a retail point-of-sale
location in the United States only.
Please be advised that this endpoint is designed for approximate tax rate estimation only and
may not yield precise results. For a more powerful and accurate tax estimation, upgrade to the
`CreateTransaction` API, which offers a variety of advanced features including, but not limited
to:
* Nexus declarations
* Taxability based on product/service type
* Sourcing rules affecting origin/destination states
* Customers who are exempt from certain taxes
* States that have dollar value thresholds for tax amounts
* Refunds for products purchased on a different date
* Detailed jurisdiction names and state assigned codes
* And more!
Please see Estimating Tax with REST v2
for information on how to upgrade to the full AvaTax CreateTransaction API.'
parameters:
- name: X-Avalara-Client
in: header
schema:
type: string
description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/).
example: AvaTax Postman Collection
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: getApiV2TaxratesBypostalcode
x-operation-id-source: derived
components:
securitySchemes:
basicAuth:
type: http
scheme: basic