ValidateForm
ValidateForm
Use this endpoint to validate 1099-Q data against IRS business rules before creating the form.
POST Form1099Q/ValidateForm Request Body
| Field | Type | Description |
|---|---|---|
| SubmissionManifest | object[] | SubmissionManifest provides brief information about a particular submission on the whole. It contains information like
|
| TaxYear | string | Tax year of Form 1099-Q to be filed.Allowed valuesAllowed values: "2025", "2026" |
| IsFederal | Boolean | Federal Filing will be enabled when the value is True. Form 1099-Q will be sent directly to the IRS. |
| IsState | Boolean | State Filing will be enabled when the value is True. Form 1099-Q will be directly filed with the respective recipient states. Note: State Filing will not be created for the states that do not require State filing. |
| IsDistribution | Boolean | When TRUE, recipient distribution is enabled (postal mail / online access/email). |
| DistributionDetails | object[] | Distribution configuration. Required when IsDistribution is TRUE. |
| DistributionType | string | Recipient copy distribution type.Allowed values"POSTAL_ONLY", "ONLINE_ACCESS", "POSTAL_AND_ONLINE" |
| PostalType | string | Postal service type.Allowed values"USPS_FIRST_CLASS" |
| IsScheduleFiling | Boolean | When true, schedule filing services will be enabled for Form 1099-Q returns under this submission. |
| ScheduleFiling | object[] | Optional Contains the preferred date to submit the returns to the IRS. Required only when "IsScheduleFiling" is True. |
| EfileDate | string | Date of Schedule Filing. Enter the date in the format: MM/DD/YYYY or MM-DD-YYYY. Example: 01/25/2026 or 01-25-2026 |
| ReturnHeader | object | Contains information about the Business details. |
| Business | object | Object to identify the Business Details. |
| BusinessId | Guid | Optional Use the unique Business ID (Generated by TaxBandits) that you received in the response of the Business CREATE Endpoint. If you do not have a Business ID, ignore the field. By giving the Business ID, you do not have to provide all the business information again. |
| PayerRef | string | Optional Your unique identifier for the payer. Can replace BusinessId in future requests. Size Range: 50 |
| IsDefaultBusiness | Boolean | When set to TRUE, this business will be set as the default across requests that do not specify a business. |
| TINDetails | object | TIN information for the business. |
| Format | string | Specifies how the TIN is passed.Allowed values"PLAIN_TIN" — Pass TIN directly, "TOKENIZED_TIN" — Pass tokenized TIN. |
| TINType | string | Specify the TIN type of the business.Allowed values"EIN", "SSN","QI-EIN", "ITIN", "WP-EIN", "WT-EIN", "NQI-EIN", "IRSN" |
| TIN | string | The TIN value according to the Format selected. |
| IndividualNm | object | Required when TINType is SSN. Provide individual name fields instead of BusinessNm. |
| FirstNm | string | The first name of the individual. Size Range: 20 |
| MiddleNm | string | Optional Middle name of the individual. Size Range: 20 |
| LastNm | string | The last name of the individual. Size Range: 20 |
| Suffix | string | Optional Suffix of the individual's name.Allowed values"Jr", "Sr", "I", "II", "III", "IV", "V", "VI", "VII" |
| BusinessNm | string | Legal name of the business. Required when TINType is EIN. Size Range: 75 |
| NameCtrl | string | Name control of the business as registered with the IRS. Size Range: 3..4 |
| DBADetails | object[] | Optional DBA (Doing Business As) information. |
| DBANm | string | Name of the DBA. Size Range: 75 |
| DBARef | string | Unique identifier for the DBA. Size Range: 1-50 |
| DBAId | Guid | TaxBandits-generated DBA identifier. |
| Address | object[] | Address information of the DBA. |
| Address1 | string | Street address or PO Box. Size Range: 46 |
| Address2 | string | Optional Suite or apartment number. Size Range: 46 |
| City | string | DBA's city. Size Range: 50 |
| ProvinceOrState | string | DBA's province or state name. Allowed values When the country code is US: 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" Allowed values"AB", "BC", "MB", "NB", "NL", "NT", "NS", "NU", "ON", "PE", "QC", "SK", "YT" |
| Zipcd | string | DBA's ZIP code. Size Range: 5-16 |
| Country | string | DBA's 2-character country code.Allowed values"US","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" |
| Address | object | Primary address of the business. |
| Address1 | string | Street address or PO Box of the business. Size Range: 46 |
| Address2 | string | Optional Suite or apartment number of the business. Size Range: 46 |
| City | string | City of the business. Size Range: 50 |
| ProvinceOrState | string | Province or state name of the business. Allowed values When the country code is US: 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" Allowed values"AB", "BC", "MB", "NB", "NL", "NT", "NS", "NU", "ON", "PE", "QC", "SK", "YT" |
| ZipCd | string | ZIP code of the business. Size Range: 5-16 |
| Country | string | 2-character country code of the business.Allowed values"US","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" |
| ContactDetails | object[] | Details of the person the IRS can contact regarding the given business. |
| FirstNm | string | First name of the contact person. Size Range: 20 |
| MiddleNm | string | Optional Middle name of the contact person. Size Range: 20 |
| LastNm | string | Last name of the contact person. Size Range: 20 |
| Suffix | string | Optional The suffix of the contact person.Allowed values"Jr", "Sr", "I", "II", "III", "IV", "V", "VI", "VII" |
| Phone | string | Optional Phone number of the contact person. Size Range: 10 digits |
| PhoneExtn | string | Optional Phone extension number. Size Range: 5 |
| Fax | string | Optional Fax number of the contact person. Size Range: 10 digits |
| ReturnData | object[] | Contains information about the recipient details and Form 1099-Q details. |
| SequenceId | string | A unique reference ID for the submission that can be used to identify a particular record. The Sequence ID will be returned in the Response for your reference. Size Range: 50 |
| ReturnManifest | object[] | Filing options for this record. |
| IsFederal | Boolean | Federal Filing for the return will be enabled when the value is True. Form 1099-Q will be sent directly to the IRS. |
| IsState | Boolean | State Filing for the return will be enabled when the value is True. Form 1099-Q will be directly filed with the respective recipient states. Note: State Filing will not be created for the states that do not require State filing. |
| IsDistribution | Boolean | When TRUE, recipient distribution is enabled (postal mail / online access/email). |
| DistributionDetails | object[] | Distribution configuration. Required when IsDistribution is TRUE. |
| DistributionType | string | Recipient copy distribution type.Allowed values"POSTAL_ONLY", "ONLINE_ACCESS", "POSTAL_AND_ONLINE" |
| PostalType | string | Postal service type.Allowed values"USPS_FIRST_CLASS" |
| IsForced | Boolean | When TRUE, TaxBandits does not verify for duplicates and will create a new return for the recipient, even if it comprises the same amounts as in previously filed returns. For more information on duplicate handling for Form 1099s, click here. Note: If there are multiple returns filed for the recipient with the same account number, TaxBandits will append 3 random numbers at the end of the account number. |
| Recipient | object | Object to identify the recipient details. |
| RecipientId | Guid | Optional A unique ID generated by TaxBandits after the return is created and will be returned in the Response. You can use this ID for your future reference to Update. |
| PayeeRef | string | Optional Your unique identifier for the recipient. Can replace RecipientId in future requests. Size Range: 50 |
| TINDetails | object | Recipient TIN information. |
| Format | string | Specifies how the TIN is passed.Allowed values"PLAIN_TIN" — Pass TIN directly, "TOKENIZED_TIN" — Pass tokenized TIN. |
| TINType | string | Specify the TIN type of the recipient.Allowed values"EIN", "SSN", "ATIN", "ITIN", "NA" |
| TIN | string | The TIN value, formatted according to the Format field selected. |
| IndividualNm | object | Required when TINType is SSN, ITIN, or ATIN. Provide individual name fields instead of BusinessNm. |
| FirstNm | string | The first name of the individual. Size Range: 20 |
| MiddleNm | string | Optional The middle name of the individual. Size Range: 20 |
| LastNm | string | The last name of the individual. Size Range: 20 |
| Suffix | string | Optional The suffix of the individual's name.Allowed values"Jr", "Sr", "I", "II", "III", "IV", "V", "VI", "VII" |
| BusinessNm | string | Legal name of the recipient business. Required when TINType is EIN. Size Range: 75 |
| NameCtrl | string | Name control of the business as registered with the IRS. Size Range: 3..4 |
| DBADetails | object | Optional DBA (Doing Business As) information. |
| DBAId | Guid | TaxBandits-generated DBA identifier. Returned in the response. |
| DBANm | string | Name of the DBA. Size Range: 75 |
| DBARef | string | Your unique identifier for this DBA. Size Range: 1–50 |
| Address | object | Address information of the DBA. |
| Address1 | string | Street address or PO Box. Size Range: 46 |
| Address2 | string | Optional Suite or apartment number. Size Range: 46 |
| City | string | DBA's city. Size Range: 50 |
| ProvinceOrState | string | DBA's province or state name. Allowed values When the country code is US: 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" Allowed values"AB", "BC", "MB", "NB", "NL", "NT", "NS", "NU", "ON", "PE", "QC", "SK", "YT" |
| ZipCd | string | DBA's ZIP code. Size Range: 5–16 |
| Country | string | DBA's 2-character country code.Allowed values"US","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" |
| DOB | string | Optional Date of Birth of the recipient. Format: MM/DD/YYYY |
| Address | object | Primary address of the recipient. |
| Address1 | string | Street address or PO Box of the recipient. Size Range: 46 |
| Address2 | string | Optional Suite or apartment number of the recipient. Size Range: 46 |
| City | string | City of the recipient. Size Range: 50 |
| ProvinceOrState | string | Province or state name of the recipient. Allowed values When the country code is US: 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" Allowed values"AB", "BC", "MB", "NB", "NL", "NT", "NS", "NU", "ON", "PE", "QC", "SK", "YT" |
| ZipCd | string | ZIP code of the recipient. Size Range: 5 – 16 |
| Country | string | 2-character country code of the recipient.Allowed values"US","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" |
| string | Email address of the recipient. Size Range: 100 Note: Required if DistributionType is ONLINE_ACCESS. | |
| Fax | string | Optional Fax number of the recipient. Size Range: 10 |
| Phone | string | Optional Phone number of the recipient. Size Range: 10 |
| QFormData | object | Recipient's Form 1099-Q information. |
| GrossDist | Number | The gross distribution paid to you this year from a QTP or a CESA. Size Range: 0–9999999999.99 |
| Earnings | Number | The earnings part of the gross distribution. Size Range: 0–9999999999.99 |
| Basis | Number | The basis in the gross distribution reported in box 1. Size Range: 0–9999999999.99 |
| IsTTE2TTETransfer | Boolean | When true, identifies the distribution was made directly (trustee-to-trustee transfer) from one QTP to another, or from a QTP to an ABLE account. |
| IsQTP2RothIRATransfer | Boolean | When true, identifies the distribution was made directly (trustee-to-trustee transfer) from a QTP to a Roth IRA maintained for the benefit of the QTP beneficiary. |
| DistFrom | string | The source of gross distribution.Allowed values"PRIVATE", "STATE", "COVERDELL_ESA" |
| IsDesignatedBenificiary | Boolean | When true, indicates that the designated beneficiary is the individual named in the document creating the trust or custodial account to receive the benefit of the funds in the account. |
| DistCd | string | Optional Distribution code for fair market value (FMV)Allowed values"1", "2", "3", "4", "5", "6" |
| AccountNum | string | Optional Account number (used when filing multiple 1099-Qs for one recipient). Size Range: 4..20 Note: If the account number on the return you file is the same as any previously filed return, TaxBandits will append 3 random numbers at the end of the account number. |
Response Body
| Field | Type | Description |
|---|---|---|
| ErrorRecords | object[] | It will show the detailed information about the error status of W2-G Records. |
| SequenceId | string | An unique reference ID for the submission that can be used to identify a particular record. The Sequence ID will be returned in the Response for your reference. |
| 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 |
Payload

