25.8.3
Added
- Endpoint:
POST /w9/forms/$create-and-send-email- A new endpoint that creates a minimal W9/W4/W8 form and automatically sends an email request to the vendor/payee.
- Use Case: Streamlined workflow for creating and immediately requesting form completion from vendors/payees without requiring all form details upfront.
Changed
- BREAKING CHANGE:
-
Consolidated request and response models for
POST,PUT, andGETon/avalara1099/1099/forms(single model per form type).- New request/response models:
Form1099Nec,Form1099Misc,Form1099R,Form1099K,Form1099Int,Form1099Div,Form1095C,Form1095B,Form1042S
- New request/response models:
-
Consolidated request models for
POST /avalara1099/1099/bulk-upsert(single model per form type).- New request/response model:
Form1099ListRequest
- New request/response model:
-
POST /avalara1099/1099/bulk-upsert- new response model:
JobResponse - Response Structure: Simplified bulk upsert job response structure by flattening nested
jobDataobject- Moved all job attributes from
jobData.attributesto root level - Replaced
jobData.links.selfwithlinkfield - Updated
jobData.typetotype - Maintained backward compatibility for
processedFormsarray
- Moved all job attributes from
- new response model:
-
Field name changes for API consistency:
recipientTintotin(affects all form types).fedIncomeTaxWithheldtofederalIncomeTaxWithheld(affects 1099-MISC and 1099-R forms).nameDbatodbaName(affects Issuers)primaryWithholdingAgentNametoName(affects 1042-S form)primaryWithholdingAgentEintoEin(affects 1042-S form)formTypetotype(affectsPOST /avalara1099/1099/bulk-upsert)
-
GET /avalara1099/1099/jobschanged toGET /avalara1099/jobs -
BREAKING CHANGE:
PUT /avalara1099/w9/forms/{id}returns error responses following the current format of the other endpoints, as defined by theErrorResponsemodel.
Example:{ "title": "One or more validation errors occurred.", "errors": [ { "type": "ReferenceId", "detail": "'Reference Id' must not be empty." } ] } -
BREAKING CHANGE: W9 form response structure change for API consistency:
entryStatusandentryStatusDateproperties are now nested within anentryStatusobject:"entryStatus": { "status": "manual", "time": "2025-06-30T09:47:22.094921" }- This affects all W9 form responses (W9, W4, W8-BEN, W8-BEN-E, W8-IMY forms)
-
BREAKING CHANGE: Field name change for API consistency:
-
FedIncomeTaxWithheldtoFederalIncomeTaxWithheld(affects 1099-MISC and 1099-R forms). -
BREAKING CHANGE:
POST /w9forms/{id}/$send-email- Response Type Change:
- Previous: Returned
IW9FormDataModelsOneOf(union of W4FormDataModel, W8BeneFormDataModel, W8BenFormDataModel, W8ImyFormDataModel, W9FormDataModel) - New: Returns
W9FormBaseResponse(same as POST create endpoint)
- Previous: Returned
- Status Code Changes:
- 200 OK: Email sent using existing form (form was already in 'Requested' or 'Bounced' status, or an existing reminder form was found)
- 201 Created: Email sent using newly created minimal form (original form was in 'Signed', 'Manual', or 'Uploaded' status)
- Previous Behavior: Always returned 200 OK with form-specific data model and sent email regardless of current form status.
- New Behavior:
- Returns 201 Created when a new minimal form is automatically created from an existing completed form
- Returns 200 OK when sending a reminder email for an existing requested form
- Now uses consistent response format with other form creation endpoints
- Impact: This is a breaking change. API consumers must update their code to:
- Handle both 200 and 201 status codes as successful responses
- Process the new
W9FormBaseResponseformat instead of the previous form-specific data models
- Response Type Change:
-
BREAKING CHANGE: Federal and State E-file now supports custom date scheduling:
-
federalEFileboolean field replaced withfederalEfileDateDateOnly field (supported for all form types). -
stateEFileboolean field replaced withstateEfileDateDateOnly field (supported for subset of form types and jurisdictions). -
recipientEdeliveryDateDateOnly field added for scheduling recipient e-delivery (supported for all form types).
-
Fixed
- Fix error (500 HTTP Status Code) on
GET /w9/formsandGET /w9/forms/{id}when trying to retrieve W9s with pending TIN match verification.