AvalaraAvalaraDeveloperDeveloper
  • Productsdown arrow
      Calculations
      AvaTax
      AvaTax Brazil
      AvaTax for Communications
      AvaTax for Excise
      Avalara Tax Content
      E-invoicing
      Activation Service
      Avalara E-Invoicing and Live Reporting
      Brazil
      Brazil Customer Portal
      Tax Compliance (Brazil)
      Tax Central
      Data Staging
      Returns
      Avalara Managed Returns API
      MyLodgeTax
      Avalara Returns Excise
      VAT Reporting
      Shared service
      Shared Services
      1099 & W-9
      Avalara 1099 & W-9
      Tax registrations and business licenses
      Avalara License Guidance
      Sales Tax Registrations
      Payroll tax registrations
      Avalara license filings
      ECM
      Exemption Certificate Management
      Avalara Cross-Border
      Automated Tariff Code Classification
      Self-Serve Tariff Code Classification
      Managed and Premium Tariff Code Classification
      AvaTax Cross-Border (Estimator + Calculator)
      Avalara Trade Compliance
      Avalara Trade and Tariff Library
  • Learndown arrow
      Integrations guides
      Refactor guides
      Get certified
  • Get starteddown arrow
      AvaTax 90 days free trial
      Playground
      Become a partner
      Build with Avalara using AI
  • Developdown arrow
      APIs
      SDKs
      MCPs
      Agent to Agent (A2A)
      AI use cases
      API versioning
  • Resourcesdown arrow
      Avalara NEXT recordings
      Avalara University
      Knowledge Center
  • Support
MENU
Search Icon

No results found for

Profile
  • Sign In
Sign In
Search Icon

No results found for

  • Productsdown arrow
      Calculations
      AvaTax
      AvaTax Brazil
      AvaTax for Communications
      AvaTax for Excise
      Avalara Tax Content
      E-invoicing
      Activation Service
      Avalara E-Invoicing and Live Reporting
      Brazil
      Brazil Customer Portal
      Tax Compliance (Brazil)
      Tax Central
      Data Staging
      Returns
      Avalara Managed Returns API
      MyLodgeTax
      Avalara Returns Excise
      VAT Reporting
      Shared service
      Shared Services
      1099 & W-9
      Avalara 1099 & W-9
      Tax registrations and business licenses
      Avalara License Guidance
      Sales Tax Registrations
      Payroll tax registrations
      Avalara license filings
      ECM
      Exemption Certificate Management
      Avalara Cross-Border
      Automated Tariff Code Classification
      Self-Serve Tariff Code Classification
      Managed and Premium Tariff Code Classification
      AvaTax Cross-Border (Estimator + Calculator)
      Avalara Trade Compliance
      Avalara Trade and Tariff Library
  • Learndown arrow
      Integrations guides
      Refactor guides
      Get certified
  • Get starteddown arrow
      AvaTax 90 days free trial
      Playground
      Become a partner
      Build with Avalara using AI
  • Developdown arrow
      APIs
      SDKs
      MCPs
      Agent to Agent (A2A)
      AI use cases
      API versioning
  • Resourcesdown arrow
      Avalara NEXT recordings
      Avalara University
      Knowledge Center
  • Support
Profile
  • Sign In
Sign In
Sales (877) 282-5585
API versioning
Glossary
API versioning
Avalara domains
Deprecation and decommission
Security fixes
Specifying a version
Inputting incorrect versions
Avalara API versioning, deprecation, and decommission strategy
View as markdown
This document describes how Avalara versions our APIs and SDKs. It also provides information on when Avalara deprecates and decommissions APIs.
 
Glossary
  • APIs: Application Programming Interface (API) refers to a software layer that allows multiple software applications to communicate with each other.
  • Endpoints: The set of services associated with an endpoint.
  • Active: The set of services that are active, supported, and updated.
  • Deprecated: Development on a service has ended. Updates and support are limited to bug fixes only.
  • Decommissioned: Indicates that a service or set of services has ended and the service or set of services are no longer available.
 
API versioning

Avalara API versioning uses the following format:

n.x.y

where

n indicates a major version that can include incompatible API changes

x indicates a minor version with backward-compatible added functionality

y indicates a patch version with backward-compatible bug/security fixes

 
Avalara domains

In addition to the version, Avalara domains identify the resource, regardless of a version. As such, the domain to Avalara URLs remains consistent across versions.

For example, a domain api.avalara.com would remain for current and future version for different Avalara services:

api.avalara.com/service/resource

 
 
Deprecation and Decommission

Maintaining backward compatibility is important to Avalara and with that in mind, Avalara generally maintains backward compatibility for at least n-2 releases (where, as indicated above, n indicates the major version).

The standard policy for Avalara APIs is:

  • deprecate the n-2 version after the n version is released.
  • decommission the n-2 version 18 months after version n is released.

API releases n and n-1 will continually be active and supported.

Deprecated Release: Customers on release n-2 should migrate to the latest version once it is released.

Important: 18 months after release n is generally available (GA), release n-2 will be decommissioned and can no longer be accessed. Attempting to access a decommissioned version will result in an HTTP 400-Bad Request error. The error includes a “version-too-old” message.

Review the following table below for an example:

VersionRelease 1.0.0Release 2.0.0Release 3.0.0
Release Date07/15/20233/25/202011/30/2017
Deprecation dateActiveActive07/15/2023
Decommission DateActiveActive1/15/2025
 
Security fixes

Security changes may require a version upgrade like any other API changes. Avalara can roll out most security as hotfixes (patch version update).

For security fixes, Avalara SDKs will be updated simultaneously with the API, without providing a choice to the customer to update to the newer SDK.

 
Specifying a version

Users can specify a version in one of two locations: in the header or in the request URL. Note that the entire version (n.x.y) must be included in a request.

Specifying a version in the header

The following example shows how to specify version 1.0.0 of the Avalara API in the HTTP header:

POST /service/resource
Host: api.avalara.com
avalara-version: 1.0.0
Content-type: application/json

Specifying a version in the request URL

The same request using a query-string to express version is:

https://api.avalara.com/service/resource?api-version=1.0.0

Note: If both formats are present, the specification in the header takes precedence.

 
Inputting incorrect versions

The Avalara service takes into consideration that users may input incorrect versions, and it provides responses for these scenarios:

  • version-too-new: If a user passes along a version that's greater than the newest available version, the service will respond with an HTTP 400 (Bad Request) error and indicate in the response that the version is too new.
  • version-too-old: If the version is less than the earliest supported version, the service will respond with an HTTP 400 (Bad Request) error and indicate in the response that the version is too old.
  • version-not-valid: If a user inputs a version that isn't understood by the service, the service will respond with an HTTP 400 (Bad Request) error and indicate that the version is not valid.

In any of the above cases, the HTTP response will also include a list of supported versions.

Knowledge CenterDeveloper Support
Avalara.com|Terms of Use|Privacy Policy
© 2026 Avalara, Inc.