Go Lang
Node.js
Python
.NET C#

Ruby
Java

cURL
| Sample | Description | Action |
|---|---|---|
| Sample 1 | Create a Form 1099-Q return for the specific business and include recipient and income information. |
Sample 1
{
"SubmissionManifest": {
"TaxYear": "2026",
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsScheduleFiling": false,
"ScheduleFiling": null
},
"ReturnHeader": {
"Business": {
"BusinessId": null,
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "EIN",
"TIN": "72-5564874"
},
"IndividualNm": null,
"BusinessNm": "Horizon LLC",
"NameCtrl": "HORI",
"DBADetails": null,
"Address": {
"Address1": "2500 Horizon Parkway",
"Address2": "Suite 200",
"City": "Plano",
"ProvinceOrState": "TX",
"ZipCd": "75024",
"Country": "US"
},
"ContactDetails": {
"FirstNm": "Michael",
"MiddleNm": "A",
"LastNm": "Carter",
"Suffix": "Jr",
"Phone": "9725550100",
"PhoneExtn": "205",
"Email": "horizonllc@sample.com",
"Fax": "9725550199"
}
}
},
"ReturnData": [
{
"SequenceId": "1",
"ReturnManifest": {
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsForced": false
},
"Recipient": {
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "SSN",
"TIN": "321-44-5782"
},
"BusinessNm": null,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": null
},
"DBADetails": null,
"Address": {
"Address1": "789 Market Street",
"Address2": "Suite 1200",
"City": "San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"QFormData": {
"GrossDist": "5600",
"Earnings": "5000",
"Basis": "600",
"IsTTE2TTETransfer": true,
"IsQTP2RothIRATransfer": false,
"DistFrom": "PRIVATE",
"IsDesignatedBenificiary": true,
"DistCd": "1",
"AccountNum": "12345"
}
}
]
}
| Response | Description | Action |
|---|---|---|
| 200 | Success Response - This is a sample response for successful API requests. | |
| 401 | Unauthorized Response - You'll get the below response when your API requests don't contain valid authentication credentials. |
Response: 200
{
"ErrorRecords": null,
"Errors": null
}
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
url := "<APIURL>/v2.0.0/Form1099Q/ValidateForm"
method := "POST"
payload := strings.NewReader(`{
"SubmissionManifest": {
"TaxYear": "2026",
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsScheduleFiling": false,
"ScheduleFiling": null
},
"ReturnHeader": {
"Business": {
"BusinessId": null,
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "EIN",
"TIN": "72-5564874"
},
"IndividualNm": null,
"BusinessNm": "Horizon LLC",
"NameCtrl": "HORI",
"DBADetails": null,
"Address": {
"Address1": "2500 Horizon Parkway",
"Address2": "Suite 200",
"City": "Plano",
"ProvinceOrState": "TX",
"ZipCd": "75024",
"Country": "US"
},
"ContactDetails": {
"FirstNm": "Michael",
"MiddleNm": "A",
"LastNm": "Carter",
"Suffix": "Jr",
"Phone": "9725550100",
"PhoneExtn": "205",
"Email": "horizonllc@sample.com",
"Fax": "9725550199"
}
}
},
"ReturnData": [
{
"SequenceId": "1",
"ReturnManifest": {
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsForced": false
},
"Recipient": {
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "SSN",
"TIN": "321-44-5782"
},
"BusinessNm": null,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": null
},
"DBADetails": null,
"Address": {
"Address1": "789 Market Street",
"Address2": "Suite 1200",
"City": "San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"QFormData": {
"GrossDist": "5600",
"Earnings": "5000",
"Basis": "600",
"IsTTE2TTETransfer": true,
"IsQTP2RothIRATransfer": false,
"DistFrom": "PRIVATE",
"IsDesignatedBenificiary": true,
"DistCd": "1",
"AccountNum": "12345"
}
}
]
}`)
client := &http.Client{}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println("Error creating request:", err)
return
}
req.Header.Set("Authorization", "<ACCESS_TOKEN>")
req.Header.Set("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println("Error sending request:", err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println("Error reading response:", err)
return
}
fmt.Println("Status Code:", res.StatusCode)
fmt.Println(string(body))
}
const axios = require('axios');
let data = JSON.stringify({
"SubmissionManifest": {
"TaxYear": "2026",
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsScheduleFiling": false,
"ScheduleFiling": null
},
"ReturnHeader": {
"Business": {
"BusinessId": null,
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "EIN",
"TIN": "72-5564874"
},
"IndividualNm": null,
"BusinessNm": "Horizon LLC",
"NameCtrl": "HORI",
"DBADetails": null,
"Address": {
"Address1": "2500 Horizon Parkway",
"Address2": "Suite 200",
"City": "Plano",
"ProvinceOrState": "TX",
"ZipCd": "75024",
"Country": "US"
},
"ContactDetails": {
"FirstNm": "Michael",
"MiddleNm": "A",
"LastNm": "Carter",
"Suffix": "Jr",
"Phone": "9725550100",
"PhoneExtn": "205",
"Email": "horizonllc@sample.com",
"Fax": "9725550199"
}
}
},
"ReturnData": [
{
"SequenceId": "1",
"ReturnManifest": {
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsForced": false
},
"Recipient": {
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "SSN",
"TIN": "321-44-5782"
},
"BusinessNm": null,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": null
},
"DBADetails": null,
"Address": {
"Address1": "789 Market Street",
"Address2": "Suite 1200",
"City": "San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"QFormData": {
"GrossDist": "5600",
"Earnings": "5000",
"Basis": "600",
"IsTTE2TTETransfer": true,
"IsQTP2RothIRATransfer": false,
"DistFrom": "PRIVATE",
"IsDesignatedBenificiary": true,
"DistCd": "1",
"AccountNum": "12345"
}
}
]
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: '<APIURL>/v2.0.0/Form1099Q/ValidateForm',
headers: {
'Authorization': '<ACCESS_TOKEN>',
'Content-Type': 'application/json'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import http.client
import json
conn = http.client.HTTPSConnection("<APIURL>")
payload = json.dumps({
"SubmissionManifest": {
"TaxYear": "2026",
"IsFederal": True,
"IsState": True,
"IsDistribution": True,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsScheduleFiling": False,
"ScheduleFiling": None
},
"ReturnHeader": {
"Business": {
"BusinessId": None,
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "EIN",
"TIN": "72-5564874"
},
"IndividualNm": None,
"BusinessNm": "Horizon LLC",
"NameCtrl": "HORI",
"DBADetails": None,
"Address": {
"Address1": "2500 Horizon Parkway",
"Address2": "Suite 200",
"City": "Plano",
"ProvinceOrState": "TX",
"ZipCd": "75024",
"Country": "US"
},
"ContactDetails": {
"FirstNm": "Michael",
"MiddleNm": "A",
"LastNm": "Carter",
"Suffix": "Jr",
"Phone": "9725550100",
"PhoneExtn": "205",
"Email": "horizonllc@sample.com",
"Fax": "9725550199"
}
}
},
"ReturnData": [
{
"SequenceId": "1",
"ReturnManifest": {
"IsFederal": True,
"IsState": True,
"IsDistribution": True,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsForced": False
},
"Recipient": {
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "SSN",
"TIN": "321-44-5782"
},
"BusinessNm": None,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": None
},
"DBADetails": None,
"Address": {
"Address1": "789 Market Street",
"Address2": "Suite 1200",
"City": "San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"QFormData": {
"GrossDist": "5600",
"Earnings": "5000",
"Basis": "600",
"IsTTE2TTETransfer": True,
"IsQTP2RothIRATransfer": False,
"DistFrom": "PRIVATE",
"IsDesignatedBenificiary": True,
"DistCd": "1",
"AccountNum": "12345"
}
}
]
})
headers = {
'Authorization': '<ACCESS_TOKEN>',
'Content-Type': 'application/json'
}
conn.request("POST", "/v2.0.0/Form1099Q/ValidateForm", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "<APIURL>/v2.0.0/Form1099Q/ValidateForm");
request.Headers.Add("Authorization", "<ACCESS_TOKEN>");
var content = new StringContent("{
"SubmissionManifest": {
"TaxYear": "2026",
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsScheduleFiling": false,
"ScheduleFiling": null
},
"ReturnHeader": {
"Business": {
"BusinessId": null,
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "EIN",
"TIN": "72-5564874"
},
"IndividualNm": null,
"BusinessNm": "Horizon LLC",
"NameCtrl": "HORI",
"DBADetails": null,
"Address": {
"Address1": "2500 Horizon Parkway",
"Address2": "Suite 200",
"City": "Plano",
"ProvinceOrState": "TX",
"ZipCd": "75024",
"Country": "US"
},
"ContactDetails": {
"FirstNm": "Michael",
"MiddleNm": "A",
"LastNm": "Carter",
"Suffix": "Jr",
"Phone": "9725550100",
"PhoneExtn": "205",
"Email": "horizonllc@sample.com",
"Fax": "9725550199"
}
}
},
"ReturnData": [
{
"SequenceId": "1",
"ReturnManifest": {
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsForced": false
},
"Recipient": {
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "SSN",
"TIN": "321-44-5782"
},
"BusinessNm": null,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": null
},
"DBADetails": null,
"Address": {
"Address1": "789 Market Street",
"Address2": "Suite 1200",
"City": "San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"QFormData": {
"GrossDist": "5600",
"Earnings": "5000",
"Basis": "600",
"IsTTE2TTETransfer": true,
"IsQTP2RothIRATransfer": false,
"DistFrom": "PRIVATE",
"IsDesignatedBenificiary": true,
"DistCd": "1",
"AccountNum": "12345"
}
}
]
}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "json"
require "net/http"
url = URI("<APIURL>/v2.0.0/Form1099Q/ValidateForm")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "<ACCESS_TOKEN>"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"SubmissionManifest": {
"TaxYear": "2026",
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsScheduleFiling": false,
"ScheduleFiling": "nil"
},
"ReturnHeader": {
"Business": {
"BusinessId": "nil",
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "EIN",
"TIN": "72-5564874"
},
"IndividualNm": "nil",
"BusinessNm": "Horizon LLC",
"NameCtrl": "HORI",
"DBADetails": "nil",
"Address": {
"Address1": "2500 Horizon Parkway",
"Address2": "Suite 200",
"City": "Plano",
"ProvinceOrState": "TX",
"ZipCd": "75024",
"Country": "US"
},
"ContactDetails": {
"FirstNm": "Michael",
"MiddleNm": "A",
"LastNm": "Carter",
"Suffix": "Jr",
"Phone": "9725550100",
"PhoneExtn": "205",
"Email": "horizonllc@sample.com",
"Fax": "9725550199"
}
}
},
"ReturnData": [
{
"SequenceId": "1",
"ReturnManifest": {
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsForced": false
},
"Recipient": {
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "SSN",
"TIN": "321-44-5782"
},
"BusinessNm": "nil",
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": "nil"
},
"DBADetails": "nil",
"Address": {
"Address1": "789 Market Street",
"Address2": "Suite 1200",
"City": "San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"QFormData": {
"GrossDist": "5600",
"Earnings": "5000",
"Basis": "600",
"IsTTE2TTETransfer": true,
"IsQTP2RothIRATransfer": false,
"DistFrom": "PRIVATE",
"IsDesignatedBenificiary": true,
"DistCd": "1",
"AccountNum": "12345"
}
}
]
})
response = http.request(request)
puts response.read_body
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{
"SubmissionManifest": {
"TaxYear": "2026",
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsScheduleFiling": false,
"ScheduleFiling": null
},
"ReturnHeader": {
"Business": {
"BusinessId": null,
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "EIN",
"TIN": "72-5564874"
},
"IndividualNm": null,
"BusinessNm": "Horizon LLC",
"NameCtrl": "HORI",
"DBADetails": null,
"Address": {
"Address1": "2500 Horizon Parkway",
"Address2": "Suite 200",
"City": "Plano",
"ProvinceOrState": "TX",
"ZipCd": "75024",
"Country": "US"
},
"ContactDetails": {
"FirstNm": "Michael",
"MiddleNm": "A",
"LastNm": "Carter",
"Suffix": "Jr",
"Phone": "9725550100",
"PhoneExtn": "205",
"Email": "horizonllc@sample.com",
"Fax": "9725550199"
}
}
},
"ReturnData": [
{
"SequenceId": "1",
"ReturnManifest": {
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsForced": false
},
"Recipient": {
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "SSN",
"TIN": "321-44-5782"
},
"BusinessNm": null,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": null
},
"DBADetails": null,
"Address": {
"Address1": "789 Market Street",
"Address2": "Suite 1200",
"City": "San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"QFormData": {
"GrossDist": "5600",
"Earnings": "5000",
"Basis": "600",
"IsTTE2TTETransfer": true,
"IsQTP2RothIRATransfer": false,
"DistFrom": "PRIVATE",
"IsDesignatedBenificiary": true,
"DistCd": "1",
"AccountNum": "12345"
}
}
]
}");
Request request = new Request.Builder()
.url("<APIURL>/v2.0.0/Form1099Q/ValidateForm")
.method("POST", body)
.addHeader("Authorization", "<ACCESS_TOKEN>")
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
curl --location '<APIURL>/v2.0.0/Form1099Q/ValidateForm' --header 'Authorization: <ACCESS_TOKEN>' --header 'Content-Type: application/json' --data-raw '{
"SubmissionManifest": {
"TaxYear": "2026",
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsScheduleFiling": false,
"ScheduleFiling": null
},
"ReturnHeader": {
"Business": {
"BusinessId": null,
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "EIN",
"TIN": "72-5564874"
},
"IndividualNm": null,
"BusinessNm": "Horizon LLC",
"NameCtrl": "HORI",
"DBADetails": null,
"Address": {
"Address1": "2500 Horizon Parkway",
"Address2": "Suite 200",
"City": "Plano",
"ProvinceOrState": "TX",
"ZipCd": "75024",
"Country": "US"
},
"ContactDetails": {
"FirstNm": "Michael",
"MiddleNm": "A",
"LastNm": "Carter",
"Suffix": "Jr",
"Phone": "9725550100",
"PhoneExtn": "205",
"Email": "horizonllc@sample.com",
"Fax": "9725550199"
}
}
},
"ReturnData": [
{
"SequenceId": "1",
"ReturnManifest": {
"IsFederal": true,
"IsState": true,
"IsDistribution": true,
"DistributionDetails": {
"DistributionType": "POSTAL_AND_ONLINE",
"PostalType": "USPS_FIRST_CLASS"
},
"IsForced": false
},
"Recipient": {
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "SSN",
"TIN": "321-44-5782"
},
"BusinessNm": null,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": null
},
"DBADetails": null,
"Address": {
"Address1": "789 Market Street",
"Address2": "Suite 1200",
"City": "San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"QFormData": {
"GrossDist": "5600",
"Earnings": "5000",
"Basis": "600",
"IsTTE2TTETransfer": true,
"IsQTP2RothIRATransfer": false,
"DistFrom": "PRIVATE",
"IsDesignatedBenificiary": true,
"DistCd": "1",
"AccountNum": "12345"
}
}
]
}'