openapi: 3.1.0
info:
title: Avalara 1099 & W-9 1099 Forms Registrar 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: Registrar
paths:
/api/v2/accounts/{id}:
delete:
tags:
- Registrar
summary: Avalara DeleteAccount
description: "# For Registrar Use Only\r\nThis API is for use by Avalara Registrar administrative users only.\r\n \r\nDelete an account.\r\nDeleting an account will delete all companies, all account level users and license keys attached to this account.\n\n### Security Policies\n\n* This API requires the user role SystemAdmin.\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: id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
put:
tags:
- Registrar
summary: Avalara UpdateAccount
description: "# For Registrar Use Only\r\nThis API is for use by Avalara Registrar administrative users only.\r\n \r\nReplace an existing account object with an updated account object.\n\n### Security Policies\n\n* This API requires one of the following user roles: BatchServiceAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.\n"
requestBody:
content:
application/json:
schema:
type: object
example:
id: 12345
name: Test Account
effectiveDate: '2023-08-13T00:00:00+00:00'
accountStatusId: Test
accountTypeId: Regular
isSamlEnabled: 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: id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
/api/v2/accounts:
post:
tags:
- Registrar
summary: Avalara CreateAccount
description: "# For Registrar Use Only\r\nThis API is for use by Avalara Registrar administrative users only.\r\n \r\nCreate a single new account object.\r\nWhen creating an account object you may attach subscriptions and users as part of the 'Create' call.\n\n### Security Policies\n\n* This API requires one of the following user roles: BatchServiceAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.\n"
requestBody:
content:
application/json:
schema:
type: object
example:
id: 12345
name: Test Account
effectiveDate: '2023-08-13T00:00:00+00:00'
accountStatusId: Test
accountTypeId: Regular
isSamlEnabled: 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
responses:
'200':
description: Successful response
content:
application/json: {}
/api/v2/notifications/{id}:
delete:
tags:
- Registrar
summary: Avalara DeleteNotification
description: "This API is available by invitation only.\r\n \r\nDelete the existing notification identified by this URL.\r\n \r\nA notification is a message from Avalara that may have relevance to your business. You may want\r\nto regularly review notifications and then dismiss them when you are certain that you have addressed\r\nany relevant concerns raised by this notification.\r\n \r\nAn example of a notification would be a message about new software, or a change to AvaTax that may\r\naffect you, or a potential issue with your company's tax profile.\n\n### Security Policies\n\n* This API requires one of the following user roles: BatchServiceAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.\n* This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].\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: id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
put:
tags:
- Registrar
summary: Avalara UpdateNotification
description: "This API is available by invitation only.\r\n \r\nReplaces the notification identified by this URL with a new notification.\r\n \r\nA notification is a message from Avalara that may have relevance to your business. You may want\r\nto regularly review notifications and then dismiss them when you are certain that you have addressed\r\nany relevant concerns raised by this notification.\r\n \r\nAn example of a notification would be a message about new software, or a change to AvaTax that may\r\naffect you, or a potential issue with your company's tax profile.\n\n### Security Policies\n\n* This API requires one of the following user roles: BatchServiceAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.\n* This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].\n"
requestBody:
content:
application/json:
schema:
type: object
example:
id: 123
accountId: 202011901
companyId: 34345
referenceObject: Company Return
referenceId: 692
severityLevelId: Neutral
category: Certificate Expiration
message: The certificate of your company is nearing its expiration, please consider renewing it.
needsAction: true
actionName: Certificate Renewal
actionLink: www.xyz.com
dismissed: false
expireDate: '2023-08-13T00:00:00+00:00'
createdUserId: 442323
createdDate: '2018-05-05T00:00:00'
modifiedUserId: 442323
modifiedDate: '2018-05-07T00:00:00'
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: id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
/api/v2/notifications:
post:
tags:
- Registrar
summary: Avalara CreateNotifications
description: "This API is available by invitation only.\r\n \r\nCreate a single notification.\r\n \r\nA notification is a message from Avalara that may have relevance to your business. You may want\r\nto regularly review notifications and then dismiss them when you are certain that you have addressed\r\nany relevant concerns raised by this notification.\r\n \r\nA Global notification is a message which is directed to all the accounts and is set to expire within\r\na certain time and cannot be dismissed by the user. Make accountId and companyId null to create a global notification.\r\n \r\nAn example of a notification would be a message about new software, or a change to AvaTax that may\r\naffect you, or a potential issue with your company's tax profile.\n\n### Security Policies\n\n* This API requires one of the following user roles: BatchServiceAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.\n* This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].\n"
requestBody:
content:
application/json:
schema:
type: object
example:
id: 123
accountId: 202011901
companyId: 34345
referenceObject: Company Return
referenceId: 692
severityLevelId: Neutral
category: Certificate Expiration
message: The certificate of your company is nearing its expiration, please consider renewing it.
needsAction: true
actionName: Certificate Renewal
actionLink: www.xyz.com
dismissed: false
expireDate: '2023-08-13T00:00:00+00:00'
createdUserId: 442323
createdDate: '2018-05-05T00:00:00'
modifiedUserId: 442323
modifiedDate: '2018-05-07T00:00:00'
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/accounts/{accountId}/subscriptions:
post:
tags:
- Registrar
summary: Avalara CreateSubscriptions
description: "This API is for use by Avalara Registrar administrative users only.\r\n \r\nCreate one or more new subscription objects attached to this account.\r\nA 'subscription' indicates a licensed subscription to a named Avalara service.\r\nTo request or remove subscriptions, please contact Avalara sales or your customer account manager.\n\n### Security Policies\n\n* This API requires one of the following user roles: BatchServiceAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.\n"
requestBody:
content:
application/json:
schema:
type: object
example:
id: 12345
accountId: 123456789
subscriptionTypeId: 2
subscriptionDescription: AvaTaxPro
effectiveDate: '2015-01-01'
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: accountId
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
/api/v2/accounts/{accountId}/subscriptions/{id}:
delete:
tags:
- Registrar
summary: Avalara DeleteSubscription
description: "# For Registrar Use Only\r\nThis API is for use by Avalara Registrar administrative users only.\r\n \r\nMark the existing account identified by this URL as deleted.\n\n### Security Policies\n\n* This API requires one of the following user roles: BatchServiceAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, 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: accountId
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:
- Registrar
summary: Avalara UpdateSubscription
description: "# For Registrar Use Only\r\nThis API is for use by Avalara Registrar administrative users only.\r\n \r\nReplace the existing subscription object at this URL with an updated object.\r\nA 'subscription' indicates a licensed subscription to a named Avalara service.\r\nTo request or remove subscriptions, please contact Avalara sales or your customer account manager.\r\nAll data from the existing object will be replaced with data in the object you PUT.\r\nTo set a field's value to null, you may either set its value to null or omit that field from the object you post.\n\n### Security Policies\n\n* This API requires one of the following user roles: BatchServiceAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.\n"
requestBody:
content:
application/json:
schema:
type: object
example:
id: 12345
accountId: 123456789
subscriptionTypeId: 2
subscriptionDescription: AvaTaxPro
effectiveDate: '2015-01-01'
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: accountId
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/servicetypes/servicetypes:
get:
tags:
- Registrar
summary: Avalara ListServiceTypes
description: "For Registrar Use Only\r\nThis API is for use by Avalara Registrar administrative users only.\r\n \r\nReturns the full list of Avalara-supported subscription types.\r\nThis API is intended to be useful for identifying which features you have added to your account.\r\nYou may always contact Avalara's sales department for information on available products or services.\r\nYou cannot change your subscriptions/service directly through the API.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.\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: {}
/api/v2/passwords/{userId}/reset:
post:
tags:
- Registrar
summary: Avalara ResetPassword
description: "# For Registrar Use Only\r\nThis API is for use by Avalara Registrar administrative users only.\r\n \r\nAllows a system admin to reset the password for a specific user via the API.\r\nThis API is only available for Avalara Registrar Admins, and can be used to reset the password of any\r\nuser based on internal Avalara business processes.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.\n* This API is available to Avalara system-level (registrar-level) users only.\n"
requestBody:
content:
application/json:
schema:
type: object
example:
newPassword: NewPassword789~~!
suppressResetPasswordEmail: 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: userId
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
components:
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/