openapi: 3.1.0
info:
title: Avalara 1099 & W-9 1099 Forms TaxRules API
description: The Avalara 1099 and W-9 API automates collection, validation, and e-filing of IRS forms including 1099 variants (1099-NEC, 1099-MISC, 1099-K, 1099-INT, 1099-DIV), 1095 forms, W-2, and 1042-S. It provides endpoints for creating, updating, managing, and filing various IRS information returns.
version: '1.0'
contact:
name: Avalara Developer Relations
url: https://developer.avalara.com/
email: developer.relations@avalara.com
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
termsOfService: https://legal.avalara.com/#siteterms
servers:
- url: https://api.avalara.com/1099/v1
description: 1099 API Production
- url: https://api.sbx.avalara.com/1099/v1
description: 1099 API Sandbox
security:
- bearerAuth: []
tags:
- name: TaxRules
description: Manage tax rules and overrides for companies
paths:
/api/v2/companies/{companyId}/taxrules:
get:
operationId: listTaxRules
summary: Avalara List Tax Rules for a Company
tags:
- TaxRules
parameters:
- $ref: '#/components/parameters/companyId'
- $ref: '#/components/parameters/filter'
- $ref: '#/components/parameters/top'
- $ref: '#/components/parameters/skip'
responses:
'200':
description: List of tax rules
post:
operationId: createTaxRules
summary: Avalara Create Tax Rules for a Company
tags:
- TaxRules
parameters:
- $ref: '#/components/parameters/companyId'
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TaxRuleModel'
responses:
'201':
description: Tax rules created
/api/v2/countryCoefficients:
put:
tags:
- TaxRules
summary: Avalara CreateCountryCoefficients
description: "Create one or more Country Coefficients for particular country.\r\n \r\nWe would like to use country coefficients during Cross-Border calculations to slightly increase or decrease\r\na calculation for a line based on the tax-subtype and Country of destination for a transaction.\r\n \r\nThis will allow AvaTax to minimize the variance caused between actual transaction taken place on ground Vs Tax\r\nCalculated by AvaTax.\r\n \r\nMake sure to use the same API to update the country coefficients that is already present in the database.\r\nThis will make existing entry for specific country as ineffective for that date. And new entry created will get applicable\r\nto the newer transactions."
requestBody:
content:
application/json:
schema:
type: object
example:
accountId: 0
coefficientDetails:
- companyCode: ''
country: ''
coefficient: 0
taxSubTypeId: ''
currencyCode: USD
unitOfBasisId: 0
isApplicable: false
startDate: '2023-08-13'
endDate: '9999-12-31'
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: {}
/api/v2/companies/{companyId}/taxrules/{id}:
delete:
tags:
- TaxRules
summary: Avalara DeleteTaxRule
description: "Mark the custom tax rule identified by this URL as deleted.\r\n \r\nA tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules\r\ncan be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate\r\ncharged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted\r\nwith the transaction.\r\n \r\nYou can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your\r\nbusiness. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use\r\ncustom tax rules to redefine the behavior for your company or item.\r\n \r\nPlease use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your\r\nauditor, legal representative, and accounting team.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.\n"
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: {}
get:
tags:
- TaxRules
summary: Avalara GetTaxRule
description: "Get the taxrule object identified by this URL.\r\n \r\nA tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules\r\ncan be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate\r\ncharged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted\r\nwith the transaction.\r\n \r\nYou can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your\r\nbusiness. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use\r\ncustom tax rules to redefine the behavior for your company or item.\r\n \r\nPlease use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your\r\nauditor, legal representative, and accounting team.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.\n"
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: {}
put:
tags:
- TaxRules
summary: Avalara UpdateTaxRule
description: "Replace the existing custom tax rule object at this URL with an updated object.\r\n \r\nA tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules\r\ncan be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate\r\ncharged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted\r\nwith the transaction.\r\n \r\nYou can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your\r\nbusiness. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use\r\ncustom tax rules to redefine the behavior for your company or item.\r\n \r\nPlease use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your\r\nauditor, legal representative, and accounting team.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.\n"
requestBody:
content:
application/json:
schema:
type: object
example:
id: 56789
companyId: 12345
taxCode: FR020800
stateFIPS: '04'
jurisName: MARICOPA
jurisCode: '013'
jurisTypeId: 0
jurisdictionTypeId: County
taxTypeId: BothSalesAndUseTax
taxTypeCode: ALL
taxRuleTypeId: ProductTaxabilityRule
isAllJuris: false
value: 0
cap: 0
threshold: 0
effectiveDate: '2023-08-13'
description: Freight
countyFIPS: '013'
country: US
region: AZ
taxTypeGroup: SalesAndUse
taxSubType: ALL
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: {}
/api/v2/{country}/CountryCoefficients:
get:
tags:
- TaxRules
summary: Avalara ListCountryCoefficients
description: "Retrieve all or any specific records of Country Coefficients based on the filters(optional) for specific country.\r\n \r\n Search for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .\r\n Paginate your results using the `$top`, `$skip`, and `$orderby` parameters."
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: country
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
/api/v2/taxrules:
get:
tags:
- TaxRules
summary: Avalara QueryTaxRules
description: "Get multiple taxrule objects across all companies.\r\n \r\nA tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules\r\ncan be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate\r\ncharged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted\r\nwith the transaction.\r\n \r\nYou can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your\r\nbusiness. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use\r\ncustom tax rules to redefine the behavior for your company or item.\r\n \r\nPlease use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your\r\nauditor, legal representative, and accounting team.\r\n \r\nSearch for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .\r\nPaginate your results using the `$top`, `$skip`, and `$orderby` parameters.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.\n"
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: {}
components:
parameters:
companyId:
name: companyId
in: path
required: true
schema:
type: integer
description: The numeric ID of the company
top:
name: $top
in: query
schema:
type: integer
default: 1000
description: Maximum number of results to return
filter:
name: $filter
in: query
schema:
type: string
description: OData filter expression for result filtering
skip:
name: $skip
in: query
schema:
type: integer
default: 0
description: Number of results to skip for pagination
schemas:
TaxRuleModel:
type: object
properties:
id:
type: integer
companyId:
type: integer
taxCodeId:
type: integer
taxCode:
type: string
stateFIPS:
type: string
jurisName:
type: string
jurisCode:
type: string
jurisTypeId:
type: string
rateTypeId:
type: string
ruleTypeId:
type: string
isAllJuris:
type: boolean
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: OAuth 2.0 bearer token
externalDocs:
description: 1099 & W-9 API Documentation
url: https://developer.avalara.com/api-reference/avalara1099/avalara1099/