ValidateForm
ValidateForm
Use this endpoint to validate 1099-R data against IRS business rules before creating the form.
POST form1099r/ValidateForm Request Body
| Field | Type | Description |
|---|---|---|
| SubmissionManifest | object[] | SubmissionManifest provides brief information about a particular submission on the whole. It contains information like - Tax Year - IsScheduleFiling & ScheduleFiling service details |
| TaxYear | string | Tax year of Form 1099-R to be filed.Allowed values"2025", "2026" |
| IsFederal | Boolean | Federal Filing will be enabled when the value is True. Form 1099-R will be sent directly to the IRS. |
| IsState | Boolean | State Filing will be enabled when the value is True. Form 1099-R 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-R returns under this submission. |
| ScheduleFiling | object[] | Contains the preferred date to submit the returns to the IRS. Note: 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 | 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. |
| TINType | string | Specify the TIN type of the business.Allowed values"EIN", "SSN" |
| 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. Returned in the response. |
| IsDefaultDBA | Boolean | When TRUE, marks this DBA as the default. |
| Address | object[] | Address information of 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 |
| ProvinceOrStateNm | String | DBA's province or state name.Allowed valuesWhen the country code is US: |
| ZipCd | string | DBA's ZIP code. Size Range: 5-16 |
| Country | String | DBA's 2-character country code.Allowed values"US", "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AT", "AU", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DO", "DM", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RO", "RS", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "SS", "ES", "LK", "SD", "SR", "SJ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TO", "TL", "TN", "TD", "TS", "TU", "TK", "TF", "TV", "UG", "UP", "AE", "UK", "UY", "UZ", "NH", "VE", "VM", "VQ", "WQ", "WF", "WI", "YM", "ZA", "ZI" |
| Address | object | Business address details. |
| 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. 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", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AT", "AU", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DO", "DM", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RO", "RS", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "SS", "ES", "LK", "SD", "SR", "SJ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TO", "TL", "TN", "TD", "TS", "TU", "TK", "TF", "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 | 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 |
| ReturnData | object[] | Contains information about the recipient details and Form 1099-R 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-R will be sent directly to the IRS. |
| IsState | Boolean | State Filing for the return will be enabled when the value is True. Form 1099-R 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 it comprises the same amounts as in previously filed returns. For more information on duplicate handling for Form 1099s, please 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 recipient details. |
| RecipientId | Guid | 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
|
| TINType | string | TIN type of the recipient.Allowed values"EIN", "SSN", "ATIN", "ITIN", "NA" |
| 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 The middle name of the individual. Size Range: 20 |
| LastNm | string | 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. 1-50 characters |
| Address | object[] | Address information of DBA |
| Address1 | String | Street address or PO Box. Max 46 characters |
| Address2 | String | Optional Suite or apartment number. Max 46 characters |
| City | String | DBA’s city. Max 50 characters |
| ProvinceOrState | String | DBA’s province or state name. 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", "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. 5 - 16 characters |
| Country | String | DBA’s 2-character country code.Allowed values"US", "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AT", "AU", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DO", "DM", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RO", "RS", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "SS", "ES", "LK", "SD", "SR", "SJ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TO", "TL", "TN", "TD", "TS", "TU", "TK", "TF", "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. 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", "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"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", "US", "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", "MP", "MU", "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 the DistributionType is ONLINE_ACCESS is set to true | |
| Fax | string | Optional Fax number of the recipient. Size Range: 10 |
| Phone | string | Optional Phone number of the recipient. Size Range: 10 |
| RFormData | object | Recipient's Form 1099-R information. |
| GrossDistribution | number | Gross Distribution - Get at least one distribution code. Size Range: 0-9999999999.99 |
| TaxableAmt | number | Taxable Amount - Gets the Taxable Amount Size Range: 0-9999999999.99 |
| IsTaxableAmtNotDetermined | Boolean | When True, the taxable amount of the payment entered for Gross distribution cannot be computed. |
| IsTotalDistribution | Boolean | When True, the payment shown in gross Distribution Amount is a total distribution that closes out the account. |
| CapitalGain | number | Capital Gain - Get the amount from a charitable gift annuity that is taxable as a capital gain. Size Range: 0-9999999999.99 |
| FedTaxWH | number | Federal Tax Withheld - Get any federal income tax withheld. Size Range: 0-9999999999.99 Note : This value should be less than the 40% sum of boxes 1, 2a, 3, 5, 6, 8, 9b and 10. |
| EmpContribution | number | Get the employee's contributions, designated Roth contributions, or insurance premiums that the employee may recover tax free this year. Size Range: 0-9999999999.99 |
| NUA | number | Get all the NUA in employer securities if this is a lump-sum distribution. If this is not a lump-sum distribution, get only the NUA in employer securities attributable to employee contributions. Size Range: 0-9999999999.99 |
| DistCodes | string | Get the appropriate code. More than one code may apply. Size Range: 2 Allowed values"1", " 18", "1B", " 1D", "1K", "1L", "1M", "1P", "2", "28", "2B", "2D", "2K", "2L", "2M", "2P", "3", "3D", "4", "48", "4A", "4B", "4D", "4G", "4H", "4K", "4L", "4M", "4P", "5", "6", "6W", "7", "7A", "7B", "7D", "7K", "7L", "7M", "8", " 81", "82", "84", "8B", "8J", "8K", "9", "A4", "A7", "B", "B1", "B2", "B4", "B7", "B8", "BG", "BL", "BM", "BP", "BU", "C", "CD", "D1", "D2", "D3", "D4", "D7", "DC", "E", "F", "G", "G4", "GB", "GK", "H", "H4", "J", "J8", "JP", "K1", "K2", "K4", "K7", "K8", "KG", "L", "L1", "L2", "L4", "L7", "LB", "M", "M1", "M2", "M4", "M7", "MB", "N", "P", "P1", "P2", "P4", "PB", "PJ", "Q", "R", "S", "T", "U", "UB", "W", "W6", "Y4", "Y7", "YK", "Y" |
| IsIRASEPSIMPLE | Boolean | When True, it is a traditional IRA, SEP, or SIMPLE distribution or Roth conversion. |
| IsTrumpAccount | Boolean | Trump Account Indicator - When True, indicates that the distribution is associated with a Trump Account. |
| ExcessContrib | number | Get the amount of excess contributions or excess deferrals distributed to the recipient. Size Range: 0-9999999999.99 |
| Other | number | Get the current actuarial value of an annuity contract that is part of a lump-sum distribution. Size Range: 0-9999999999.99 |
| OtherPercentage | number | Get the percentage of the total annuity contract. |
| TotDistPercentage | number | Total Distribution Percentage - Get the percentage when reporting a total distribution to more than one person, such as when a participant is deceased, and an issuer distributes to two or more beneficiaries. If the percentage is 100, leave this field blank. Size Range: 2 |
| TotEmpContribution | number | Total employee contributions - Get the total employee distribution. Do not include any amounts recovered tax free in prior years. Size Range: 0-9999999999.99 |
| AmtToIRR5Years | number | Get the amount of the distribution allocable to an IRR made within the 5 year, beginning with the first day of the year in which the rollover was made. Size Range: 0-9999999999.99 |
| DesigRoth1stYear | number | Get the first year of the 5 tax-year periods. This is the year in which the recipient first established the designated Roth account.It should be in "YYYY" Format. Size Range: 4 |
| IsFATCAFiling | Boolean | When true, there is a FATCA Filing Requirement. |
| DateOfPayment | string | Get the date of payment for reportable death benefits under section 6050Y.It should be in "MM/DD/YYYY" format. Size Range: 8 |
| AccountNum | string | Account number of Payer having multiple accounts for a recipient for whom more than one Form 1099-R is filed. 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. |
| States | object[] | Contains list of state returns information. |
| StateCd | string | State Code. Size Range: 2 |
| StateIdNum | string | Identification Number of State. Size Range: ..20 |
| StateWH | number | Income tax amount withheld for State. Size Range: 0-9999999999.99 |
| StateDistribution | number | Total state distribution amount. Size Range: 0-9999999999.99 |
| LocalDistribution | number | Local Distribution. Size Range: 0-9999999999.99 |
| LocalTax | number | Local income tax withheld. Size Range: 0-9999999999.99 |
| LocalityNm | string | Name of the Locality. Size Range: 20 |
Response Body
| Field | Type | Description |
|---|---|---|
| ErrorRecords | object[] | It will show the detailed information about the error status of Form 1099-R 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 |
| Errors | object[] | Shows detailed error information |
| Code | string | Returns the validation error code |
| Name | string | Name of the validation error |
| Message | string | Description of the validation error |
| Type | string | Type of validation error |
Payload

