Update
Update
Use this endpoint to make changes to an existing Form WHT-436 created for a specific payer.
You cannot update a return once it has been transmitted.
PUTStateFilings/VTWH/UpdateRequest Body
| Field | Type | Description |
|---|---|---|
| SubmissionId | Guid | Unique identifier created by TaxBandits for each submission. Not required when you are creating a return. |
| StateWHRecords | Object[] | Array of objects to create Form WHT-436. |
| SequenceId | String | A unique number given by an inbound application to identify failed records. Size Range: ..10 |
| ReturnHeader | Object | Identifies the supporting details of Form WHT-436. |
| Qtr | String | The quarter for which Form WHT-436 needs to be filed.Allowed values"Q1", "Q2", "Q3", "Q4" |
| TaxYr | String | The tax year for which Form WHT-436 needs to be filed.Allowed values2025,2026 |
| BusinessId | String | Optional Use the unique BusinessId (generated by TaxBandits) received in the Business CREATE response. If you do not have a BusinessId, ignore this field. |
| Business | Object | The details of the business you're filing for. |
| BusinessNm | String | Name of the business. Size Range: ..75 |
| PayerRef | String | Optional A unique identifier for each payer. This identifier can be used in future API references. Size Range: ..50 |
| TradeNm | String | Optional Name under which the business operates. Size Range: ..75 |
| IsEIN | Boolean | When true, identifies the business with an EIN. |
| EINorSSN | String | When IsEIN is true, provide the Employer Identification Number (EIN). When false, provide Social Security Number (SSN). Size Range: 9-11 |
| String | Email address of the business. Size Range: ..100 | |
| IsForeign | Boolean | When true, identifies the business as having a foreign address. |
| USAddress | Object | If IsForeign is false, pass the US address of the business. |
| Address1 | String | Employer/Payer's US address (street address or post office box). Size Range: ..46 |
| Address2 | String | Optional Employer/Payer's suite or apartment. Size Range: ..46 |
| City | String | Employer/Payer's city. Size Range: ..50 |
| State | String | Employer/Payer's state. Size Range: 2 Allowed values"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY", "AS", "FM", "GU", "MH", "MP", "PW", "PR", "VI", "AA", "AE", "AP" |
| ZipCd | String | Employer/Payer's zip code. Size Range: 5..10 |
| ForeignAddress | Object | If IsForeign is true, pass the foreign address of the business. |
| Address1 | String | Employer/Payer's foreign address (street address or post office box). Size Range: ..50 |
| Address2 | String | Optional Employer/Payer's suite or apartment. Size Range: ..50 |
| City | String | Employer/Payer's city. Size Range: ..50 |
| ProvinceOrStateNm | String | Employer/Payer's province or state name. Size Range: ..50 |
| Country | String | Employer/Payer's country. Size Range: 2. Allowed values"AF", "AX", "AL", "AG", "AQ", "AN", "AO", "AV", "AY", "AC", "AR", "AM", "AA", "AT", "AS", "AU", "AJ", "BF", "BA", "FQ", "BG", "BB", "BO", "BE", "BH", "BN", "BD", "BT", "BL", "BK", "BC", "BV", "BR", "IO", "VI", "BX", "BU", "UV", "BM", "BY", "CB", "CM", "CA", "CV", "CJ", "CT", "CD", "CI", "CH", "KT", "IP", "CK", "CO", "CN", "CF", "CG", "CW", "CR", "CS", "IV", "HR", "CU", "UC", "CY", "EZ", "DA", "DX", "DJ", "DO", "DR", "TT", "EC", "EG", "ES", "EK", "ER", "EN", "ET", "FK", "FO", "FM", "FJ", "FI", "FR", "FP", "FS", "GB", "GA", "GG", "GM", "GH", "GI", "GR", "GL", "GJ", "GQ", "GT", "GK", "GV", "PU", "GY", "HA", "HM", "VT", "HO", "HK", "HQ", "HU", "IC", "IN", "ID", "IR", "IZ", "EI", "IS", "IT", "JM", "JN", "JA", "DQ", "JE", "JQ", "JO", "KZ", "KE", "KQ", "KR", "KN", "KS", "KV", "KU", "KG", "LA", "LG", "LE", "LT", "LI", "LY", "LS", "LH", "LU", "MC", "MK", "MA", "MI", "MY", "MV", "ML", "MT", "IM", "RM", "MR", "MP", "MX", "MQ", "MD", "MN", "MG", "MJ", "MH", "MO", "MZ", "WA", "NR", "BQ", "NP", "NL", "NC", "NZ", "NU", "NG", "NI", "NE", "NF", "CQ", "NO", "MU", "OC", "PK", "PS", "LQ", "PM", "PP", "PF", "PA", "PE", "RP", "PC", "PL", "PO", "RQ", "QA", "RO", "RS", "RW", "TB", "RN", "WS", "SM", "TP", "SA", "SG", "RI", "SE", "SL", "SN", "NN", "LO", "SI", "BP", "SO", "SF", "SX", "OD", "SP", "PG", "CE", "SH", "SC", "ST", "SB", "VC", "SU", "NS", "SV", "WZ", "SW", "SZ", "SY", "TW", "TI", "TZ", "TH", "TO", "TL", "TN", "TD", "TS", "TU", "TX", "TK", "TV", "UG", "UP", "AE", "UK", "UY", "UZ", "NH", "VE", "VM", "VQ", "WQ", "WF", "WI", "YM", "ZA", "ZI" |
| PostalCd | String | Employer/Payer's postal code. Size Range: ..16 |
| ReturnData | Object | Identifies the Form WHT-436 return data. |
| FormWHT436 | Object | Object containing Vermont WHT-436 form fields. |
| WHIdNum | String | Vermont withholding ID number. Size Range: ..8 |
| NumOfEmployees | Object | Object containing the count of employees. |
| FullTimeEmployees | Number | Number of full-time employees for the quarter. Size Range: 0-999999 |
| PartTimeEmployees | Number | Number of part-time employees for the quarter. Size Range: 0-999999 |
| L1GrossWages | Number | Total gross wages paid for the quarter. Size Range: 0-9999999999.99 |
| L2TaxWH | Number | Vermont income tax withheld on wages for the quarter. Size Range: 0-9999999999.99 |
| L3NonWagePayment | Number | Total non-wage payments subject to Vermont withholding. Size Range: 0-9999999999.99 |
| L4NonWageWH | Number | Vermont tax withheld on non-wage payments. Size Range: 0-9999999999.99 |
| L5TotTaxWh | Number | Total Vermont tax withheld (wages and non-wages combined). Size Range: 0-9999999999.99 |
| L6IsNoChildCareContrib | Boolean | If true, identifies that there is no child care contribution for this quarter. |
| L7ChildCareWages | Number | Total child care wages paid for the quarter. Size Range: 0-9999999999.99 |
| L8ContribDue | Number | Child care contribution amount due for the quarter. Size Range: 0-9999999999.99 |
| L9EmployeeChildCare | Number | Employee child care contribution withheld for the quarter. Size Range: 0-9999999999.99 |
| L10IsNoHealthCareContrib | Boolean | If true, identifies that there is no health care contribution for this quarter. |
| L11AdjFTE | Number | Adjusted full-time equivalent employees for the quarter. Size Range: 0-999999 |
| L12TotHealthCareDue | Number | Total health care contribution due for the quarter. Size Range: 0-9999999999.99 |
| L13TaxDue | Number | Total tax due for the quarter. Size Range: 0-9999999999.99 |
| L14TotTaxDeposit | Number | Total tax deposited for the quarter. Size Range: 0-9999999999.99 |
| L15Refund | Number | Overpayment/refund amount for the quarter. Size Range: 0-9999999999.99 |
| L16BalanceDue | Number | Net balance due after deposits. Size Range: 0-9999999999.99 |
Response Body
| Field | Type | Description |
|---|---|---|
| SubmissionId | Guid | Unique identifier of a submission. |
| SuccessRecords | Object[] | Detailed information about the successfully processed Form WHT-436 records. |
| SequenceId | String | Returns the unique reference ID for the submission that can be used to identify a particular record. |
| BusinessId | Guid | Unique identifier of a Business. |
| PayerRef | String | Unique identifier of the payer. |
| RecordId | Guid | A unique identifier generated by TaxBandits when a WHT-436 return is created. |
| FormType | String | Denotes the type of withholding form (Form WHT-436). |
| Status | String | Returns the record status of the return. |
| StatusTs | String | Date and time when the return was created. |
| Info | String | Returns additional information about the return. |
| Errors | Object[] | Shows error information for state returns of Form WHT-436. |
| Id | String | Returns the validation error Id. |
| Name | String | Name of the validation error. |
| Message | String | Description of the validation error. |
| ErrorRecords | Object[] | Detailed information about error records of Form WHT-436. |
| SequenceId | String | A unique reference ID for the submission that can be used to identify a particular record. |
| RecordId | Guid | Unique identifier of the record. |
| Errors | Object[] | Shows detailed error information. |
| Id | String | Returns the validation error Id. |
| Name | String | Name of the validation error. |
| Message | String | Description of the validation error. |
| Errors | Object[] | Shows detailed error information. |
| Id | String | Returns the validation error Id. |
| Name | String | Name of the validation error. |
| Message | String | Description of the validation error. |
Request JSON
{
"SubmissionId": "019c706b-d45f-70f8-a2ce-8ccac111ea6f",
"StateWHRecords": [
{
"SequenceId": "001",
"RecordId": "019c706b-d5bd-718a-944a-4e1718a5b380",
"ReturnHeader": {
"TaxYr": "2025",
"Qtr": "Q1",
"Business": {
"BusinessId": null,
"BusinessNm": "SnowDaze LLC",
"TradeNm": "Mayfill Tech",
"IsEIN": true,
"EINorSSN": "71-7686346",
"Email": "james@sample.com",
"ContactNm": "John",
"Phone": "7894561231",
"BusinessType": "ESTE",
"SigningAuthority": {
"Name": "James Smith",
"Phone": "9934567890",
"BusinessMemberType": "ADMINISTRATOR"
},
"IsForeign": false,
"USAddress": {
"Address1": "12 Main st",
"Address2": "CC avenue",
"City": "Rock Hill",
"State": "SC",
"ZipCd": "29730"
},
"ForeignAddress": null
}
},
"ReturnData": {
"SequenceId": "001",
"FormWHT436": {
"WHIdNum": "WHT-56987545",
"NumOfEmployees": {
"FullTimeEmployees": "50",
"PartTimeEmployees": "50"
},
"L1GrossWages": 10000,
"L2TaxWH": 1000,
"L3NonWagePayment": 2500,
"L4NonWageWH": 1500,
"L5TotTaxWh": 2500,
"L6IsNoChildCareContrib": false,
"L7ChildCareWages": 5000,
"L8ContribDue": 22,
"L9EmployeeChildCare": 2500,
"L10IsNoHealthCareContrib": false,
"L11AdjFTE": 2,
"L12TotHealthCareDue": 2500,
"L13TaxDue": 5022,
"L14TotTaxDeposit": 4000,
"L15Refund": 0,
"L16BalanceDue": 1022
}
}
}
]
}
Response JSON
- 200
- 401
Success Response - This is a sample response for successful API requests.
{
"StatusCode": "200",
"StatusName": "Ok",
"StatusMessage": "Successful API call",
"SubmissionId": "019c706b-d45f-70f8-a2ce-8ccac111ea6f",
"SuccessRecords": [
{
"SequenceId": "001",
"BusinessId": "620c73f3-aed2-4630-9e42-bcebddbc7fda",
"PayerRef": "Snow1546ty",
"RecordId": "019c706b-d5bd-718a-944a-4e1718a5b380",
"FormType": "VTWH436",
"Status": "UPDATED",
"StatusTs": "2026-02-18 06:04:01 -05:00",
"Info": null,
"Errors": null
}
],
"ErrorRecords": null,
"Errors": null
}
Unauthorized Response - You'll get the below response when your API requests don't contain valid authentication credentials.
{
"StatusCode": 401,
"StatusMessage": "Unauthorized",
"StatusName": "Invalid authorization credentials",
"Errors": [
{
"Id": "AUTH-100018",
"Name": "Authorization",
"Message": "JWT EXPIRED"
}
]
}