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/