Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Avalara Nexus API
version: '1.0'
description: 'Operations tagged Nexus across 2 of this provider''s published API definitions: avalara-avatax-rest-openapi.yml, avatax-apis-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://rest.avatax.com
description: AvaTax Production
- url: https://sandbox-rest.avatax.com
description: AvaTax Sandbox
- url: http://{{baseurl}}
tags:
- name: Nexus
description: Manage tax nexus declarations for companies
paths:
/api/v2/companies/{companyId}/nexus:
get:
operationId: listNexusByCompany
summary: Avalara List Nexus for a Company
description: Retrieves all nexus declarations for the specified company.
tags:
- Nexus
parameters:
- $ref: '#/components/parameters/companyId'
- $ref: '#/components/parameters/filter'
- $ref: '#/components/parameters/top'
- $ref: '#/components/parameters/skip'
responses:
'200':
description: List of nexus declarations
content:
application/json:
schema:
$ref: '#/components/schemas/FetchResult_NexusModel'
security:
- basicAuth: []
- bearerAuth: []
post:
operationId: createNexus
summary: Avalara Create Nexus for a Company
tags:
- Nexus
parameters:
- $ref: '#/components/parameters/companyId'
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NexusModel'
responses:
'201':
description: Nexus created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NexusModel'
security:
- basicAuth: []
- bearerAuth: []
servers:
- url: https://rest.avatax.com
description: AvaTax Production
- url: https://sandbox-rest.avatax.com
description: AvaTax Sandbox
/api/v2/companies/{companyId}/nexus/{nexusId}/parameters:
post:
tags:
- Nexus
summary: Avalara CreateNexusParameters
description: 'Add parameters to the nexus.
Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters".
A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus.
A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name.
To see available parameters for this item, call `/api/v2/definitions/parameters?$filter=attributeType eq Nexus`
Some parameters are only available for use if you have subscribed to specific AvaTax services. To see which parameters you are able to use, add the query parameter "$showSubscribed=true" to the parameter definition call above.
### Security Policies
* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.'
requestBody:
content:
application/json:
schema:
type: object
example:
id: 0
name: IsRemoteSeller
value: '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
- name: companyId
in: path
schema:
type: string
required: true
- name: nexusId
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
security:
- basicAuth: []
operationId: postApiV2CompaniesByCompanyIdNexusByNexusIdParameters
x-operation-id-source: derived
delete:
tags:
- Nexus
summary: Avalara DeleteNexusParameters
description: 'Delete all the parameters for a given nexus.
Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters".
A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus.
A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name.
### Security Policies
* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.'
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: nexusId
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
security:
- basicAuth: []
operationId: deleteApiV2CompaniesByCompanyIdNexusByNexusIdParameters
x-operation-id-source: derived
get:
tags:
- Nexus
summary: Avalara ListNexusParameters
description: 'List parameters for a nexus.
Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters".
A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus.
A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name.
Search for specific objects using the criteria in the `$filter` parameter; full documentation is available on Filtering in REST .
Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
### Security Policies
* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.'
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: nexusId
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
security:
- basicAuth: []
operationId: getApiV2CompaniesByCompanyIdNexusByNexusIdParameters
x-operation-id-source: derived
servers:
- url: http://{{baseurl}}
/api/v2/companies/{companyId}/nexus/byaddress:
post:
tags:
- Nexus
summary: Avalara DeclareNexusByAddress
description: 'This call is intended to simplify adding all applicable nexus to a company, for an address or addresses. Calling this
API declares nexus for this company, for the list of addresses provided,
for the date range provided. You may also use this API to extend effective date on an already-declared nexus.
The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your
accountant or lawyer prior to declaring nexus.
Note that not all fields within a nexus can be updated; Avalara publishes a list of all defined nexus at the
''/api/v2/definitions/nexus'' endpoint.
You may only define nexus matching the official list of declared nexus.
Please note that nexus changes may not take effect immediately and you should plan to update your nexus settings in advance
of calculating tax for a location.
### Security Policies
* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.'
requestBody:
content:
application/json:
schema:
type: object
example:
effectiveDate: '2018-01-01T00:00:00'
endDate: '2020-12-31T00:00:00'
line1: 2000 Main Street
city: Irvine
region: CA
country: US
postalCode: '92614'
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
- name: companyId
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
security:
- basicAuth: []
operationId: postApiV2CompaniesByCompanyIdNexusByaddress
x-operation-id-source: derived
servers:
- url: http://{{baseurl}}
/api/v2/companies/{companyId}/nexus/{id}:
delete:
tags:
- Nexus
summary: Avalara DeleteNexus
description: 'Marks the existing nexus object at this URL as deleted.
The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your
accountant or lawyer prior to declaring nexus.
Please note that nexus changes may not take effect immediately and you should plan to update your nexus settings in advance
of calculating tax for a location.
### Security Policies
* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.'
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: {}
security:
- basicAuth: []
operationId: deleteApiV2CompaniesByCompanyIdNexusById
x-operation-id-source: derived
get:
tags:
- Nexus
summary: Avalara GetNexus
description: 'Get the nexus object identified by this URL.
The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your
accountant or lawyer prior to declaring nexus.
You may specify one or more of the following values in the ''$include'' parameter to fetch additional nested data, using commas to separate multiple values:
* Parameters
### Security Policies
* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.'
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: {}
security:
- basicAuth: []
operationId: getApiV2CompaniesByCompanyIdNexusById
x-operation-id-source: derived
put:
tags:
- Nexus
summary: Avalara UpdateNexus
description: 'Replace the existing nexus declaration object at this URL with an updated object.
The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your
accountant or lawyer prior to declaring nexus.
To create a nexus declaration for your company, you must first call the Definitions API `ListNexus` to obtain a
list of Avalara-defined nexus. Once you have determined which nexus you wish to declare, you should customize
only the user-selectable fields in this object.
The user selectable fields for the nexus object are `companyId`, `effectiveDate`, `endDate`, `localNexusTypeId`,
`taxId`, `nexusTypeId`, `hasPermanentEstablishment`, and `isSellerImporterOfRecord`.
When calling `CreateNexus` or `UpdateNexus`, all values in your nexus object except for the user-selectable fields
must match an Avalara-defined system nexus object. You can retrieve a list of Avalara-defined system nexus objects
by calling `ListNexus`. If any data does not match, AvaTax may not recognize your nexus declaration.
Please note that nexus changes may not take effect immediately and you should plan to update your nexus settings in advance
of calculating tax for a location.
### Security Policies
* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.'
requestBody:
content:
application/json:
schema:
type: object
example:
id: 0
companyId: 0
country: US
region: CA
jurisTypeId: STA
jurisdictionTypeId: State
jurisCode: '06'
jurisName: CALIFORNIA
shortName: CA
signatureCode: ''
stateAssignedNo: ''
nexusTypeId: SalesOrSellersUseTax
hasLocalNexus: true
hasPermanentEstablishment: true
streamlinedSalesTax: false
isSSTActive: false
createdDate: '2006-10-09T05:55:50.25'
createdUserId: 0
modifiedDate: '2018-01-24T03:43:37.31'
modifiedUserId: 0
taxTypeGroup: SalesAndUse
nexusTaxTypeGroup: SalesAndUse
isSellerImporterOfRecord: false
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
- 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: {}
security:
- basicAuth: []
operationId: putApiV2CompaniesByCompanyIdNexusById
x-operation-id-source: derived
servers:
- url: http://{{baseurl}}
/api/v2/companies/{companyId}/nexus/{nexusId}/parameters/{id}:
delete:
tags:
- Nexus
summary: Avalara DeleteNexusParameter
description: 'Delete a single nexus parameter.
Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters".
A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus.
A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name.
### Security Policies
* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.'
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: nexusId
in: path
schema:
type: string
required: true
- name: id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
security:
- basicAuth: []
operationId: deleteApiV2CompaniesByCompanyIdNexusByNexusIdParametersById
x-operation-id-source: derived
get:
tags:
- Nexus
summary: Avalara GetNexusParameter
description: 'Retrieve a single nexus parameter.
Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller.In AvaTax, these tax-affecting properties are called "parameters".
A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus.
A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name.
### Security Policies
* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.'
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: nexusId
in: path
schema:
type: string
required: true
- name: id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
security:
- basicAuth: []
operationId: getApiV2CompaniesByCompanyIdNexusByNexusIdParametersById
x-operation-id-source: derived
put:
tags:
- Nexus
summary: Avalara UpdateNexusParameter
description: 'Update an nexus parameter.
Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters".
A parameter added to a nexus will be used in tax calculation based on the locationcode and parameter value the transaction state line might have lines added.
A parameter specified on a transaction line will override an item parameter if they share the same parameter name.????? I dont know about this?
### Security Policies
* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.'
requestBody:
content:
application/json:
schema:
type: object
example:
id: 0
name: IsRemoteSeller
value: '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
- name: companyId
in: path
schema:
type: string
required: true
- name: nexusId
in: path
schema:
type: string
required: true
- name: id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
security:
- basicAuth: []
operationId: putApiV2CompaniesByCompanyIdNexusByNexusIdParametersById
x-operation-id-source: derived
servers:
- url: http://{{baseurl}}
/api/v2/companies/{companyId}/nexus/byform/{formCode}:
get:
tags:
- Nexus
summary: Avalara GetNexusByFormCode
description: 'Retrieves a list of nexus related to a tax form.
The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your
accountant or lawyer prior to declaring nexus.
This API is intended to provide useful information when examining a tax form. If you are about to begin filing
a tax form, you may want to know whether you have declared nexus in all the jurisdictions related to that tax
form in order to better understand how the form will be filled out.
You may specify one or more of the following values in the ''$include'' parameter to fetch additional nested data, using commas to separate multiple values:
* Parameters
### Security Policies
* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.'
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: formCode
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
security:
- basicAuth: []
operationId: getApiV2CompaniesByCompanyIdNexusByformByFormCode
x-operation-id-source: derived
servers:
- url: http://{{baseurl}}
/api/v2/companies/{companyId}/nexus/byTaxTypeGroup/{taxTypeGroup}:
get:
tags:
- Nexus
summary: Avalara ListNexusByCompanyAndTaxTypeGroup
description: 'List all nexus objects defined for this company filtered by TaxTypeGroup.
The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your
accountant or lawyer prior to declaring nexus.
Search for specific objects using the criteria in the `$filter` parameter; full documentation is available on Filtering in REST .
Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
You may specify one or more of the following values in the ''$include'' parameter to fetch additional nested data, using commas to separate multiple values:
* Parameters
### Security Policies
* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.'
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: taxTypeGroup
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
security:
- basicAuth: []
operationId: getApiV2CompaniesByCompanyIdNexusByTaxTypeGroupByTaxTypeGroup
x-operation-id-source: derived
servers:
- url: http://{{baseurl}}
/api/v2/nexus:
get:
tags:
- Nexus
summary: Avalara QueryNexus
description: 'Get multiple nexus objects across all companies.
The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your
accountant or lawyer prior to declaring nexus.
Search for specific objects using the criteria in the `$filter` parameter; full documentation is available on Filtering in REST .
Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
You may specify one or more of the following values in the ''$include'' parameter to fetch additional nested data, using commas to separate multiple values:
* Parameters
### Security Policies
* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.'
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: {}
security:
- basicAuth: []
operationId: getApiV2Nexus
x-operation-id-source: derived
servers:
- url: http://{{baseurl}}
components:
schemas:
FetchResult_NexusModel:
type: object
properties:
'@recordsetCount':
type: integer
value:
type: array
items:
$ref: '#/components/schemas/NexusModel'
NexusModel:
type: object
properties:
id:
type: integer
companyId:
type: integer
country:
type: string
description: Two-character ISO 3166 country code
region:
type: string
description: State or province code
jurisTypeId:
type: string
enum:
- STA
- CTY
- CIT
- STJ
- CNT
jurisdictionTypeId:
type: string
jurisCode:
type: string
jurisName:
type: string
effectiveDate:
type: string
format: date
endDate:
type: string
format: date
nexusTypeId:
type: string
enum:
- None
- SalesOrSellersUseTax
- SalesTax
- SSTVolunteer
- SSTNonVolunteer
hasLocalNexus:
type: boolean
parameters:
companyId:
name: companyId
in: path
required: true
schema:
type: integer
description: The numeric ID of the company
skip:
name: $skip
in: query
schema:
type: integer
default: 0
description: Number of results to skip for pagination
filter:
name: $filter
in: query
schema:
type: string
description: OData filter expression for result filtering
top:
name: $top
in: query
schema:
type: integer
default: 1000
description: Maximum number of results to return
securitySchemes:
basicAuth:
type: http
scheme: basic
description: Use your AvaTax username/password or accountId/licenseKey as basic auth credentials
bearerAuth:
type: http
scheme: bearer
description: OAuth 2.0 bearer token
externalDocs:
description: AvaTax REST API v2 Documentation
url: https://developer.avalara.com/api-reference/avatax/rest/v2/
x-refined-from:
- avalara-avatax-rest-openapi.yml
- avatax-apis-openapi.yml