Update
Update
Use this endpoint to update the information on existing 1605/1606 forms that are already created for the business.
You cannot update a return once it has been transmitted.
PUTStateFilings/SCWH/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[] | Object to create Form 1605/1606 |
| SequenceId | String | A unique number given by an inbound application to identify failed records. Size Range: ..10 |
| RecordId | Guid | An unique identifier generated by TaxBandits when a 1099-NEC return is created. |
| ReturnHeader | Object | Identifies the supporting details of, For 1605 Allowed values"Q1", "Q2", "Q3" Allowed values"Q4" |
| Qtr | String | The quarter for which Form 1605 or Form 1606 needs to be filed.Allowed values"2025" |
| TaxYr | String | The tax year for which Form 1605 or Form 1606 needs to be filed. |
| Business | Object | The details of the business you’re filing for. |
| BusinessNm | String | Name of the business. Size Range: ..75 |
| PayerRef | string | Optional An unique identifier for each payer completing their information. This identifier can be used in future references of the payer in the API. Size Range: ..50 |
| TradeNm | String | OptionalName under which the business operates. Size Range: ..75 |
| IsEIN | Boolean | When true, identifies the business with an EIN. |
| EINorSSN | String | When IsEIN is true, use Employer Identification Number (EIN). 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 | OptionalEmployer/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 | OptionalEmployer/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 1605 or Form 1606 data. |
| FormSC1605 | Object | South Carolina withholding tax returns for the first three quarters. |
| IsChangeOfAdd | Boolean | When true, identifies that the payer has changed the address. |
| IsCloseWHAcc | Boolean | When true, identifies that the payer has closed the withholding account. |
| WHAccCloseDate | String | Withholding account closed date. Enter the date in the format: MM/DD/YYYY or MM-DD-YYYY (Example: 01/25/2025). |
| WHIdNum | String | South Carolina withholding file number. Size Range: ..9 |
| L1IncomeTaxWH | Number | Quarterly South Carolina income tax withheld from all sources. Size Range: 0-99999999.99 |
| L2IncomeTaxDeposits | Number | Quarterly South Carolina income tax deposits or payments made. Size Range: 0-99999999.99 |
| L3Refund | Number | Total refund (Enter the difference if L2IncomeTaxDeposits is greater than L1IncomeTaxWithheld). Size Range: 0-99999999.99 |
| L4TaxDue | Number | Total tax due (Enter the difference if L1IncomeTaxWH is greater than L2IncomeTaxDeposits). Size Range: 0-99999999.99 |
| L5Penalty | Number | Total penalty amount, if applicable. Size Range: 0-99999999.99 |
| L5Interest | Number | Total interest due amount, if applicable. Size Range: 0-99999999.99 |
| L5Total | Number | Total penalty and interest due amount, if applicable.(L5Penalty + L5Interest). Size Range: 0-99999999.99 |
| L6BalanceDue | Number | Total balance due amount, if applicable. Size Range: 0-99999999.99 |
| FormSC1606 | Object | South Carolina withholding tax returns for the last quarter of the tax year |
| IsChangeOfAdd | Boolean | When true, identifies that the payer has changed the address. |
| IsCloseWHAcc | Boolean | When true, identifies that the payer has closed the withholding account. |
| WHAccCloseDate | String | Withholding account closed date. Enter the date in the format: MM/DD/YYYY or MM-DD-YYYY (Example: 01/25/2025). |
| WHIdNum | String | South Carolina withholding file number. Size Range: ..9 |
| L1IncomeTaxWH | Number | Quarterly South Carolina income tax withheld from all sources. Size Range: 0-99999999.99 |
| L2IncomeTaxDeposits | Number | Quarterly South Carolina income tax deposits or payments made. Size Range: 0-99999999.99 |
| L3Refund | Number | Total refund (Enter the difference if L2IncomeTaxDeposits is greater than L1IncomeTaxWithheld). Size Range: 0-99999999.99 |
| L4TaxDue | Number | Total tax due (Enter the difference if L1IncomeTaxWH is greater than L2IncomeTaxDeposits). Size Range: 0-99999999.99 |
| L5Penalty | Number | Total penalty amount, if applicable. Size Range: 0-99999999.99 |
| L5Interest | Number | Total interest due amount, if applicable. Size Range: 0-99999999.99 |
| L5Total | Number | Total penalty and interest due amount, if applicable.(L5Penalty + L5Interest). Size Range: 0-99999999.99 |
| L6BalanceDue | Number | Total balance due amount, if applicable. Size Range: 0-99999999.99V |
| L7JantoMar | Number | Total tax withheld from all sources in Quarter 1 (Jan to Mar). Size Range: 0-99999999.99 |
| L7AprtoJun | Number | Total tax withheld from all sources in Quarter 2 (Apr to Jun). Size Range: 0-99999999.99 |
| L7JultoSep | Number | Total tax withheld from all sources in Quarter 3 (Jul to Sep). Size Range: 0-99999999.99 |
| L7OcttoDec | Number | Total tax withheld from all sources in Quarter 4 (Oct to Dec). Size Range: 0-99999999.99 |
| L7TotalTaxWH | Number | Total tax withheld from all the quarters (sum of L7JantoMar, L7AprtoJun, L7JultoSep, and L7OcttoDec). Size Range: 0-99999999.99 |
| L8W2s | Number | Total South Carolina income tax withheld from all quarters reported from W-2 forms. Size Range: 0-99999999.99 |
| L8W2Gs | Number | Total South Carolina income tax withheld from all quarters reported from W-2G forms. Size Range: 0-99999999.99 |
| L81099s | Number | Total South Carolina income tax withheld from all quarters reported from 1099 forms. Size Range: 0-99999999.99 |
| L8TotalTaxWH | Number | Total South Carolina income tax withheld from all quarters reported from all W-2, W-2G, and 1099 forms. Size Range: 0-99999999.99 |
| L9TotalSCIncome | Number | Total South Carolina income reported in W-2s, W-2Gs, and 1099s. Size Range: 0-99999999.99 |
| L10NoOfFormsSubmitted | Number | Total number of W-2s, W-2Gs, and 1099s submitted with WH-1612 or online through MyDORWAY. Size Range: ..6 |
Response Body
| Field | Type | Description |
|---|---|---|
| SubmissionId | Guid | Unique identifier of a submission |
| SuccessRecords | object[] | It will show the detailed information about the success status of Form 1605/1606 Records |
| SequenceId | string | A unique number given by an inbound application to identify particular records. |
| BusinessId | Guid | Unique identifier of a Business |
| PayerRef | string | Unique identifier of the payer |
| RecordId | Guid | An unique identifier generated by TaxBandits when a 1605/1606 return is created |
| FormType | string | Denotes the type of withholding form (Form 1605 / Form 1606). |
| Status | string | Returns the record status of return. |
| StatusTs | string | Date and time of the return created. |
| Info | string | Returns the information about the return |
| Errors | object[] | Shows error information of state returns of Form 1605 / Form 1606 |
| Id | string | Returns the validation error Id. |
| Name | string | Name of the validation error. |
| Message | string | Description of the validation error. |
| ErrorRecords | object[] | It will show the detailed information about the error status of Form 1605 / Form 1606 Records. |
| SequenceId | string | A unique number given by an inbound application to identify particular records. The Sequence ID will be returned in the Response for your reference. |
| RecordId | Guid | Unique identifier of a 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
- Sample 1
- Sample 2
Update return for the first three quarters of the tax year
{
"SubmissionId": "01993c45-e77e-7383-823a-d13273fd717c",
"StateWHRecords": [
{
"Sequence": "001",
"RecordId": "01993c45-e804-75cc-b9ff-908f41dbe62f",
"ReturnHeader": {
"Qtr": "Q1",
"TaxYr": "2025",
"Business": {
"BusinessId": "d2100525-3a85-4b33-8fb4-3f7682944ee1"
}
},
"ReturnData": {
"FormSC1605": {
"IsChangeOfAdd": true,
"IsCloseWHAcc": true,
"WHAccCloseDate": "07/23/2025",
"WHIdNum": "124588229",
"L1IncomeTaxWH": 5000,
"L2IncomeTaxDeposits": 6000,
"L3Refund": 1000,
"L4TaxDue": 0,
"L5Penalty": 0,
"L5Interest": 0,
"L5Total": 0,
"L6BalanceDue": 0
},
"FormSC1606": null
}
}
]
}
Update return for the last quarter of the tax year or for annual reconciliation.
{
"SubmissionId": "01993c45-e77e-7383-823a-d13273fd717c",
"StateWHRecords": [
{
"Sequence": "001",
"RecordId": "01993c45-eb89-7084-a20f-4ec9acf05faf",
"ReturnHeader": {
"Qtr": "Q4",
"TaxYr": "2025",
"Business": {
"BusinessId": "01e8159f-dace-4f65-adaf-57d406be4e24",
"BusinessNm": "Snow LLC",
"PayerRef": null,
"TradeNm": "Iceberg Icecreams",
"IsEIN": true,
"EINorSSN": "31-8389875",
"Email": "john@gmail.com",
"IsForeign": false,
"USAddress": {
"Address1": "12 main st",
"Address2": null,
"City": "Rock Hill",
"State": "SC",
"ZipCd": "29730"
},
"ForeignAddress": null
}
},
"ReturnData": {
"FormSC1605": null,
"FormSC1606": {
"IsChangeOfAdd": true,
"WHAccCloseDate": "07/23/2025",
"WHIdNum": "124588229",
"L1IncomeTaxWH": 5000,
"L2IncomeTaxDeposits": 6000,
"L3Refund": 1000,
"L4TaxDue": 0,
"L5Penalty": 0,
"L5Interest": 0,
"L5Total": 0,
"L6BalanceDue": 0,
"L7JantoMar": 200,
"L7AprtoJun": 200,
"L7JultoSep": 200,
"L7OcttoDec": 200,
"L7TotalTaxWH": 800,
"L8W2s": 300,
"L8W2Gs": 100,
"L81099s": 400,
"L8TotalTaxWH": 800,
"L9TotalSCIncome": 12000,
"L10NoOfFormsSubmitted": 500,
"IsCloseWhAcc": true
}
}
}
]
}
Response JSON
- 200
- 300
- 400
- 401
Success Response - This is a sample response for successful API requests.
{
"StatusCode": "200",
"StatusName": "Ok",
"StatusMessage": "Successful API call",
"SubmissionId": "01993c3f-bd17-73ad-b4ca-8891c23f3118",
"SuccessRecords": [
{
"SequenceId": "001",
"BusinessId": "da40ab7f-e8dc-4091-834b-b564a437c895",
"PayerRef": null,
"RecordId": "01993c3f-bdd6-71f0-ac13-27cd4b663571",
"FormType": "SC1605",
"Status": "CREATED",
"StatusTs": "2025-09-12 00:47:14 -04:00",
"Info": null,
"Errors": null
},
{
"SequenceId": "002",
"BusinessId": "df7b1d1b-62c3-4cb0-a564-3958c0bea9cf",
"PayerRef": null,
"RecordId": "01993c3f-c322-71d5-ab35-0f70f59d72b2",
"FormType": "SC1606",
"Status": "CREATED",
"StatusTs": "2025-09-12 00:47:15 -04:00",
"Info": null,
"Errors": null
}
],
"ErrorRecords": null,
"Errors": null
}
Multi-status Response - You'll get the below response when multiple statuses are included.
{
"StatusCode": "300",
"StatusName": "MultiStatus",
"StatusMessage": "Multiple statuses are available for the request",
"SubmissionId": "0199604a-83fa-74dd-ab92-0e990dd3eeed",
"SuccessRecords": [
{
"SequenceId": "002",
"BusinessId": "1c4b089f-7f82-4944-bd10-00e0391cbc97",
"PayerRef": null,
"RecordId": "0199604a-8648-75f6-9cd7-340045ef8137",
"FormType": "SC1606",
"Status": "CREATED",
"StatusTs": "2025-09-19 00:46:37 -04:00",
"Info": null,
"Errors": null
}
],
"ErrorRecords": [
{
"SequenceId": "001",
"RecordId": "0199604a-8479-75c6-a28d-8c38860c2d4e",
"Errors": [
{
"Id": "S00-000150",
"Name": "FormSC1605.L3Refund",
"Message": "Refund amount is required if total income tax deposits amount is greater than total income tax withheld amount"
},
{
"Id": "S00-000157",
"Name": "FormSC1605.L4TaxDue",
"Message": "Tax due amount should be null if total income tax deposits amount is greater than or equal to total income tax withheld amount"
}
]
}
],
"Errors": [
{
"Id": "S00-000184",
"Name": "Error Records",
"Message": "Some of the records are errored. Please read the Error Records for more details."
}
]
}
Bad Request Response - You'll get the below response when your API requests contain any validation errors.
{
"StatusCode": "400",
"StatusName": "BadRequest",
"StatusMessage": "Validation error has occurred",
"SubmissionId": null,
"SuccessRecords": null,
"ErrorRecords": [
{
"SequenceId": "002",
"RecordId": "0199604a-8648-75f6-9cd7-340045ef8137",
"Errors": [
{
"Id": "S00-000123",
"Name": "FormSC1606.WHIdNum",
"Message": "Invalid withholding file number. It should be in 9 digits format: (999999999)"
}
]
}
],
"Errors": null
}
Unauthorized Response - You'll get the below response when your API requests don't contain valid authentication credentials.
{
"StatusCode": 401,
"StatusName": "Unauthorized",
"StatusMessage": "Invalid authorization credentials",
"Errors": [
{
"Id": "AUTH-100018",
"Name": "Authorization",
"Message": "JWT EXPIRED"
}
]
}