openapi: 3.1.0 info: title: Avalara 1099 & W-9 1099 Forms FirmClientLinkages 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: FirmClientLinkages paths: /api/v2/firmclientlinkages/{id}/approve: post: tags: - FirmClientLinkages summary: Avalara ApproveFirmClientLinkage description: 'This API enables the account admin of a client account to approve linkage request by a firm. ### Security Policies * This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. ' requestBody: content: application/json: schema: type: object example: '' 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: {} /api/v2/firmclientlinkages/createandlinkclient: post: tags: - FirmClientLinkages summary: Avalara CreateAndLinkNewFirmClientAccount description: "This API is for use by Firms only.\r\n \r\nAvalara allows firms to manage returns for clients without the clients needing to use AvaTax service.\r\nFirms can create accounts of FirmClient for customers they are managing using this API.\r\n \r\nCalling this API creates an account with the specified product subscriptions, but without a new user for account.\r\nAccount is then linked to the Firm so they can managed their returns.\r\nYou should call this API when a customer does not have an AvaTax account and is to be managed only by the firm.\r\n \r\nThe created account will be created in `Active` status but there will be no user or license key associated with account.\n\n### Security Policies\n\n* This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SystemAdmin.\n" requestBody: content: application/json: schema: type: object example: accountName: BizTech Company Inc. firstName: Bob lastName: Example email: bob@example.org companyCode: DEFAULT companyAddress: line: 100 Ravine Ln region: WA country: US postalCode: '98010' 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/firmclientlinkages: post: tags: - FirmClientLinkages summary: Avalara CreateFirmClientLinkage description: 'This API enables the firm admins/firm users to request the linkage of a firm account and a client account. ### Security Policies * This API requires one of the following user roles: BatchServiceAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. ' requestBody: content: application/json: schema: type: object example: clientAccountId: 24958289 clientAccountName: client account 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: {} get: tags: - FirmClientLinkages summary: Avalara ListFirmClientLinkage description: 'This API enables the firm or account users to request the associated linkages to the account. ### Security Policies * 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, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser. ' 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/firmclientlinkages/{id}: delete: tags: - FirmClientLinkages summary: Avalara DeleteFirmClientLinkage description: 'This API marks a linkage between a firm and client as deleted. ### Security Policies * This API requires one of the following user roles: BatchServiceAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, 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: id in: path schema: type: string required: true responses: '200': description: Successful response content: application/json: {} get: tags: - FirmClientLinkages summary: Avalara GetFirmClientLinkage description: 'This API enables the firm admins/firm users to request the linkage of a firm account and a client account. ### Security Policies * 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, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser. ' 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: {} /api/v2/firmclientlinkages/{id}/reject: post: tags: - FirmClientLinkages summary: Avalara RejectFirmClientLinkage description: 'This API enables the account admin of a client account to reject linkage request by a firm. ### Security Policies * This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. ' requestBody: content: application/json: schema: type: object example: '' 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: {} /api/v2/firmclientlinkages/{id}/reset: post: tags: - FirmClientLinkages summary: Avalara ResetFirmClientLinkage description: 'This API enables the firm admin of a client account to reset a previously created linkage request by a firm. ### Security Policies * This API requires one of the following user roles: BatchServiceAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. ' requestBody: content: application/json: schema: type: object example: '' 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: {} /api/v2/firmclientlinkages/{id}/revoke: post: tags: - FirmClientLinkages summary: Avalara RevokeFirmClientLinkage description: 'This API enables the account admin of a client account to revoke a previously approved linkage request by a firm. ### Security Policies * This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. ' requestBody: content: application/json: schema: type: object example: '' 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: {} 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/