currentStatus object and identify taxpayers the same way.
This page explains how to read a result.
currentStatus
Always present on a response. An object with a status and two badge URLs, one per theme:
badgeGraphicUrl and badgeGraphicUrlDark are publicly hosted SVGs you can embed directly
to display the status. Use badgeGraphicUrl on light backgrounds and badgeGraphicUrlDark
on dark ones.
Status values
These are the livebadgeGraphicUrl graphics. Embed them directly to display the status.
Compliant: No outstanding balances the IRS could try and collect on and no unfiled, required returns within the last seven years.ActiveResolution: An outstanding balance is owed, but every balance-carrying period is covered by an active installment agreement. The debt is being worked down on IRS terms, and all required returns over the last seven years have been filed.AtRisk: An outstanding balance is owed that is not fully covered by an active installment agreement, but no severe issues or current collection threats. Worth attention.NotCompliant: A serious issue is present, such as unfiled required returns or an active collection threat.DataPending: TaxRock is still gathering the data. Onboarding or IRS authorization is in progress. A taxpayer with this status has null financial totals and empty balanceByYear, liens, and installmentAgreements, and account-level totals read 0.NotMonitored: TaxRock is not monitoring a business with that EIN for the user you have authenticated the request on behalf of. Appears at the top level only, where result is null.Account-wide status (client-account lookup only)
On the client-account lookup, the top-levelcurrentStatus is client-account-wide. It
is the worst status across the account’s taxpayers, except that a clean-so-far account with
incomplete data reads DataPending rather than Compliant.
Balances by year
Every taxpayer and the client account carrybalanceByYear, the balance broken down per tax
year, most recent year first. Each entry splits the year into principal, interest,
penalties, allCredits, and unallocatedCredits, with amountDue as the net owed for the
year. The top-level amountDue is the total across all years, and balanceByYear is the
breakdown behind it. The account’s balanceByYear aggregates its taxpayers.
Liens
Every taxpayer carriesliens, the full list of federal tax liens on that taxpayer in any
state (Active, Released, or Removed), alongside a lienSummary of rollups. Each lien
has its filingDate, status, the currentSecuredBalance it secures, and the
securedPeriods (form and tax period) still secured. A removed lien also carries
fullyRemovedDate and balanceAtRemoval.
lienSummary (also on the client account, aggregated across its taxpayers) gives:
hasActiveLienSecuringNonZeroBalance: true when an active lien secures a balance above zero.totalBalanceSecuredByLiens: total secured across active liens.mostRecentActiveLienFilingDate: filing date of the most recently filed active lien, ornullwhen there are none.
Installment agreements
Every taxpayer carriesinstallmentAgreements, the full list in any state (Pending,
Active, PaidOff, Defaulted, or Removed), alongside an installmentAgreementSummary
of rollups. Each agreement has its status, startDate and endDate, currentBalance,
totalPaid, and the coveredPeriods it currently covers. A closed agreement also carries
balanceAtClose.
installmentAgreementSummary (also on the client account, aggregated across its taxpayers) gives:
hasBalanceNotCoveredByActiveIA: true when a balance is owed that no active agreement covers.balanceNotCoveredByActiveIA: the total of that uncovered balance.periodsNotCoveredByActiveIA: the specific form-periods with a balance not covered by an active agreement.
Identifying the matched taxpayer
isLookupMatch(client-account lookup only):trueon the row (intaxpayers[]orpendingTaxpayers[]) whose TIN matched the EIN you looked up.tin: unformatted digits. For businesses it is the raw nine-digit EIN. For individuals it is censored to the last four digits (xxxxx0123).isTinCensored:truewhentinis censored, so you never have to infer the censoring policy fromtype.
Pending taxpayers
pendingTaxpayers[] (client-account lookup only) are taxpayers added to the account but
not yet onboarded. Each has id, name, type, isLookupMatch, tin (null if not
provided yet), and isTinCensored, with no status or financial fields.
Errors
A missing or malformedbusinessEin returns 400 with an { error, message } body:
invalid_request:businessEinwas absent, empty, or not a string.invalid_ein:businessEindid not contain nine digits (dashes and spaces are ignored).
{ error, error_description } shape
instead of this { error, message } shape.