Go Lang
Node.js
Python
.NET C#

Ruby
Java

cURL
| Sample | Description | Action |
|---|---|---|
| Sample 1 | Create a Form 1099-R return with both Business and Recipient TIN as EIN |
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-5564875"
},
"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-5789"
},
"BusinessNm": null,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": null
},
"DBADetails": null,
"Address": {
"Address1": "780 Market Street",
"Address2": "Suite 1200",
"City": " San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"RFormData": {
"GrossDistribution": "2563",
"TaxableAmt": 0,
"IsTaxableAmtNotDetermined": true,
"IsTotalDistribution": false,
"CapitalGain": 880,
"FedTaxWH": 90,
"EmpContribution": 0,
"NUA": 0,
"DistCodes": "1",
"IsSIRASEPSIMPLE": false,
"IsTrumpAccount": true,
"ExcessContrib": 880,
"Other": 80,
"OtherPercentage": 99,
"TotDistPercentage": 99,
"TotEmpContribution": 0,
"AmtToIRR5Years": 0,
"DesigRoth1stYear": 1901,
"IsFATCAFiling": false,
"DateOfPayment": "12/3/2020",
"AccountNum": "9252",
"States": [
{
"StateCd": "PA",
"StateWH": 15.56,
"StateDistribution": 100,
"StateIdNum": "99999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
},
{
"StateCd": "AZ",
"StateWH": 17.45,
"StateDistribution": 100,
"StateIdNum": "99-9999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
}
]
}
}
]
}
| Response | Description | Action |
|---|---|---|
| 200 | Success Response - You'll get the below response when the request is processed successfully. |
Response: 200
{
"ErrorRecords": null,
"Errors": null
}
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
url := "<APIURL>/v2.0.0/Form1099r/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-5564875"
},
"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-5789"
},
"BusinessNm": null,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": null
},
"DBADetails": null,
"Address": {
"Address1": "780 Market Street",
"Address2": "Suite 1200",
"City": "San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"RFormData": {
"GrossDistribution": "2563",
"TaxableAmt": 0,
"IsTaxableAmtNotDetermined": true,
"IsTotalDistribution": false,
"CapitalGain": 880,
"FedTaxWH": 90,
"EmpContribution": 0,
"NUA": 0,
"DistCodes": "1",
"IsSIRASEPSIMPLE": false,
"IsTrumpAccount": true,
"ExcessContrib": 880,
"Other": 80,
"OtherPercentage": 99,
"TotDistPercentage": 99,
"TotEmpContribution": 0,
"AmtToIRR5Years": 0,
"DesigRoth1stYear": 1901,
"IsFATCAFiling": false,
"DateOfPayment": "12/3/2020",
"AccountNum": "9252",
"States": [
{
"StateCd": "PA",
"StateWH": 15.56,
"StateDistribution": 100,
"StateIdNum": "99999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
},
{
"StateCd": "AZ",
"StateWH": 17.45,
"StateDistribution": 100,
"StateIdNum": "99-9999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
}
]
}
}
]
}`)
client := &http.Client{}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println("Error creating request:", err)
return
}
req.Header.Add("Authorization", "<ACCESS_TOKEN>")
req.Header.Add("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(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-5564875"
},
"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-5789"
},
"BusinessNm": null,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": null
},
"DBADetails": null,
"Address": {
"Address1": "780 Market Street",
"Address2": "Suite 1200",
"City": " San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"RFormData": {
"GrossDistribution": "2563",
"TaxableAmt": 0,
"IsTaxableAmtNotDetermined": true,
"IsTotalDistribution": false,
"CapitalGain": 880,
"FedTaxWH": 90,
"EmpContribution": 0,
"NUA": 0,
"DistCodes": "1",
"IsSIRASEPSIMPLE": false,
"IsTrumpAccount": true,
"ExcessContrib": 880,
"Other": 80,
"OtherPercentage": 99,
"TotDistPercentage": 99,
"TotEmpContribution": 0,
"AmtToIRR5Years": 0,
"DesigRoth1stYear": 1901,
"IsFATCAFiling": false,
"DateOfPayment": "12/3/2020",
"AccountNum": "9252",
"States": [
{
"StateCd": "PA",
"StateWH": 15.56,
"StateDistribution": 100,
"StateIdNum": "99999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
},
{
"StateCd": "AZ",
"StateWH": 17.45,
"StateDistribution": 100,
"StateIdNum": "99-9999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
}
]
}
}
]
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: '<APIURL>/v2.0.0/Form1099r/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-5564875"
},
"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-5789"
},
"BusinessNm": None,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": None
},
"DBADetails": None,
"Address": {
"Address1": "780 Market Street",
"Address2": "Suite 1200",
"City": " San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"RFormData": {
"GrossDistribution": "2563",
"TaxableAmt": 0,
"IsTaxableAmtNotDetermined": True,
"IsTotalDistribution": False,
"CapitalGain": 880,
"FedTaxWH": 90,
"EmpContribution": 0,
"NUA": 0,
"DistCodes": "1",
"IsSIRASEPSIMPLE": False,
"IsTrumpAccount": True,
"ExcessContrib": 880,
"Other": 80,
"OtherPercentage": 99,
"TotDistPercentage": 99,
"TotEmpContribution": 0,
"AmtToIRR5Years": 0,
"DesigRoth1stYear": 1901,
"IsFATCAFiling": False,
"DateOfPayment": "12/3/2020",
"AccountNum": "9252",
"States": [
{
"StateCd": "PA",
"StateWH": 15.56,
"StateDistribution": 100,
"StateIdNum": "99999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
},
{
"StateCd": "AZ",
"StateWH": 17.45,
"StateDistribution": 100,
"StateIdNum": "99-9999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
}
]
}
}
]
})
headers = {
'Authorization': '<ACCESS_TOKEN>',
'Content-Type': 'application/json'
}
conn.request("POST", "/v2.0.0/Form1099r/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/Form1099r/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-5564875"
},
"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-5789"
},
"BusinessNm": null,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": null
},
"DBADetails": null,
"Address": {
"Address1": "780 Market Street",
"Address2": "Suite 1200",
"City": " San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"RFormData": {
"GrossDistribution": "2563",
"TaxableAmt": 0,
"IsTaxableAmtNotDetermined": true,
"IsTotalDistribution": false,
"CapitalGain": 880,
"FedTaxWH": 90,
"EmpContribution": 0,
"NUA": 0,
"DistCodes": "1",
"IsSIRASEPSIMPLE": false,
"IsTrumpAccount": true,
"ExcessContrib": 880,
"Other": 80,
"OtherPercentage": 99,
"TotDistPercentage": 99,
"TotEmpContribution": 0,
"AmtToIRR5Years": 0,
"DesigRoth1stYear": 1901,
"IsFATCAFiling": false,
"DateOfPayment": "12/3/2020",
"AccountNum": "9252",
"States": [
{
"StateCd": "PA",
"StateWH": 15.56,
"StateDistribution": 100,
"StateIdNum": "99999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
},
{
"StateCd": "AZ",
"StateWH": 17.45,
"StateDistribution": 100,
"StateIdNum": "99-9999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
}
]
}
}
]
}", 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/Form1099r/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-5564875"
},
"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-5789"
},
"BusinessNm": "nil",
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": "nil"
},
"DBADetails": "nil",
"Address": {
"Address1": "780 Market Street",
"Address2": "Suite 1200",
"City": " San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"RFormData": {
"GrossDistribution": "2563",
"TaxableAmt": 0,
"IsTaxableAmtNotDetermined": true,
"IsTotalDistribution": false,
"CapitalGain": 880,
"FedTaxWH": 90,
"EmpContribution": 0,
"NUA": 0,
"DistCodes": "1",
"IsSIRASEPSIMPLE": false,
"IsTrumpAccount": true,
"ExcessContrib": 880,
"Other": 80,
"OtherPercentage": 99,
"TotDistPercentage": 99,
"TotEmpContribution": 0,
"AmtToIRR5Years": 0,
"DesigRoth1stYear": 1901,
"IsFATCAFiling": false,
"DateOfPayment": "12/3/2020",
"AccountNum": "9252",
"States": [
{
"StateCd": "PA",
"StateWH": 15.56,
"StateDistribution": 100,
"StateIdNum": "99999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
},
{
"StateCd": "AZ",
"StateWH": 17.45,
"StateDistribution": 100,
"StateIdNum": "99-9999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
}
]
}
}
]
})
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-5564875"
},
"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-5789"
},
"BusinessNm": null,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": null
},
"DBADetails": null,
"Address": {
"Address1": "780 Market Street",
"Address2": "Suite 1200",
"City": " San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"RFormData": {
"GrossDistribution": "2563",
"TaxableAmt": 0,
"IsTaxableAmtNotDetermined": true,
"IsTotalDistribution": false,
"CapitalGain": 880,
"FedTaxWH": 90,
"EmpContribution": 0,
"NUA": 0,
"DistCodes": "1",
"IsSIRASEPSIMPLE": false,
"IsTrumpAccount": true,
"ExcessContrib": 880,
"Other": 80,
"OtherPercentage": 99,
"TotDistPercentage": 99,
"TotEmpContribution": 0,
"AmtToIRR5Years": 0,
"DesigRoth1stYear": 1901,
"IsFATCAFiling": false,
"DateOfPayment": "12/3/2020",
"AccountNum": "9252",
"States": [
{
"StateCd": "PA",
"StateWH": 15.56,
"StateDistribution": 100,
"StateIdNum": "99999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
},
{
"StateCd": "AZ",
"StateWH": 17.45,
"StateDistribution": 100,
"StateIdNum": "99-9999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
}
]
}
}
]
}");
Request request = new Request.Builder()
.url("<APIURL>/v2.0.0/Form1099r/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/Form1099r/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-5564875"
},
"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-5789"
},
"BusinessNm": null,
"NameCtrl": "THOM",
"IndividualNm": {
"FirstNm": "David",
"MiddleNm": "R",
"LastNm": "Thompson",
"Suffix": null
},
"DBADetails": null,
"Address": {
"Address1": "780 Market Street",
"Address2": "Suite 1200",
"City": " San Francisco",
"ProvinceOrState": "CA",
"ZipCd": "94103",
"Country": "US"
},
"Email": "david.thompson@sample.com",
"Fax": "2145550199",
"Phone": "2145550100"
},
"RFormData": {
"GrossDistribution": "2563",
"TaxableAmt": 0,
"IsTaxableAmtNotDetermined": true,
"IsTotalDistribution": false,
"CapitalGain": 880,
"FedTaxWH": 90,
"EmpContribution": 0,
"NUA": 0,
"DistCodes": "1",
"IsSIRASEPSIMPLE": false,
"IsTrumpAccount": true,
"ExcessContrib": 880,
"Other": 80,
"OtherPercentage": 99,
"TotDistPercentage": 99,
"TotEmpContribution": 0,
"AmtToIRR5Years": 0,
"DesigRoth1stYear": 1901,
"IsFATCAFiling": false,
"DateOfPayment": "12/3/2020",
"AccountNum": "9252",
"States": [
{
"StateCd": "PA",
"StateWH": 15.56,
"StateDistribution": 100,
"StateIdNum": "99999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
},
{
"StateCd": "AZ",
"StateWH": 17.45,
"StateDistribution": 100,
"StateIdNum": "99-9999999",
"LocalDistribution": 300.23,
"LocalTax": 100.45,
"LocalityNm": "Pristine"
}
]
}
}
]
}'