Tax Guide (Beta)
Version Differences
This endpoint is available in API versions 2 and 3. Note the following differences:
Area | V2 | V3 |
|---|---|---|
x-akoya-interaction-type header | Optional | Required |
x-akoya-last-access header | Not Supported | Required |
x-akoya-intent-type header | Not Supported | Required |
Overview
The Tax API provides recipients with access to the following documents for consumer-permissioned accounts:
Tax document images in PDF format
Detailed tax data in JSON format
The API supports multiple tax form types including:
1099-DIV
1099-INT
W-2
1042-S
Security
The Tax API requires authentication using a bearer token (id_token assigned to the permissioned user). You should include the id_token in the Authorization header of each request. The actual token lifetime varies by provider, but assume a lifetime of 15 minutes and code your application to automatically refresh the token if it has expired.
For more information on ID tokens, see the Token API documentation.
Use Cases
Tax Document Center: Show a customer their accounts, then show tax forms relevant to a selected account and year (in conjunction with Account Information).
Tax Prep Import/Accountant Portal Upload: Pull JSON tax data and import it into tax preparation apps or accountant portals.
Display Investment Tax Details: Provide deeper “capital gains / lots” context alongside tax documents for investment accounts (in conjunction with Investments).
Base URL
Like all Akoya APIs, Tax operates in both sandbox and prod:
Sandbox: https://sandbox-products.ddp.akoya.com
Production: https://products.ddp.akoya.com
Endpoints
Search Tax Forms
GET /tax-forms/{version}/{providerId}/{accountId}
Retrieves a list of tax documents and available tax form images for a specific year.
Path Params
Param | Description |
|---|---|
{version} | Major API version (e.g. v3) |
{providerId} | ID for the financial institution providing the data |
{accountId} | The consumer’s unique account identifier (not the account number) |
Query Params
Param | Type | Required | Description |
|---|---|---|---|
taxYear | String | Yes | Tax year to search for (e.g. 2024) |
taxForms | Array | No | Specific tax form (e.g. Tax1099Int) |
taxDataType | String | No | Format for tax form data (JSON or Base64_PDF) |
resultType | String | No | Specifies response type |
Headers
Header | Type | Required | Description |
|---|---|---|---|
Authorization | String | Yes | The ID Token for the permissioned user |
x-akoya-interaction-type | String (Enum) | v2: No v3: Yes | Indicates whether a consumer action prompted the request (USER) or the request is part of a batch process (BATCH). |
x-akoya-last-access | String (Date-Time) | v2: N/A v3: Yes | The date and time stamp for the last active use by the user. |
x-akoya-intent-type | String (Enum) | v2: N/A v3: Yes | Indicates whether a transaction involves a payment. Acceptable values are payments or nonpayments. |
Accept | String | No | Use the Accept HTTP request header to indicate one or more content types to request for the search result response. Use `application/json` to request data or `application/pdf to request images in comma-separated array format. Use in combination with TaxDataTypeQuery parameter to request `application/json` responses in ''JSON'' or ''BASE64_PDF'' format for tax form data' |
Example Response
JSON
Retrieve a Specific Tax Form
GET /tax-forms/{version}/{providerId}/{taxFormId}
Fetches a specific tax form's data and image.
Path Params
Param | Description |
|---|---|
{version} | API major version (e.g. v2) |
{providerId} | ID for the financial institution providing the data |
{taxFormId} | taxFormId (e.g. 9876987698769876) |
Query Params
Param | Type | Required | Description |
|---|---|---|---|
taxDataType | String | No | Format for tax form data (JSON or BASE64_PDF) |
Headers
Header | Type | Required | Description |
|---|---|---|---|
Authorization | String | Yes | The ID Token for the permissioned user |
x-akoya-interaction-type | String (Enum) | v2: No v3: Yes | Indicates whether a consumer action prompted the request (USER) or the request is part of a batch process (BATCH). |
x-akoya-last-access | String (Date-Time) | v2: N/A v3: Yes | The date and time stamp for the last active use by the user. |
x-akoya-intent-type | String (Enum) | v2: N/A v3: Yes | Indicates whether a transaction involves a payment. Acceptable values are payments or nonpayments. |
Accept | String | No | Use the Accept HTTP request header to indicate one or more content types to request for the search result response. Use `application/json` to request data or `application/pdf to request images in comma-separated array format. Use in combination with TaxDataTypeQuery parameter to request `application/json` responses in ''JSON'' or ''BASE64_PDF'' format for tax form data' |
Example Response
Returns tax form data in JSON format.
If requested, returns tax form images as PDF
JSON
Supported Data Elements
Tax Form Type | Supported Data Element |
|---|---|
Tax1099Div | ordinaryDividends, qualifiedDividends, totalCapitalGain, unrecaptured1250Gain, section1202Gain, collectiblesGain, nonTaxableDistribution, section199ADividends, investmentExpenses, foreignTaxPaid, foreignCountry, federalTaxWithheld, cashLiquidation, nonCashLiquidation, taxExemptInterestDividend, specifiedPabInterestDividend, stateAndLocalTaxWithholding, foreignAccountTaxCompliance, taxWithheld, income, stateCode, state, local |
Tax1099Int | interestIncome, usBondInterest, earlyWithdrawalPenalty, federalTaxWithheld, investmentExpenses, foreignTaxPaid, foreignCountry, taxExemptInterest, specifiedPabInterest, marketDiscount, bondPremium, usBondPremium, taxExemptBondPremium, cusipNumber, stateAndLocalTaxWithholding, foreignAccountTaxCompliance, taxWithheld, income, stateCode, state, local |
Tax1099B | securityName, numberOfShares, saleDescription, dateAcquired, dateOfSale, salesPrice, costBasis, accruedMarketDiscount, adjustmentCodes, correctedCostBasis, washSaleLossDisallowed, longOrShort, ordinary, collectible, qof, federalTaxWithheld, noncoveredSecurity, grossOrNet, basisReported, stateAndLocalTaxWithholding, cusip, foreignAccountTaxCompliance, taxWithheld, income, stateCode, state, local |
Tax1099R | grossDistribution, taxableAmount, federalTaxWithheld, stateTaxWithheld, stateAndLocalTaxWithholding, distributionCode, iraSepSimple, totalDistribution, pensionAnnuityTaxableAmount, employeeContributions, loanOffsetAmount, taxableAmountNotDetermined, taxWithheld, income, stateCode, state, local |
Tax1099G | unemploymentCompensation, taxableGrants, federalTaxWithheld, stateTaxWithheld, stateAndLocalTaxWithholding, stateOrLocalIncomeTaxRefunds, agriculturalPayments, economicImpactPayment, taxableInterest, taxWithheld, income, stateCode, state, local |
Tax1098 | mortgageInterestReceived, pointsPaid, propertyTaxes, privateMortgageInsurance, loanOriginationDate, outstandingMortgagePrincipal, federalTaxWithheld, stateAndLocalTaxWithholding, mortgageAcquisitionDate, taxWithheld, income, stateCode, state, local |
TaxW2 | wagesTipsCompensation, socialSecurityWages, medicareWages, federalTaxWithheld, stateTaxWithheld, localTaxWithheld, socialSecurityTaxWithheld, medicareTaxWithheld, retirementPlan, thirdPartySickPay, dependentCareBenefits, nonqualifiedPlans, tipsAllocated, otherCompensation, stateEmployerId, localEmployerId, localityName |
Tax1042S | grossIncome, federalTaxWithheld, foreignTaxPaid, recipientTIN, incomeCode, exemptionCode, countryCode, withholdingAgentTIN, primaryWithholdingAgentTIN, intermediaryTIN, payerTIN, chapter3StatusCode, chapter4StatusCode, withholdingRate, chapterIndicator, recipientType, foreignAccountTaxCompliance |
Tax8949 | securityName, dateAcquired, dateOfSale, salesPrice, costBasis, adjustmentAmount, gainLoss, longOrShort, washSaleLossDisallowed, stateAndLocalTaxWithholding, taxWithheld, income, stateCode, state, local |
Tax5498 | iraContributions, rolloverContributions, rothConversionAmount, rothContributions, requiredMinimumDistribution, fairMarketValue, designatedRothContribution, hsaContributions, medicareAdvantageMsaContributions, stateAndLocalTaxWithholding, taxWithheld, income, stateCode, state, local |
Tax1041K1 | beneficiaryTIN, beneficiaryName, ordinaryIncome, qualifiedDividends, capitalGains, foreignTaxPaid, deductions, taxExemptInterest, alternativeMinimumTax, stateAndLocalTaxWithholding, taxWithheld, income, stateCode, state, local |
TaxW2G | grossWinnings, federalTaxWithheld, stateTaxWithheld, localTaxWithheld, typeOfWager, transactionDate, ticketNumber, winnerTIN, stateAndLocalTaxWithholding, taxWithheld, income, stateCode, state, local |
Tax1040ScheduleC | businessIncome, businessExpenses, netProfitOrLoss, costOfGoodsSold, depreciation, businessUseOfHome, mealsAndEntertainment, utilities, supplies, insurance, stateAndLocalTaxWithholding, taxWithheld, income, stateCode, state, local |
CryptocurrencyTaxStatement | totalCryptoSales, totalCryptoPurchases, cryptoCapitalGains, cryptoCapitalLosses, cryptoMiningIncome, cryptoForkIncome, cryptoAirdropIncome, cryptoTransactionFees, stateAndLocalTaxWithholding, taxWithheld, income, stateCode, state, local |
FarmIncomeStatement | totalFarmIncome, totalFarmExpenses, netFarmProfitOrLoss, livestockSales, cropSales, equipmentDepreciation, feedExpenses, fertilizerExpenses, stateAndLocalTaxWithholding, taxWithheld, income, stateCode, state, local |
FarmRentalIncomeStatement | totalFarmRentalIncome, farmRentalExpenses, netFarmRentalProfitOrLoss, landRentalFees, irrigationExpenses, equipmentMaintenance, insurance, stateAndLocalTaxWithholding, taxWithheld, income, stateCode, state, local |
RentalIncomeStatement | totalRentalIncome, rentalExpenses, netRentalProfitOrLoss, propertyManagementFees, mortgageInterest, propertyTaxes, maintenanceRepairs, depreciation, insurance, stateAndLocalTaxWithholding, taxWithheld, income, stateCode, state, local |
Error Responses
See our error documentation.