openapi: 3.1.0 info: title: Avalara 1099 & W-9 1099 Forms W-9 Forms 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: W-9 Forms description: Collect and manage W-9 forms paths: /w9/requests: post: operationId: createW9Request summary: Avalara Create a W-9 Collection Request description: Sends a W-9 collection request to a payee, allowing them to submit their taxpayer information electronically. tags: - W-9 Forms requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/W9Request' responses: '201': description: W-9 request created content: application/json: schema: $ref: '#/components/schemas/W9RequestResponse' '400': $ref: '#/components/responses/BadRequest' get: operationId: listW9Requests summary: Avalara List W-9 Requests tags: - W-9 Forms parameters: - name: status in: query schema: type: string enum: - Pending - Completed - Expired - name: $top in: query schema: type: integer - name: $skip in: query schema: type: integer responses: '200': description: List of W-9 requests /w9/{w9Id}: get: operationId: getW9 summary: Avalara Get a Completed W-9 Form tags: - W-9 Forms parameters: - name: w9Id in: path required: true schema: type: string responses: '200': description: W-9 form details content: application/json: schema: $ref: '#/components/schemas/W9Form' components: schemas: W9RequestResponse: type: object properties: requestId: type: string status: type: string payeeEmail: type: string createdDate: type: string format: date-time expirationDate: type: string format: date-time W9Request: type: object required: - payeeEmail - payeeName properties: payeeEmail: type: string format: email payeeName: type: string companyId: type: string expirationDays: type: integer default: 30 message: type: string W9Form: type: object properties: id: type: string payeeName: type: string businessName: type: string taxClassification: type: string enum: - Individual - C_Corporation - S_Corporation - Partnership - Trust - LLC - Other tin: type: string description: Taxpayer Identification Number (masked) tinType: type: string enum: - SSN - EIN address: type: object properties: line1: type: string city: type: string state: type: string postalCode: type: string signedDate: type: string format: date status: type: string enum: - Valid - Expired - Revoked ErrorResponse: type: object properties: error: type: object properties: code: type: string message: type: string responses: BadRequest: description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 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/