ValidateForm
ValidateForm
Use this endpoint to validate 1099-B data against IRS business rules before creating the form.
POST form1099b/validate 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-B to be filed.Allowed values"2025", "2026" |
| IsFederal | Boolean | Federal Filing will be enabled when the value is True. Form 1099-B will be sent directly to the IRS. |
| IsState | Boolean | State Filing will be enabled when the value is True. Form 1099-B 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-B 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-B 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-B will be sent directly to the IRS. |
| IsState | Boolean | State Filing for the return will be enabled when the value is True. Form 1099-B 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 |
| BFormData | object | Recipient's Form 1099-B information |
| DescrOfProp | string | Enter the issuer's name and the number of shares or units you held that were exchanged. Size Range: 39 |
| DateAcquired | string | Enter the date of acquisition in the format MM/DD/YYYY. Size Range: 8 |
| DateSoldOrDisposed | string | For broker transactions, enter the trade date of the transaction. For barter exchanges, enter the date when cash, property, a credit, or scrip is actually or constructively received in MM/DD/YYYY format. Size Range: 8 |
| Proceeds | number | Enter the gross cash proceeds from all dispositions (including short sales) of securities, commodities, options, securities futures contracts, or forward contracts. Size Range: 0-9999999999.99 |
| CostOrOtherBasis | number | Enter the adjusted basis of any securities sold unless the security is not a covered security. Size Range: 0-9999999999.99 |
| AccruedMktDisc | number | Enter the amount of accrued market discount. Size Range: 0-9999999999.99 |
| WashsaleLossDisallowed | number | Report wash sale loss amount disallowed. Size Range: 0-9999999999.99 |
| TypeOfGainLoss | Enum | Enter the type of Gain or Loss.Allowed values"SHORT TERM", "LONG TERM", "ORDINARY SHORT TERM", "ORDINARY LONG TERM" |
| IsProceedsFromCollectibles | Boolean | When true, identifies reporting proceeds from Collectibles. |
| IsProceedsFromQOF | Boolean | When true, identifies reporting proceeds from Qualified Opportunity Fund. |
| FedTaxWH | number | Enter backup withholding. Size Range: 0-9999999999.99 Note : This value should be less than 40% of the box 1d. |
| IsNonCoveredSecurityNotReported | Boolean | When true, identifies that noncovered security Basis not reported to the IRS |
| IsNonCoveredSecurityReported | Boolean | When true, identifies that noncovered security Basis reported to the IRS |
| IsGrossProceeds | Boolean | When true, identifies gross proceeds. |
| IsNetProceeds | Boolean | When true, identifies net proceeds. |
| IsLossNotAllowedbasedOn1d | Boolean | When true, identifies recipient is unable to claim a loss on their tax return based on proceeds. |
| PLRealizedOnClosedContract | number | Enter the profit or (loss) realized by the customer on closed regulated futures, foreign currency, or Section 1256 option contracts in following tax year. Size Range: 0-9999999999.99 |
| PLUnrealizedOnOpenContractPrevTy | number | Enter the unrealized profit or (loss) on open regulated futures, foreign currency, or Section 1256 option contracts at the end of following tax year. Size Range: 0-9999999999.99 |
| UnrealizedPLOpenContractCurTy | number | Enter the unrealized profit or (loss) on open regulated futures, foreign currency, or Section 1256 option contracts at the end of following tax year. Size Range: 0-9999999999.99 |
| AggPLOnContract | number | Enter the aggregate profit or (loss) for the year from regulated futures, foreign currency, or Section 1256 option contracts. Size Range: 0-9999999999.99 |
| IsBasisReportedToIRS | Boolean | When true, identifies that not checking box 5, or e checking box 5 but are reporting basis to the IRS in box 1e anyway. |
| Bartering | number | Enter the gross amounts received by a member or client of a barter exchange. Size Range: 0-9999999999.99 |
| Form8949Code | string | Enter a one-letter code that will assist the recipient in reporting the transaction on Form 8949 and/or Schedule D (Form 1040). |
| CUSIPNum | string | For transactional reporting by brokers, enter the CUSIP number of the security or other applicable identifying number. Size Range: 13 |
| AccountNum | string | Account number of Payer having multiple accounts for a recipient for whom more than one Form 1099-B 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. |
| IsFATCA | Boolean | When true, identifies a U.S. payer reporting on Form(s) 1099 (including reporting payments on this Form 1099-B) to satisfy their foreign financial asset reporting requirement with respect to a U.S. account. |
| Is2ndTINnot | Boolean | When true, identifies a Payer who is notified by the IRS twice within 3 calendar years for providing an incorrect TIN and do not want the IRS to send any more notices. |
| States | object[] | Contains list of state returns information. |
| StateCd | string | State Codes. 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 |
Response Body
| Field | Type | Description |
|---|---|---|
| ErrorRecords | object[] | It will show the detailed information about the error status of Form 1099-B 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-B 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-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"
},
"BFormData": {
"DescrOfProp": "100 Shares of ABC Corporation",
"DateAcquired": "03/15/2026",
"DateSoldOrDisposed": "06/15/2026",
"Proceeds": 2500.75,
"CostOrOtherBasis": null,
"AccruedMktDisc": null,
"WashsaleLossDisallowed": 25,
"TypeOfGainLoss": "ordinary short term",
"IsProceedsFromCollectibles": true,
"IsProceedsFromQOF": false,
"FedTaxWH": 150,
"IsNonCoveredSecurityNotReported": false,
"IsNonCoveredSecurityReported": false,
"IsGrossProceeds": true,
"IsNetProceeds": false,
"IsLossNotAllowedbasedOn1d": false,
"PLRealizedOnClosedContract": 0,
"PLUnrealizedOnOpenContractPrevTy": 0,
"UnrealizedPLOnOpenContractCurTy": 0,
"AggPLOnContract": 0,
"IsBasisReportedToIRS": true,
"Bartering": 0,
"AccountNum": "ACC789121",
"CUSIPNum": "037833100",
"IsFATCA": false,
"Form8949Code": "A",
"Is2ndTINnot": false,
"States": [
{
"StateCd": "CA",
"StateIdNum": "123456789",
"StateWH": 25.75
},
{
"StateCd": "NY",
"StateIdNum": "987654321",
"StateWH": 18.5
}
]
}
}
]
}
| 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/form1099b/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"
},
"BFormData": {
"DescrOfProp": "100 Shares of ABC Corporation",
"DateAcquired": "03/15/2026",
"DateSoldOrDisposed": "06/15/2026",
"Proceeds": 2500.75,
"CostOrOtherBasis": null,
"AccruedMktDisc": null,
"WashsaleLossDisallowed": 25.00,
"TypeOfGainLoss": "ordinary short term",
"IsProceedsFromCollectibles": true,
"IsProceedsFromQOF": false,
"FedTaxWH": 150.00,
"IsNonCoveredSecurityNotReported": false,
"IsNonCoveredSecurityReported": false,
"IsGrossProceeds": true,
"IsNetProceeds": false,
"IsLossNotAllowedbasedOn1d": false,
"PLRealizedOnClosedContract": 0,
"PLUnrealizedOnOpenContractPrevTy": 0,
"UnrealizedPLOnOpenContractCurTy": 0,
"AggPLOnContract": 0,
"IsBasisReportedToIRS": true,
"Bartering": 0,
"AccountNum": "ACC789121",
"CUSIPNum": "037833100",
"IsFATCA": false,
"Form8949Code": "A",
"Is2ndTINnot": false,
"States": [
{
"StateCd": "CA",
"StateIdNum": "123456789",
"StateWH": 25.75
},
{
"StateCd": "NY",
"StateIdNum": "987654321",
"StateWH": 18.50
}
]
}
}
]
}`)
client := &http.Client{}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(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(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Status:", res.Status)
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"
},
"BFormData": {
"DescrOfProp": "100 Shares of ABC Corporation",
"DateAcquired": "03/15/2026",
"DateSoldOrDisposed": "06/15/2026",
"Proceeds": 2500.75,
"CostOrOtherBasis": null,
"AccruedMktDisc": null,
"WashsaleLossDisallowed": 25,
"TypeOfGainLoss": "ordinary short term",
"IsProceedsFromCollectibles": true,
"IsProceedsFromQOF": false,
"FedTaxWH": 150,
"IsNonCoveredSecurityNotReported": false,
"IsNonCoveredSecurityReported": false,
"IsGrossProceeds": true,
"IsNetProceeds": false,
"IsLossNotAllowedbasedOn1d": false,
"PLRealizedOnClosedContract": 0,
"PLUnrealizedOnOpenContractPrevTy": 0,
"UnrealizedPLOnOpenContractCurTy": 0,
"AggPLOnContract": 0,
"IsBasisReportedToIRS": true,
"Bartering": 0,
"AccountNum": "ACC789121",
"CUSIPNum": "037833100",
"IsFATCA": false,
"Form8949Code": "A",
"Is2ndTINnot": false,
"States": [
{
"StateCd": "CA",
"StateIdNum": "123456789",
"StateWH": 25.75
},
{
"StateCd": "NY",
"StateIdNum": "987654321",
"StateWH": 18.5
}
]
}
}
]
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: '<APIURL>/v2.0.0/form1099b/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"
},
"BFormData": {
"DescrOfProp": "100 Shares of ABC Corporation",
"DateAcquired": "03/15/2026",
"DateSoldOrDisposed": "06/15/2026",
"Proceeds": 2500.75,
"CostOrOtherBasis": None,
"AccruedMktDisc": None,
"WashsaleLossDisallowed": 25,
"TypeOfGainLoss": "ordinary short term",
"IsProceedsFromCollectibles": True,
"IsProceedsFromQOF": False,
"FedTaxWH": 150,
"IsNonCoveredSecurityNotReported": False,
"IsNonCoveredSecurityReported": False,
"IsGrossProceeds": True,
"IsNetProceeds": False,
"IsLossNotAllowedbasedOn1d": False,
"PLRealizedOnClosedContract": 0,
"PLUnrealizedOnOpenContractPrevTy": 0,
"UnrealizedPLOnOpenContractCurTy": 0,
"AggPLOnContract": 0,
"IsBasisReportedToIRS": True,
"Bartering": 0,
"AccountNum": "ACC789121",
"CUSIPNum": "037833100",
"IsFATCA": False,
"Form8949Code": "A",
"Is2ndTINnot": False,
"States": [
{
"StateCd": "CA",
"StateIdNum": "123456789",
"StateWH": 25.75
},
{
"StateCd": "NY",
"StateIdNum": "987654321",
"StateWH": 18.5
}
]
}
}
]
})
headers = {
'Authorization': '<ACCESS_TOKEN>',
'Content-Type': 'application/json'
}
conn.request("POST", "/v2.0.0/form1099b/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/form1099b/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"
},
"BFormData": {
"DescrOfProp": "100 Shares of ABC Corporation",
"DateAcquired": "03/15/2026",
"DateSoldOrDisposed": "06/15/2026",
"Proceeds": 2500.75,
"CostOrOtherBasis": null,
"AccruedMktDisc": null,
"WashsaleLossDisallowed": 25.00,
"TypeOfGainLoss": "ordinary short term",
"IsProceedsFromCollectibles": true,
"IsProceedsFromQOF": false,
"FedTaxWH": 150.00,
"IsNonCoveredSecurityNotReported": false,
"IsNonCoveredSecurityReported": false,
"IsGrossProceeds": true,
"IsNetProceeds": false,
"IsLossNotAllowedbasedOn1d": false,
"PLRealizedOnClosedContract": 0,
"PLUnrealizedOnOpenContractPrevTy": 0,
"UnrealizedPLOnOpenContractCurTy": 0,
"AggPLOnContract": 0,
"IsBasisReportedToIRS": true,
"Bartering": 0,
"AccountNum": "ACC789121",
"CUSIPNum": "037833100",
"IsFATCA": false,
"Form8949Code": "A",
"Is2ndTINnot": false,
"States": [
{
"StateCd": "CA",
"StateIdNum": "123456789",
"StateWH": 25.75
},
{
"StateCd": "NY",
"StateIdNum": "987654321",
"StateWH": 18.50
}
]
}
}
]
}", 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/form1099b/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"
},
"BFormData": {
"DescrOfProp": "100 Shares of ABC Corporation",
"DateAcquired": "03/15/2026",
"DateSoldOrDisposed": "06/15/2026",
"Proceeds": 2500.75,
"CostOrOtherBasis": nil,
"AccruedMktDisc": nil,
"WashsaleLossDisallowed": 25,
"TypeOfGainLoss": "ordinary short term",
"IsProceedsFromCollectibles": true,
"IsProceedsFromQOF": false,
"FedTaxWH": 150,
"IsNonCoveredSecurityNotReported": false,
"IsNonCoveredSecurityReported": false,
"IsGrossProceeds": true,
"IsNetProceeds": false,
"IsLossNotAllowedbasedOn1d": false,
"PLRealizedOnClosedContract": 0,
"PLUnrealizedOnOpenContractPrevTy": 0,
"UnrealizedPLOnOpenContractCurTy": 0,
"AggPLOnContract": 0,
"IsBasisReportedToIRS": true,
"Bartering": 0,
"AccountNum": "ACC789121",
"CUSIPNum": "037833100",
"IsFATCA": false,
"Form8949Code": "A",
"Is2ndTINnot": false,
"States": [
{
"StateCd": "CA",
"StateIdNum": "123456789",
"StateWH": 25.75
},
{
"StateCd": "NY",
"StateIdNum": "987654321",
"StateWH": 18.5
}
]
}
}
]
})
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"
},
"BFormData": {
"DescrOfProp": "100 Shares of ABC Corporation",
"DateAcquired": "03/15/2026",
"DateSoldOrDisposed": "06/15/2026",
"Proceeds": 2500.75,
"CostOrOtherBasis": null,
"AccruedMktDisc": null,
"WashsaleLossDisallowed": 25.00,
"TypeOfGainLoss": "ordinary short term",
"IsProceedsFromCollectibles": true,
"IsProceedsFromQOF": false,
"FedTaxWH": 150.00,
"IsNonCoveredSecurityNotReported": false,
"IsNonCoveredSecurityReported": false,
"IsGrossProceeds": true,
"IsNetProceeds": false,
"IsLossNotAllowedbasedOn1d": false,
"PLRealizedOnClosedContract": 0,
"PLUnrealizedOnOpenContractPrevTy": 0,
"UnrealizedPLOnOpenContractCurTy": 0,
"AggPLOnContract": 0,
"IsBasisReportedToIRS": true,
"Bartering": 0,
"AccountNum": "ACC789121",
"CUSIPNum": "037833100",
"IsFATCA": false,
"Form8949Code": "A",
"Is2ndTINnot": false,
"States": [
{
"StateCd": "CA",
"StateIdNum": "123456789",
"StateWH": 25.75
},
{
"StateCd": "NY",
"StateIdNum": "987654321",
"StateWH": 18.50
}
]
}
}
]
}");
Request request = new Request.Builder()
.url("<APIURL>/v2.0.0/form1099b/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/form1099b/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"
},
"BFormData": {
"DescrOfProp": "100 Shares of ABC Corporation",
"DateAcquired": "03/15/2026",
"DateSoldOrDisposed": "06/15/2026",
"Proceeds": 2500.75,
"CostOrOtherBasis": null,
"AccruedMktDisc": null,
"WashsaleLossDisallowed": 25.00,
"TypeOfGainLoss": "ordinary short term",
"IsProceedsFromCollectibles": true,
"IsProceedsFromQOF": false,
"FedTaxWH": 150.00,
"IsNonCoveredSecurityNotReported": false,
"IsNonCoveredSecurityReported": false,
"IsGrossProceeds": true,
"IsNetProceeds": false,
"IsLossNotAllowedbasedOn1d": false,
"PLRealizedOnClosedContract": 0,
"PLUnrealizedOnOpenContractPrevTy": 0,
"UnrealizedPLOnOpenContractCurTy": 0,
"AggPLOnContract": 0,
"IsBasisReportedToIRS": true,
"Bartering": 0,
"AccountNum": "ACC789121",
"CUSIPNum": "037833100",
"IsFATCA": false,
"Form8949Code": "A",
"Is2ndTINnot": false,
"States": [
{
"StateCd": "CA",
"StateIdNum": "123456789",
"StateWH": 25.75
},
{
"StateCd": "NY",
"StateIdNum": "987654321",
"StateWH": 18.50
}
]
}
}
]
}'