ValidateForm
ValidateForm
Use this endpoint to validate 1099-OID data against IRS business rules before creating the form.
POST Form1099OID/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-OID to be filed.Allowed valuesAllowed values: "2025", "2026" |
| IsFederal | Boolean | Federal Filing will be enabled when the value is True. Form 1099-NEC will be sent directly to the IRS. |
| IsState | Boolean | State Filing will be enabled when the value is True. Form 1099-NEC 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-OID 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-OID 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-OID will be sent directly to the IRS. |
| IsState | Boolean | State Filing for the return will be enabled when the value is True. Form 1099-OID 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 |
| OIDFormData | object | Recipient's Form 1099-OID information. |
| OID | Number | Original Issue Discount - Gets the taxable OID on the obligation for the part of the year it was owned by the record holder. Size Range: 0–9999999999.99 |
| OtherPeriodicInterest | Number | Other Periodic Interest - Gets any qualified stated interest paid or credited on this obligation during the year. Size Range: 0–9999999999.99 |
| EarlyWithdrawalPenalty | Number | Early withdrawal penalty - Gets the interest or principal forfeited because of an early withdrawal of time deposits, such as an early withdrawal from a CD, that is deductible from gross income by the recipient. Size Range: 0–9999999999.99 |
| FedTaxWH | Number | Federal Tax Withheld - Gets the backup withholding. For example, if a recipient does not furnish its TIN to you in the manner required, you must backup withhold. The applicable interest rate applies to amounts required to be reported in boxes 1, 2, and 8, but is limited to the cash paid on these obligations. Size Range: 0–9999999999.99 |
| MarketDisc | Number | Market Discount - For a covered security acquired with market discount and OID, if the taxpayer notified you that a section 1278(b) election was made, enter the amount of market discount that accrued on the debt instrument during the tax year in the amount of $10 or more. Size Range: 0–9999999999.99 |
| AcqPremium | Number | Acquisition Premium - For covered security acquired with acquisition premium, enter the amount of premium amortization for the part of the year the debt instrument was owned by the holder. Size Range: 0–9999999999.99 |
| Description | String | Description - Enter the CUSIP number, if any. If there is no CUSIP number, enter the abbreviation for the stock exchange, the abbreviation for the issuer used by the stock exchange, the coupon rate, and the year of maturity (for example, NYSE XYZ 121/2 25). Size Range: ..39 Note: For IRIS filing type the size range is ..100 |
| OIDOnUSTOblig | Number | Original Issue Discount on U.S. Treasury Obligations - Gets the OID on a U.S. Treasury obligation for the part of the year it was owned by the record holder Size Range: 0–9999999999.99 |
| InvestExp | Number | Investment Expenses - For single-class REMICs only. Size Range: 0–9999999999.99 |
| BondPremium | Number | Bond Premium - Gets the taxable covered security acquired at a premium, enter the amount of bond premium amortization allocable to the interest paid during the tax year, unless you were notified in writing that the holder did not want to amortize bond premium under section 171. Size Range: 0–9999999999.99 |
| TaxExemptOID | Number | Tax-Exempt OID - Gets the tax-exempt obligation that is a covered security acquired on or after January 1, 2017, enter the OID for the part of the year it was owned by the record holder. Size Range: 0–9999999999.99 |
| IsFATCA | Boolean | When true, identifies a U.S. payer reporting on Form(s) 1099 (including reporting payments on this Form 1099-OID) to satisfy their foreign financial asset reporting requirement with respect to a U.S. |
| 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. |
| AccountNum | String | Optional Account number (used when filing multiple 1099-OIDs 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. |
| States | object[] | List of state filing details. |
| StateCd | String | 2-character state code. Size Range: 2 Allowed values"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY", "AS", "FM", "GU", "MH", "MP", "PW", "PR", "VI", "AA", "AE", "AP" |
| StateIdNum | String | Payer’s state identification number. Size Range: ..20 |
| StateWH | Number | State income tax withheld. Size Range: 0–9999999999.99 |
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-OID 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": true
},
"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"
},
"OIDFormData": {
"OID": 9000,
"OtherPeriodicInt": 10000,
"EarlyWithdrawalPenalty": 50,
"FedTaxWH": 4000,
"MarketDisc": 2000,
"AcqPremium": 1200,
"Description": "To be checked testing",
"OIDOnUSTObligation": 4000,
"InvestExp": 1000,
"BondPremium": 1000,
"TaxExemptOID": 2000,
"IsFATCA": false,
"Is2ndTINnot": false,
"AccountNum": null,
"States": [
{
"StateCd": "CA",
"StateWH": 257.94,
"StateIdNum": "999999992"
},
{
"StateCd": "ID",
"StateWH": 15,
"StateIdNum": "999999999"
}
]
}
}
]
}
| 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/form1099OID/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": true
},
"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"
},
"OIDFormData": {
"OID": 9000,
"OtherPeriodicInt": 10000,
"EarlyWithdrawalPenalty": 50,
"FedTaxWH": 4000,
"MarketDisc": 2000,
"AcqPremium": 1200,
"Description": "To be checked testing",
"OIDOnUSTObligation": 4000,
"InvestExp": 1000,
"BondPremium": 1000,
"TaxExemptOID": 2000,
"IsFATCA": false,
"Is2ndTINnot": false,
"AccountNum": null,
"States": [
{
"StateCd": "CA",
"StateWH": 257.94,
"StateIdNum": "999999992"
},
{
"StateCd": "ID",
"StateWH": 15,
"StateIdNum": "999999999"
}
]
}
}
]
}`)
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("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": true
},
"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"
},
"OIDFormData": {
"OID": 9000,
"OtherPeriodicInt": 10000,
"EarlyWithdrawalPenalty": 50,
"FedTaxWH": 4000,
"MarketDisc": 2000,
"AcqPremium": 1200,
"Description": "To be checked testing",
"OIDOnUSTObligation": 4000,
"InvestExp": 1000,
"BondPremium": 1000,
"TaxExemptOID": 2000,
"IsFATCA": false,
"Is2ndTINnot": false,
"AccountNum": null,
"States": [
{
"StateCd": "CA",
"StateWH": 257.94,
"StateIdNum": "999999992"
},
{
"StateCd": "ID",
"StateWH": 15,
"StateIdNum": "999999999"
}
]
}
}
]
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: '<APIURL>/v2.0.0/form1099OID/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": True
},
"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"
},
"OIDFormData": {
"OID": 9000,
"OtherPeriodicInt": 10000,
"EarlyWithdrawalPenalty": 50,
"FedTaxWH": 4000,
"MarketDisc": 2000,
"AcqPremium": 1200,
"Description": "To be checked testing",
"OIDOnUSTObligation": 4000,
"InvestExp": 1000,
"BondPremium": 1000,
"TaxExemptOID": 2000,
"IsFATCA": False,
"Is2ndTINnot": False,
"AccountNum": None,
"States": [
{
"StateCd": "CA",
"StateWH": 257.94,
"StateIdNum": "999999992"
},
{
"StateCd": "ID",
"StateWH": 15,
"StateIdNum": "999999999"
}
]
}
}
]
})
headers = {
'Authorization': '<ACCESS_TOKEN>',
'Content-Type': 'application/json'
}
conn.request("POST", "/v2.0.0/form1099OID/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/form1099OID/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": true
},
"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"
},
"OIDFormData": {
"OID": 9000,
"OtherPeriodicInt": 10000,
"EarlyWithdrawalPenalty": 50,
"FedTaxWH": 4000,
"MarketDisc": 2000,
"AcqPremium": 1200,
"Description": "To be checked testing",
"OIDOnUSTObligation": 4000,
"InvestExp": 1000,
"BondPremium": 1000,
"TaxExemptOID": 2000,
"IsFATCA": false,
"Is2ndTINnot": false,
"AccountNum": null,
"States": [
{
"StateCd": "CA",
"StateWH": 257.94,
"StateIdNum": "999999992"
},
{
"StateCd": "ID",
"StateWH": 15,
"StateIdNum": "999999999"
}
]
}
}
]
}", 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/form1099OID/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": true
},
"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"
},
"OIDFormData": {
"OID": 9000,
"OtherPeriodicInt": 10000,
"EarlyWithdrawalPenalty": 50,
"FedTaxWH": 4000,
"MarketDisc": 2000,
"AcqPremium": 1200,
"Description": "To be checked testing",
"OIDOnUSTObligation": 4000,
"InvestExp": 1000,
"BondPremium": 1000,
"TaxExemptOID": 2000,
"IsFATCA": false,
"Is2ndTINnot": false,
"AccountNum": "nil",
"States": [
{
"StateCd": "CA",
"StateWH": 257.94,
"StateIdNum": "999999992"
},
{
"StateCd": "ID",
"StateWH": 15,
"StateIdNum": "999999999"
}
]
}
}
]
})
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": true
},
"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"
},
"OIDFormData": {
"OID": 9000,
"OtherPeriodicInt": 10000,
"EarlyWithdrawalPenalty": 50,
"FedTaxWH": 4000,
"MarketDisc": 2000,
"AcqPremium": 1200,
"Description": "To be checked testing",
"OIDOnUSTObligation": 4000,
"InvestExp": 1000,
"BondPremium": 1000,
"TaxExemptOID": 2000,
"IsFATCA": false,
"Is2ndTINnot": false,
"AccountNum": null,
"States": [
{
"StateCd": "CA",
"StateWH": 257.94,
"StateIdNum": "999999992"
},
{
"StateCd": "ID",
"StateWH": 15,
"StateIdNum": "999999999"
}
]
}
}
]
}");
Request request = new Request.Builder()
.url("<APIURL>/v2.0.0/form1099OID/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/form1099OID/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": true
},
"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"
},
"OIDFormData": {
"OID": 9000,
"OtherPeriodicInt": 10000,
"EarlyWithdrawalPenalty": 50,
"FedTaxWH": 4000,
"MarketDisc": 2000,
"AcqPremium": 1200,
"Description": "To be checked testing",
"OIDOnUSTObligation": 4000,
"InvestExp": 1000,
"BondPremium": 1000,
"TaxExemptOID": 2000,
"IsFATCA": false,
"Is2ndTINnot": false,
"AccountNum": null,
"States": [
{
"StateCd": "CA",
"StateWH": 257.94,
"StateIdNum": "999999992"
},
{
"StateCd": "ID",
"StateWH": 15,
"StateIdNum": "999999999"
}
]
}
}
]
}'