openapi: 3.1.0 info: title: Avalara 1099 & W-9 1099 Forms Settings 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: Settings description: Manage company settings paths: /api/v2/companies/{companyId}/settings: get: operationId: listSettings summary: Avalara List Settings for a Company tags: - Settings parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' responses: '200': description: List of settings post: tags: - Settings summary: Avalara CreateSettings description: "Create one or more new setting objects attached to this company.\r\n \r\nThe company settings system is a metadata system that you can use to store extra information\r\nabout a company. Your integration or connector could use this data storage to keep track of\r\npreference information, reminders, or any other storage that would need to persist even if\r\nthe customer uninstalls your application.\r\n \r\nA setting can refer to any type of data you need to remember about this company object.\r\nWhen creating this object, you may define your own `set`, `name`, and `value` parameters.\r\nTo define your own values, please choose a `set` name that begins with `X-` to indicate an extension.\r\n \r\nUse Set = Transactions, Name = TaxCodePrioritization/HSCodePrioritization and Value = Transaction/ItemMaster for prioritizing which TaxCodes/HsCodes should be used for calculating taxes.\r\n \r\nExample: To prioritize TaxCodes passed in a Transaction over values stored with Items when calculating tax, use\r\nSet = Transactions, Name = TaxCodePrioritization, Value = Transaction\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.\n" requestBody: content: application/json: schema: type: object example: id: 56789 companyId: 12345 set: ItemsToRemember name: Texas value: Alamo 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: {} /api/v2/companies/{companyId}/settings/{id}: delete: tags: - Settings summary: Avalara DeleteSetting description: "Mark the setting object at this URL as deleted.\r\n \r\nThe company settings system is a metadata system that you can use to store extra information\r\nabout a company. Your integration or connector could use this data storage to keep track of\r\npreference information, reminders, or any other storage that would need to persist even if\r\nthe customer uninstalls your application.\r\n \r\nA setting can refer to any type of data you need to remember about this company object.\r\nWhen creating this object, you may define your own `set`, `name`, and `value` parameters.\r\nTo define your own values, please choose a `set` name that begins with `X-` to indicate an extension.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, FirmAdmin, 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: 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: - Settings summary: Avalara GetSetting description: "Get a single setting object by its unique ID.\r\n \r\nThe company settings system is a metadata system that you can use to store extra information\r\nabout a company. Your integration or connector could use this data storage to keep track of\r\npreference information, reminders, or any other storage that would need to persist even if\r\nthe customer uninstalls your application.\r\n \r\nA setting can refer to any type of data you need to remember about this company object.\r\nWhen creating this object, you may define your own `set`, `name`, and `value` parameters.\r\nTo define your own values, please choose a `set` name that begins with `X-` to indicate an extension.\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, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, 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: - Settings summary: Avalara UpdateSetting description: "Replace the existing setting object at this URL with an updated object.\r\n \r\nThe company settings system is a metadata system that you can use to store extra information\r\nabout a company. Your integration or connector could use this data storage to keep track of\r\npreference information, reminders, or any other storage that would need to persist even if\r\nthe customer uninstalls your application.\r\n \r\nA setting can refer to any type of data you need to remember about this company object.\r\nWhen creating this object, you may define your own `set`, `name`, and `value` parameters.\r\nTo define your own values, please choose a `set` name that begins with `X-` to indicate an extension.\r\n \r\nAll data from the existing object will be replaced with data in the object you `PUT`.\r\n \r\nTo set a field's value to `null`, you may either set its value to `null` or omit that field from the object when calling update.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.\n" requestBody: content: application/json: schema: type: object example: id: 56789 companyId: 12345 set: ItemsToRemember name: Texas value: Alamo 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/settings: get: tags: - Settings summary: Avalara QuerySettings description: "Get multiple setting objects across all companies.\r\n \r\nThe company settings system is a metadata system that you can use to store extra information\r\nabout a company. Your integration or connector could use this data storage to keep track of\r\npreference information, reminders, or any other storage that would need to persist even if\r\nthe customer uninstalls your application.\r\n \r\nA setting can refer to any type of data you need to remember about this company object.\r\nWhen creating this object, you may define your own `set`, `name`, and `value` parameters.\r\nTo define your own values, please choose a `set` name that begins with `X-` to indicate an extension.\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, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, 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: filter: name: $filter in: query schema: type: string description: OData filter expression for result filtering 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 top: name: $top in: query schema: type: integer default: 1000 description: Maximum number of results to return 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/