openapi: 3.1.0
info:
title: Avalara 1099 & W-9 1099 Forms Contacts 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: Contacts
description: Manage company contacts
paths:
/companies/{companyId}/contacts:
get:
operationId: listContacts
summary: Avalara List Contacts for a Company
tags:
- Contacts
parameters:
- name: companyId
in: path
required: true
schema:
type: string
responses:
'200':
description: List of contacts
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SharedContact'
post:
operationId: createContact
summary: Avalara Create a Contact
tags:
- Contacts
parameters:
- name: companyId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SharedContact'
responses:
'201':
description: Contact created
/api/v2/companies/{companyId}/contacts:
post:
tags:
- Contacts
summary: Avalara CreateContacts
description: "Create one or more new contact objects.\r\nA 'contact' is a person associated with a company who is designated to handle certain responsibilities of\r\na tax collecting and filing entity.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.\n"
requestBody:
content:
application/json:
schema:
type: object
example:
id: 56789
companyId: 12345
contactCode: TestContactbdbc28ddc6a64e
firstName: Bob
lastName: McExample
title: Owner
line1: 2000 Main Street
city: Irvine
region: CA
postalCode: '92614'
country: US
email: bob@example.org
phone: 714 555-1212
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: {}
get:
tags:
- Contacts
summary: Avalara ListContactsByCompany
description: "List all contact objects assigned to this company.\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, FirmAdmin, 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
- name: companyId
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
/api/v2/companies/{companyId}/contacts/{id}:
delete:
tags:
- Contacts
summary: Avalara DeleteContact
description: 'Mark the existing contact object at this URL as deleted.
### Security Policies
* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, FirmAdmin, 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: {}
get:
tags:
- Contacts
summary: Avalara GetContact
description: "Get the contact object identified by this URL.\r\nA 'contact' is a person associated with a company who is designated to handle certain responsibilities of\r\na tax collecting and filing entity.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, 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
- 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:
- Contacts
summary: Avalara UpdateContact
description: "Replace the existing contact object at this URL with an updated object.\r\nA 'contact' is a person associated with a company who is designated to handle certain responsibilities of\r\na tax collecting and filing entity.\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: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.\n"
requestBody:
content:
application/json:
schema:
type: object
example:
id: 56789
companyId: 12345
contactCode: TestContactbdbc28ddc6a64e
firstName: Bob
lastName: McExample
title: Owner
line1: 2000 Main Street
city: Irvine
region: CA
postalCode: '92614'
country: US
email: bob@example.org
phone: 714 555-1212
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/contacts:
get:
tags:
- Contacts
summary: Avalara QueryContacts
description: "Get multiple contact objects across all companies.\r\nA 'contact' is a person associated with a company who is designated to handle certain responsibilities of\r\na tax collecting and filing entity.\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, FirmAdmin, 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: {}
components:
schemas:
SharedContact:
type: object
properties:
contactId:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
format: email
phone:
type: string
title:
type: string
isPrimary:
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/