Create
Create
Use this endpoint to generate a new withholding filing for the state of Arizona.
Note: Employers must file the quarterly withholding return (A1-QRT) for each quarter, even if no taxes were withheld.
POST StateFilings/A1QRTWH/Create Request Body
| Field | Type | Description |
|---|---|---|
| StateWHRecords | Object [] | Object to create A1-QRT |
| 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 A1-QRT. |
| Qtr | String | The Quarter for which Form A1-QRT needs to be filed.Allowed values"Q1", "Q2", "Q3", "Q4" |
| TaxYr | String | The tax year for which Form A1-QRT needs to be filed.Allowed values2025 |
| BusinessId | String | Optional Use the unique BusinessId (Generated by TaxBandits) you receivedin the response of the Business CREATE Endpoint. If you do not have aBusinesId, ignore the field. By giving the BusinessId, you do not have toprovide all the business information again. |
| 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 | 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, use Employer Identification Number (EIN). When IsEIN isfalse, use 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 valuesAL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI","ID", "IL", "IN", etc. |
| 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", etc. |
| PostalCd | String | Employer/Payer’s postal code. Size Range: ..16 |
| ReturnData | Object[] | Identifies the Form A1-QRT data. |
| FormA1Qrt | Object | Arizona withholding quarterly tax return. |
| IsChangeOfAdd | Boolean | If true, indicates that the employer needs to change the address |
| IsFinalReturn | Boolean | If true, indicates that this is the employer’s final return.Note: The Department of Arizona will cancel your withholding account if this is your final return |
| FinalReturnDetails | Object | Object that contains information of final return details |
| WHAccCloseDate | String | Date on which final wages were paid. Enter the date in the format: MM/DD/YYYY or MM-DD-YYYY (Example: 01/25/2025). |
| IsReorgOrEntityChange | Boolean | If true, indicates that final return is due to reorganization or change in business entity |
| IsBusinessSold | Boolean | If true, indicates that final return is due to business has been sold |
| IsStoppedPayingWages | Boolean | If true, indicates that final return is due to business stopped paying wages and will not have any employees in the future. |
| IsPermClosed | Boolean | If true, indicates that final return is due to business is permanently closed |
| IsLeasedOrTempEmployees | Boolean | If true, indicates that final return is due to business has only leased or temporary agency employees |
| IsOther | Boolean | If true, indicates that final return is due to other reasons |
| OtherReason | String | Other reason for filing the final return, other than the reasons given above. |
| IsFiledBySurvEmployer | Boolean | If true, indicates that the return is filed by the surviving employer |
| SurvEmployerDetails | Object | Object that contains information of surviving employer details |
| Name | String | Predecessor employer's nameSize Range: ..46* |
| EIN | String | EIN of the predecessor employerSize Range:9* |
| IsRecLocDiff | Boolean | If true, indicates that records will be maintained at an address different from the business address |
| DiffLocDetails | Object | Object that contains different location address were records will be maintained |
| Name | String | Name of the address were records will be maintained Size Range: ..46 |
| Address1 | String | US address (street address or post office box). Size Range: ..46 |
| Address2 | String | Optional suite or apartment. Size Range: ..46 |
| City | String | City where records will be maintained Size Range: ..50 |
| State | String | State where records will be maintained Size Range: 2Allowed values"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI","ID", "IL", "IN", etc. |
| ZipCd | String | zip code. Size Range: 5..10 |
| IsSuccEmployer | Boolean | If true indicates that there is a successor employer for for the business. |
| SuccEmployerDetails | Object | Object that contains the successor employer details |
| Name | String | Name of the successor employer Size Range: ..46 |
| EIN | String | EIN of the successor employer Size Range: 9 |
| Address1 | String | successor employer’s US address (street address or post office box). Size Range: ..46 |
| Address2 | String | Optional successor employer’s suite or apartment. Size Range: ..46 |
| City | String | successor employer’s city. Size Range: ..50 |
| State | String | successor employer’s state. Size Range: 2Allowed values"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI","ID", "IL", "IN", etc. |
| ZipCd | String | successor employer’s zip code. Size Range: 5..10 |
| TotPayrollAmt | Number | Total Arizona taxable wages paid for the quarter. Size Range: 0-999999999.99 |
| TotEmpPaid | Number | Total number of employees paid Arizona wages for this quarterSize Range: 0-9999999* |
| DepositSchType | String | Enter the tax liability schedule for Arizona withholding reportingAllowed values"QUARTERLY","MONTHLY","SEMI_WEEKLY", "NEXT_DAY" |
| A1TaxLiabilityAmt | Number | If tax liability schedule is "QUARTERLY" then enter the Quarterly tax liability amount for the quarter. Size Range: 0-999999999.99 |
| MonthlyLiability | object | Object that contains tax liability details if the tax liability schedule given is "MONTHLY" |
| B1Month1LiabilityAmt | Number | Tax liability amount for month 1 of the quarter. Size Range: 0-999999999.99 |
| B2Month2LiabilityAmt | Number | Tax liability amount for month 2 of the quarter. Size Range: 0-999999999.99 |
| B3Month3LiabilityAmt | Number | Tax liability amount for month 3 of the quarter. Size Range: 0-999999999.99 |
| B4TotLiabilityAmt | Number | Total Tax liability amount for all the months of the quarter. Size Range: 0-999999999.99 |
| SemiWeeklyOrNxtDayLiability | Object | Object that contains tax liability details if the tax liability schedule given is either "SEMI_WEEKLY" or "NEXT_DAY" |
| Month1TaxLiability | Object | Object that contains tax liability details for month 1 of the quarter |
| Day | String | Day on which the tax amount is depositedAllowed values"01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31" |
| Amt | Number | Tax liability amount deposited Size Range: 0-999999999.99 |
| IsNextDayDeposit | Boolean | If true indicates that the tax liability schedule is "NEXT_DAY" |
| Month1TotLiability | Number | Total tax liability amount deposited on month 1 of the quarterSize Range: 0-999999999.99 |
| Month2TaxLiability | Object | Object that contains tax liability details for month 2 of the quarter |
| Day | String | Day on which the tax amount is depositedAllowed values"01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31" |
| Amt | Number | Tax liability amount deposited *Size Range: 0-999999999.99 |
| IsNextDayDeposit | Boolean | If true indicates that the tax liability schedule is "NEXT_DAY" |
| Month2TotLiability | Number | Total tax liability amount deposited on month 2 of the quarter Size Range: 0-999999999.99 |
| Month3TaxLiability | Object | Object that contains tax liability details for month 3 of the quarter |
| Day | String | Day on which the tax amount is depositedAllowed values"01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31" |
| Amt | Number | Tax liability amount deposited Size Range: 0-999999999.99 |
| IsNextDayDeposit | Boolean | If true indicates that the tax liability schedule is "NEXT_DAY" |
| Month3TotLiability | Number | Total tax liability amount deposited on month 3 of the quarter Size Range: 0-999999999.99 |
| L1LiabilityAmt | Number | Total tax liability amount deposited *Size Range: 0-999999999.99v |
| L2TotDepositAmt | Number | Total deposits or payments made during this quarter Size Range: 0-999999999.99 |
| L3TotAmtDue | Number | Total amount due for the quarter *Size Range: 0-999999999.99v |
| StatePayment | Object | Object that contains information about payment details for the department of Arizona |
| AccountType | String | Type of the bank account.Allowed values"PERSONAL_CHECKING", "PERSONAL_SAVINGS", "BUSINESS_SAVINGS", "BUSINESS_CHECKING" |
| BankRoutingNum | String | Bank routing number Size Range: 9 |
| BankAccountNum | String | Bank Account Number Size Range: ..17 |
| PaymentAmt | Number | Amount to be paid to the department of North Carolina Size Range: 0-99999999.99 |
| AccHolderNm | String | Name of the bank account holder Size Range: ..22 |
| ReqPaymentDate | String | Date on which the payment is requested. Enter the date in the format: MM/DD/YYYY or MM-DD-YYYY (Example: 01/25/2025). |
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 A1-QRT 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 A1-QRT/NC-3 return is created |
| FormType | string | Denotes the type of withholding form (Form A1-QRT). |
| 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 A1-QRT |
| 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 A1-QRT 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
{
"StateWHRecords": [
{
"Sequence": "001",
"ReturnHeader": {
"Qtr": "Q4",
"TaxYr": "2025",
"BusinessId": null,
"Business": {
"BusinessNm": "Snowdaze LLC",
"FirstNm": null,
"MiddleNm": null,
"LastNm": null,
"Suffix": null,
"PayerRef": "Snow113123",
"TradeNm": "Iceberg Icecreams",
"IsDefaultBusiness": true,
"IsEIN": true,
"EINorSSN": "23-4876856",
"Email": "james@sample.com",
"ContactNm": "James Smith",
"Phone": "6534567890",
"PhoneExtn": "123",
"Fax": "9834567890",
"BusinessType": "ESTE",
"SigningAuthority": {
"Name": "James Smith",
"Phone": "9934567890",
"BusinessMemberType": "ADMINISTRATOR"
},
"KindOfEmployer": "FEDERALGOVT",
"KindOfPayer": "REGULAR941",
"IsBusinessTerminated": false,
"Form1042SDetails": null,
"IsForeign": false,
"USAddress": {
"Address1": "3576 AIRPORT WAY",
"Address2": "UNIT 9",
"City": "FAIRBANKS",
"State": "AK",
"ZipCd": "99709"
},
"ForeignAddress": null,
"ACADetails": null
}
},
"ReturnData": {
"FormA1QRT": {
"IsAmendedReturn": false,
"IsChangeOfAdd": false,
"IsFinalReturn": true,
"FinalReturnDetails": {
"WHAccCloseDate": "10/10/2025",
"IsReorgOrEntityChange": true,
"IsBusinessSold": false,
"IsStoppedPayingWages": false,
"IsPermClosed": false,
"IsLeasedOrTempEmployees": false,
"IsOther": false,
"OtherReason": null
},
"IsFiledBySurvEmployer": false,
"SurvEmployerDetails": {
"Name": null,
"EIN": "997654245"
},
"IsRecLocDiff": true,
"DiffLocDetails": {
"Name": "GHGH",
"Address1": "71 Saint Nicholas Dr",
"Address2": null,
"City": "Northpole",
"State": "AK",
"ZipCd": "99705"
},
"IsSuccEmployer": false,
"SuccEmployerDetails": {
"Name": "GFGGG",
"EIN": "917654357",
"Address1": "71 Saint Nicholas Dr",
"Address2": null,
"City": "Northpole",
"State": "AK",
"ZipCd": "99705"
},
"TotPayrollAmt": 1100,
"TotEmpPaid": 100,
"DepositSchType": "SEMI_WEEKLY",
"A1TaxLiabilityAmt": 110,
"MonthlyLiability": {
"B1Month1LiabilityAmt": 110,
"B2Month2LiabilityAmt": 110,
"B3Month3LiabilityAmt": 110,
"B4TotLiabilityAmt": 330
},
"SemiWeeklyOrNxtDayLiability": {
"Month1TaxLiability": [
{
"Day": "01",
"Amt": 50,
"IsNextDayDeposit": true
},
{
"Day": "02",
"Amt": 60,
"IsNextDayDeposit": true
}
],
"Month1TotLiability": 110,
"Month2TaxLiability": [
{
"Day": "01",
"Amt": 50,
"IsNextDayDeposit": true
},
{
"Day": "02",
"Amt": 60,
"IsNextDayDeposit": true
}
],
"Month2TotLiability": 110,
"Month3TaxLiability": [
{
"Day": "01",
"Amt": 50,
"IsNextDayDeposit": true
},
{
"Day": "02",
"Amt": 60,
"IsNextDayDeposit": true
}
],
"Month3TotLiability": 110
},
"L1LiabilityAmt": 330,
"L2TotDepositAmt": 110,
"L3TotAmtDue": 220,
"StatePayment": {
"BankRoutingNum": "786543457",
"AccountType": "CHECKING",
"BankAccountNum": "73456765432123456",
"PaymentAmt": "100",
"AccHolderNm": "John",
"ReqPaymentDate": "10/10/2026"
}
}
}
}
]
}
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": "019c706b-d45f-70f8-a2ce-8ccac111ea6f",
"SuccessRecords": [
{
"SequenceId": "001",
"BusinessId": "620c73f3-aed2-4630-9e42-bcebddbc7fda",
"PayerRef": "Snow1546ty",
"RecordId": "019c706b-d5bd-718a-944a-4e1718a5b380",
"FormType": "A1QRT",
"Status": "CREATED",
"StatusTs": "2026-02-18 06:04:01 -05: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": "019c706f-b538-71ba-9c41-290a11086ce0",
"SuccessRecords": [
{
"SequenceId": "001",
"BusinessId": "928088b6-657b-4ed4-8a11-c10251a3fcc8",
"PayerRef": "Snow1638",
"RecordId": "019c706f-b65b-761b-8b67-f771499c84d9",
"FormType": "A1QRT",
"Status": "CREATED",
"StatusTs": "2026-02-18 06:08:15 -05:00",
"Info": null,
"Errors": null
}
],
"ErrorRecords": [
{
"SequenceId": "001",
"RecordId": null,
"Errors": [
{
"Id": "S00-000017",
"Name": "ReturnData[1].SequenceId",
"Message": "Duplicate sequence id exist. The sequence Id [001] is repeated more than once."
}
]
}
],
"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": "001",
"RecordId": null,
"Errors": [
{
"Id": "S00-000490",
"Name": "StateWHRecords[0].ReturnData.FormA1Qrt.WHAccCloseDate",
"Message": "Invalid withholding account closed date. Enter the date in valid format MM/DD/YYYY or MM-DD-YYYY or M/D/YYYY or M-D-YYYY"
}
]
}
],
"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"
}
]
}