Reference
Types
Every type a query or mutation reaches: objects, inputs, enums, unions, interfaces and scalars.
Generated from the API’s schema with every release, so it always matches the API it describes. Each entry shows the scope a key needs for it.
Objects#
objectActivityEvent#
One line of a parcel's activity trail: what happened, when, and who did it. Every change made through the app or the API writes one, and so does every fetch.
Fields
actorUserThe person who acted. Null when retrieve-IQ acted on its own, as for a nightly fetch.
atDateTime!When it happened.
idID!The id of this record. Not a Node id: node does not accept it.
payloadJSONThe details as structured data. The shape depends on the event.
summaryString!The event in one sentence.
objectAddress#
The property's street address, as the county publishes it. Every field may be null; a county's record is not always complete.
Fields
cityStringThe city.
countyStringThe county, where the county publishes it.
line1StringThe street address.
line2StringA suite or unit, where there is one.
postalCodeStringThe ZIP code.
stateStringThe two-letter state code.
objectApiKeySigned-in people only#
One of your firm's API keys. Its secret was shown once, when it was created; only its first characters are kept, to tell it apart.
Fields
createdAtDateTime!When it was created.
expiresAtDateTimeWhen it stops working. Null for a key with no last day.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
lastUsedAtDateTimeWhen it was last used, to the minute. Null until it has been.
nameString!What it is for, as named when it was created.
prefixString!riq_ and the next eight characters of the secret, to tell keys apart.
revokedAtDateTimeWhen it was revoked. Null while it stands.
scopes[Scope!]!What the key may do, within what the firm itself may do.
statusApiKeyStatus!Whether it works.
objectApiKeyCreated#
A new key and its secret, which this is the only chance to see.
Fields
apiKeyApiKey!The key.
secretString!The secret, shown once and never stored. Put it where your system will read it now.
objectAppealNeeds PARCEL_READ#
An appeal of one assessment year, recorded and tracked: open, filed, decided or withdrawn, and changed in place while it is open or filed (updateAppeal). Its evidence is the APPEAL_EVIDENCE_PACK report, for one appeal or several. Hearings are not tracked.
Fields
assessedValueMoneyThe value as first certified for the year. Null when no assessment is held for it.
assessmentYearInt!The year of the assessed value under appeal.
createdAtDateTime!When it was recorded.
deadlineOnDateThe last day to file. Null where the unit sets it from an event whose date is not on record; deadlineReason says why.
deadlineReasonStringWhy deadlineOn is null, in words. Null when there is a date.
deadlineSourceStringrule, when the date came from the unit's filing window; user, when a person entered it.
decidedOnDateWhen it was decided. Null until it is.
decidedValueMoneyThe value the board set. Null until decided.
filedOnDateWhen it was filed. Null until it is.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
noteStringA note for whoever reads the appeal next.
openedByUserThe person who recorded it.
parcelParcel!The parcel under appeal.
payableYearInt!The year the bill on that value falls due.
requestedValueMoneyThe value the appeal asks for. Null when none was recorded.
ruleDeadlineOnDateWhen the unit's rules say the window closes, whatever date the appeal holds (updateAppeal with deadlineFromRule puts it back); null where the rules give no exact date.
savingsMoneyThe tax saved, as entered from the corrected bill. Null means not yet known, never zero.
statusAppealStatus!Where the appeal stands.
valueReductionMoneyThe assessed value minus the decided value; negative when the board raised it. Null until decided, or without an assessment.
versionInt!Moves on every change to the appeal. updateAppeal, updateAppealStatus and recordAppealOutcome take the version their caller read as expectedVersion, and are refused with CONFLICT when it has moved.
objectAppealRequirement#
What an appeal filing needs beyond its dates, with the provision that states it and the source it comes from; a requirement nobody sourced is absent, never guessed. Each one is looked up through the unit, its parent and its state, the nearest answering.
Fields
citationStringThe provision, as the source numbers it.
codeString!The requirement's stable key within its unit.
effectiveFromYearInt!The first assessment year it governs.
effectiveToYearIntThe last assessment year it governs; null while it still does.
history[RequirementVersion!]!Earlier versions of it, newest first. Empty for one that never changed.
jurisdictionJurisdiction!The unit that holds the requirement.
recordedAtDateTime!When this version was written.
requirementString!The requirement in a sentence or two.
sourceString!Where it comes from.
sourceUrlStringA link to the source itself, where one exists.
topicAppealRequirementTopic!What part of the filing it is about.
verifiedAtDateWhen a person last confirmed it; null means nobody has.
verifiedByStringWho confirmed it.
versionInt!How many times it has changed, counting from 1.
objectAppealRule#
The appeal filing window for one assessment year, from the unit's own rules, then its parent's, then the state's. opensOn and closesOn are the rules as recorded (a fixed day, an event plus a number of days, an nth weekday, or the later or the earlier of two); the dates are what they yield for the year; reason says in words why the close has no date. What a filing needs beyond its dates (the board, the form, an agent's authorization) is Jurisdiction.appealRequirements, and the source behind each rule is Jurisdiction.rules.
Fields
closesOnStringThe closing rule as recorded. Null when none is recorded, or the unit sets the date each year.
closesOnDateStringThe last day to file, YYYY-MM-DD. Null when the rule does not yield a date; never guessed.
opensOnStringThe opening rule as recorded. Null when none is recorded, or the unit sets the date each year.
opensOnDateStringThe first day to file, YYYY-MM-DD. Null when the rule does not yield a date.
qualifierStringexact, or no_earlier_than or no_later_than when one side of a later-of or earlier-of rule is an event whose date is not on record: a bound, not the deadline.
reasonStringWhy closesOnDate is null, in plain words.
resolvedFromJurisdictionThe unit whose rule answered: the unit itself, its parent, or the state.
sourceStringWhere the closing rule came from: the statute or the unit's own notice.
verifiedAtStringWhen a person last confirmed the closing rule. Null means not yet verified.
objectAppealUpside#
An estimate of what the open appeals could save, never a promise: over open and filed appeals, the reduction requested times the share of it your decided appeals achieved, times each parcel's effective tax rate. An appeal missing one of those inputs is left out of the sum and counted.
Fields
appealsWithoutRateInt!Open appeals left out for want of an assessed value, a requested value or a billed year to take a rate from.
basisDecidedAppealsInt!Decided appeals the achieved share was learned from.
modeledMoneyThe estimate. Null with no decided appeals to learn from, or nothing to sum.
openAppealsInt!Appeals at OPEN or FILED.
realizedRatioFloatAchieved reduction over requested reduction, across decided appeals.
objectAssessmentNeeds PARCEL_READ#
A parcel's assessed value for one year, as the assessing unit certified it.
Fields
assessmentYearInt!The year the value was set, which an appeal contests.
certifiedOnDateWhen the unit certified the value, where known.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
improvementValueMoney!The assessed value of the buildings and other improvements.
landValueMoney!The assessed value of the land.
payableYearInt!The year the bill on this value falls due: the same year in most states, the year after in some (Cook County, Illinois).
revisionInt!Zero today for every assessment: a value read again replaces the figure on the same revision. Higher revisions are reserved for a correction recorded as one.
totalValueMoney!Land plus improvements.
objectAutomaticAcceptance#
How a bill was accepted without a person: read exactly from the county, every check passed, not a $0 bill, and close to last year's.
objectBillConnection#
A page of bills.
Fields
edges[BillConnectionEdge!]!The page's records, each with the cursor that continues from it.
pageInfoPageInfo!Whether more follows, and the cursor to continue from.
totalCountInt!Bills matching the filter, across every page.
objectBillConnectionEdge#
One bill on a page.
objectBillEntryPayload#
What entering a bill did: its outcome, a sentence saying what happened, and the installments of the bill stored.
Fields
installments[TaxBillInstallment!]!The installments of the bill stored, in order. Empty unless the outcome is STORED.
messageString!What happened, in a sentence the person reads.
outcomeBillEntryOutcome!Whether a bill was stored, kept as evidence only, or already on file.
objectBillingLevelCount#
How many units of one level send a property tax bill of their own.
Fields
countInt!How many units of that level send a bill.
levelString!The kind of unit: county, city, town, township, school_district and so on.
objectBillReviewPayload#
What a review did. bill is the bill as it stands after it, with the version a next call sends back. notVisible lists the installment ids it did not act on: not visible to you, or not at a status the action moves from; the API does not say which. A bill that changed after you read it is not a payload but a CONFLICT error, and nothing is written. If the response also carries an error, the whole request was undone and nothing changed.
Fields
billTaxBillThe bill after the review. Null when none of the installments named was visible.
notVisible[ID!]!The installment ids the review could not act on. Empty when it acted on every one.
objectCalendarFeedNeeds PARCEL_READ#
A subscribable calendar (iCal) of the portfolio's dates. Its URL carries a secret and is shown once, when the feed is created; revoking the feed keeps this record and ends the URL.
Fields
createdAtDateTime!When it was created.
createdByUserThe person who created it.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
labelString!Where it is used, as named when it was created.
lastFetchedAtDateTimeWhen a calendar app last read it. Null until one has.
revokedAtDateTimeWhen it was revoked. Null while it is in force.
objectCalendarFeedCreated#
A new feed and, this once, the URL that carries its secret.
Fields
feedCalendarFeed!The feed.
urlString!Subscribe to this in Outlook, Google Calendar or Apple Calendar. It is not shown again.
objectCountyIngestionStatus#
What the nightly fetch did in one county: the newest outcome, when the county last answered (with a bill, or with NOT_FOUND), the current run of failures, and the last day's attempts.
Fields
attempts24hInt!Attempts in the last 24 hours.
failures24hInt!Of those, how many failed.
jurisdictionJurisdiction!The county.
lastAnsweredAtDateTimeWhen the county last answered, with a bill or with NOT_FOUND.
lastAttemptAtDateTimeWhen a fetch was last attempted there.
lastOutcomeIngestOutcomeHow the newest attempt ended.
lastSuccessAtDateTimeWhen a bill was last fetched there.
parcelsInt!Parcels of the portfolio in the county.
streakInt!How many attempts in a row have failed, counting back from the newest. Zero when the county answered last.
objectCountyOutstanding#
One unit that bills a parcel in the portfolio (a county, a township, a school district), and what is owed to it. The rows are billing units of any level, under a name kept for compatibility.
Fields
What is owed to this unit, and how complete that figure is.
jurisdictionJurisdiction!The unit that bills, which need not be the unit that assesses the parcel.
parcelCountInt!Distinct parcels this unit bills. A parcel billed by three units counts once in each.
objectCoverage#
Where bills can be fetched, by state and by county, from the registry of taxing units and their sites.
Fields
counties[CoverageUnit!]!Every unit with a county FIPS code, for a county map: the county-level units, Alaska's census areas and the regions that stand for counties where the county does not govern (Connecticut, Massachusetts, Rhode Island).
countyTotalsCoverageCounts!The county-level units only, which is the headline figure: counties, parishes, independent cities and Alaska's boroughs.
states[StateCoverage!]!By state, in code order.
totalsCoverageCounts!Every registered unit in the country.
units[CoverageUnit!]!The named units, of any level; a code the registry does not hold is left out. At most 500 at a time.
Arguments
unitCodes[String!]!requiredUnit codes, as Jurisdiction.unitCode has them.
objectCoverageCounts#
Units counted by coverage status. The statuses add up to units.
Fields
assessmentOnlyInt!At ASSESSMENT_ONLY.
closedInt!At CLOSED.
coveredInt!At COVERED.
noPortalInt!At NO_PORTAL.
notSurveyedInt!At NOT_SURVEYED.
otherInt!At OTHER.
portalFoundInt!At PORTAL_FOUND.
readerReadyInt!At READER_READY.
retiredInt!At RETIRED.
unitsInt!All of them.
objectCoverageUnit#
One taxing unit and whether its bills can be fetched.
Fields
assessesBoolean!Whether the unit sets assessed values.
billsBoolean!Whether the unit sends a property tax bill of its own.
countyLevelBoolean!A county, parish, independent city or one of Alaska's boroughs: the units the headline figure counts.
fipsStringThe five-digit county FIPS code, for a county or its equivalent.
levelString!The kind of unit: county, city, town, township, school_district and so on.
nameString!As the unit names itself.
portals[Portal!]!Every site recorded for the unit, the one that decided the status first.
stateString!The two-letter state code.
statusCoverageStatus!Whether the unit's bills can be fetched.
unitCodeString!The code of the unit, as Jurisdiction.unitCode has it.
vendorStringThe software behind the site that decided the status.
objectDeadline#
A payment or appeal date, worked out from a bill or from the unit's rules and saved, so that a change to it is traced and a person can acknowledge it. The saved dates are brought up to date when someone who may read bills reads them after the portfolio, a bill or a rule changed; a date that moved keeps a trace of the one it replaced, and starts unacknowledged.
Fields
acknowledgedAtDateTimeWhen a person acknowledged this date; null until then, and again once the date moves.
acknowledgedByUserThe person who acknowledged it.
assessmentYearInt!The assessment year the date belongs to.
What is at stake: the balance still owed, for a payment date. Null when the balance is unknown, and for an appeal date; never read a null as zero. The dates are read with PARCEL_READ; the balance is bill data.
generatedAtDateTime!When this date was worked out.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
jurisdictionJurisdiction!For a payment date: the unit the bill is owed to. For an appeal date: the unit that assesses the parcel and hears the appeal, or, for the unit's own window, the unit itself.
kindDeadlineKind!What the date is.
onDateThe date. Null when the rule could not be evaluated; unevaluableReason says why.
paidPerRecordsBoolean!Needs BILL_READTrue for a payment date whose installment the county publishes no payment figure for and the customer's own records show paid in full: the date stays, marked, since the county has not confirmed it. Bill data, as exposure is.
parcelParcelThe parcel the date belongs to. Null for a date that belongs to the unit rather than to a parcel: the unit's own appeal window, which stands whichever parcels it assesses.
qualifierStringFor an appeal date: exact, or no_earlier_than or no_later_than when one side of a later-of or earlier-of rule is an event whose date is not on record. A bound, not the deadline.
resolvedFromJurisdictionFor an appeal date: the unit whose rule answered (the unit, its parent, or the state).
sourceString!BILL for a payment date read off a bill; JURISDICTION_RULE for an appeal window from the assessing unit's rules.
supersedesDeadlineChangeThe date or reason this one replaced, when it moved; null for a date that never changed.
taxAccountTaxAccountFor a payment date: the account the bill belongs to. Null for an appeal date, which belongs to the parcel however many units bill it.
unevaluableReasonStringWhy there is no date, in words.
objectDeadlineChange#
What a saved date replaced when it moved: the date or the reason it had before, which explains a change a subscribed calendar shows.
Fields
onDateThe date it had before; null when it had none.
unevaluableReasonStringWhy it had no date before, when it had none.
objectDeadlineGeneration#
When the saved dates were last worked out from the bills and rules, and whether a change since is waiting on it.
Fields
generatedAtDateTimeWhen the dates were last generated. Null before the first time: the portfolio has no dates yet.
staleBoolean!A change saved since generatedAt (a bill, a correction, a payment, a parcel, a night's fetch, or a rule or notice date the appeal windows are worked out from) is not in the dates yet. They are regenerated when someone who may read bills next opens them; a reader who may not reads them as they stand.
objectDocumentNeeds BILL_READ#
A file held as evidence: the page a county served when the bill was fetched. The bytes are fetched from contentPath, not through GraphQL.
Fields
byteSizeIntIts size in bytes, where known.
contentPathString!GET this path, with the same Authorization and X-Engagement-ID headers, to read the bytes. HTML from a county is served in a sandbox.
extractions[Extraction!]!Every reading of the document.
fileRemovedAtDateTimeWhen the file was removed, seven years after it arrived, whether a person uploaded it or it was read from a county site. Null while it is kept. What was read from it stays, and so does the record that it was removed.
filenameString!The name it was fetched or uploaded under.
hasBillBoolean!Whether a bill was read from this document, by the product or entered by hand. A tax bill without one is evidence a person may enter by hand (enterBill).
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
kindDocumentKind!What the document is.
mediaTypeStringWhat the file is, as recognised from its bytes when it arrived; null for a document kept from before that was recorded.
pageCountIntIts page count, for a PDF.
parcelParcel!The parcel the document belongs to.
receivedAtDateTime!When it arrived.
receivedViaString!How it arrived: portal for a page read from the unit's site, upload for a file a person added. email and sftp are reserved.
sourceUrlStringThe county page it was fetched from. Null for an upload.
uploadedByUserThe person who uploaded it; null for a document read from the unit's site.
objectDocumentLink#
A link that opens one document's bytes without a header, until expiresAt. Re-authorized when opened: an engagement that ended in between opens nothing.
Fields
expiresAtDateTime!When the link stops opening: five minutes after it was made.
pathString!Where the document opens, on this API's host. It holds the link's secret.
objectDocumentUploadLink#
Where to send the bytes: PUT them to uploadPath with the same bearer token, once, before expiresAt. Shown once.
Fields
expiresAtDateTime!When the link stops taking the bytes: fifteen minutes after it was made.
maxBytesInt!The largest file this environment takes.
methodString!The HTTP method to send them with: PUT.
uploadPathString!Where to send the bytes, on this API's host. It holds the link's secret, so it is shown once.
objectEngagement#
A firm's permission to work on a client's portfolio: which scopes, from when, and until when. Name one on a request with the X-Engagement-ID header.
Fields
agentTenant!The firm that works on it.
approvalRecordedBoolean!Whether authorisedOn, authorisationRef and grantedBy are all on record. False means the engagement was approved before approvals were recorded.
authorisationRefStringWhere the written approval is kept: a reference, never the document.
authorisedOnDateThe day the client gave its written approval; null on an engagement approved before approvals were recorded.
clientTenant!The client whose portfolio it is.
effectiveFromDate!The first day the engagement is in force.
effectiveToDateThe last day the engagement is in force. Null for one with no end date.
engagementIdID!The value to send in the X-Engagement-ID header. Not the same as id.
grantedByStringWho at the client gave the approval, as written on it.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
liveBoolean!Whether the engagement is in force today: not revoked, begun and not yet ended. One that has lapsed or been revoked is still listed, so the client is not mistaken for a deleted one, but a request under it is refused with FORBIDDEN.
revokedAtDateTimeWhen it was revoked; null while it stands. A revoked engagement is not live whatever its dates say.
revokedReasonStringWhy it was revoked, as recorded when it was.
scopes[Scope!]!What the firm may do for this client. A key may do what both its own scopes and the engagement's allow.
objectExtractedField#
One figure a reading took: which figure it is, the text as printed, and where it was printed when that was recorded.
Fields
bbox[Float!]Where on that page: [left, top, right, bottom] as fractions of the page's width and height, from its top-left corner.
confidenceFloatNull when the reading is exact: a county's own text read by its reader, or a person's entry. A number in [0, 1] only from a model.
elementIdStringThe element of the county's HTML page it was read from.
keyString!Which figure it is, as a path: "totalBilled", "installments.amountDue", "lineItems.amount".
ordinalInt!Which one, for a figure that repeats: an installment's number, a charge's place from 1.
pageIntThe page it was printed on, from 1, for a PDF.
valueString!The figure as printed, or as the person entered it.
objectExtractionNeeds BILL_READ#
One reading of a document: who or what read it and when, whether it could be believed and why not, and the figures it took with where each was printed. A document keeps all its readings, oldest first; a correction is the next one.
Fields
createdAtDateTime!When the reading was made.
createdByUserThe person, for a reading a person made; null for one the product made.
engineStringA short code for the program that read the document; null for a reading a person made.
errorStringWhy the reading could not be believed, when it could not.
fields[ExtractedField!]!The figures it took, each with where it was printed.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
pages[PageSize!]The size of each page it read, for a PDF, so each figure can be shown where it was printed.
reviewedAtDateTimeWhen a person confirmed the reading.
reviewedByUserThe person who confirmed it.
stateExtractionState!How far the reading has got.
versionInt!Its place among the document's readings, oldest first.
objectFeedRun#
One night of the feed for one client: its fetch, the files produced and delivered, and how it went. Read under the client's engagement.
Fields
deliveredToStringWhere the files went: an SFTP host, an S3 bucket or a folder.
feedNameString!The feed, as named in its setup.
finishedAtDateTimeWhen it finished. Null while it runs.
idID!The id of this record. Not a Node id: node does not accept it.
messageStringWhat happened, in words, when something did.
outcomeFeedOutcome!How it ended.
startedAtDateTime!When the night started.
objectInboxSummary#
The inbox in numbers: what arrived this week, what could not be read, and what waits, by status.
Fields
beingCheckedInt!Bills retrieve-IQ is checking before you act on them (TaxBill.retrieveIqCheck). They are not in the queue.
disputedInt!Waiting bills with an installment flagged for the client, which makes the bill DISPUTED.
failedExtractionsThisWeekInt!Of this week's pages, how many could not be read: nothing was taken from them, and each needs a look.
needsReviewInt!Waiting bills at NEEDS_REVIEW.
receivedThisWeekInt!Bill pages and files received in the last seven days.
withheldInt!Waiting bills an ERROR check stands against.
objectJurisdiction#
A taxing unit: a county, a city, a township, a school district, a special district, or a state. A unit may assess property, bill it, or both. The same registry for every caller.
Fields
appealRequirements[AppealRequirement!]!What an appeal filed here for that assessment year needs beyond its dates: the form, the agent's authorization, what the application says, where it goes. Empty when nothing is recorded.
Arguments
assessmentYearInt!requiredThe assessment year the appeal is about.
appealRuleAppealRule!The appeal filing window for an assessment year, from the unit's own rules, then its parent's, then the state's.
Arguments
assessmentYearInt!requiredThe assessment year the window belongs to.
assessesBoolean!Whether this unit sets assessed values and hears appeals.
billDeliveryBillDelivery!How the unit makes its bill available.
billsBoolean!Whether this unit sends a property tax bill of its own.
fipsCodeStringThe five-digit county FIPS code, for a county or its equivalent.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
installmentsPerYearInt!How many installments the unit splits its annual bill into.
kindString!The office that collects the tax, as the unit names it: "Treasurer-tax collector".
levelString!What the unit is: state, county, independent_city, city, town, township, village, borough, parish, school_district, special_district or region. A state holds statewide defaults and neither assesses nor bills.
nameString!As the unit names itself: "Los Angeles County".
parcelCountInt!How many parcels of the portfolio this unit assesses or bills, which is what ParcelFilter.jurisdictionIds returns for it. Not the number of parcels in the unit.
rules[JurisdictionRule!]!Every kind of dated rule for an assessment year, in the order a filing season runs, each with the evidence behind it. A kind nobody recorded is listed as NOT_RECORDED, never left out.
Arguments
assessmentYearInt!requiredThe assessment year to work the rules out for.
stateString!The two-letter state code.
unitCodeString!A stable code for the unit: US-CA-FIPS-06007 for a county with a Census code, US-CA-STATE for a state, a code of the state's own scheme for a unit below the county.
objectJurisdictionRule#
One kind of rule for one assessment year, worked out exactly as the deadlines are: from the unit's own rules, then its parent's, then the state's, the covering rule with the latest first year winning within a unit, the weekend rule applied. date is never invented: status says why there is none, and reason says it in words. row is the stored rule that answered, with its source; rows is every rule of this kind the unit, its parent and its state hold, so the answer is seen beside the rules it took over from.
Fields
assessmentYearInt!The assessment year it was worked out for.
dateStringYYYY-MM-DD, after the weekend rule; null unless status is DATED or BOUND.
kindRuleKind!Which dated rule it is.
qualifierStringexact, or no_earlier_than / no_later_than for a BOUND date.
reasonStringWhy there is no date, in plain words.
resolvedFromJurisdictionThe unit whose row answered.
rowRuleRowThe stored rule that answered; null when none is recorded.
rows[RuleRow!]!Every stored rule of this kind the unit, its parent and its state hold, the one that answered among them.
statusRuleStatus!Whether there is a date, and if not, why not.
unadjustedDateStringThe date the rule itself names, when the weekend rule moved it (a Saturday, Sunday or federal holiday); null when nothing moved.
objectLegalEntityNeeds PARCEL_READ#
An owner of record: the company or other entity the parcels are held under.
Fields
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
nameString!The name on the roll.
taxIdLast4StringThe last four digits of the tax identification number on file, or null when none is. The whole number is never returned.
objectLegalEntityHolding#
One owner of record in the portfolio and what it holds: the breakdown by owner beside the one by billing unit. Its parcels, their assessed value counted the overview's way (the newest assessment of each active parcel), and what is owed on their bills.
Fields
What is owed on the bills of the entity's parcels, counted as amountOutstanding counts: unknown and withheld installments set aside and said.
assessedValueMoney!The newest assessment of each of the entity's active parcels, summed: the same rule as PortfolioSummary.totalAssessedValue, so the entities add up to it. "0.00" when none is assessed.
assessedValueAsOfIntThe newest assessment year behind that figure. Null when none of its parcels is assessed.
legalEntityLegalEntity!The owner of record.
parcelCountInt!Every parcel filed to the entity, whatever its status: what the parcel list filtered by the entity shows.
objectLegalEntityPayload#
The owner of record after the change.
Fields
legalEntityLegalEntity!As it stands now, with the last four digits of its number.
objectOutstandingTotal#
A balance and how complete it is. A single number would claim more than is known: a county that publishes no payment figures adds nothing to the sum, and leaving that out silently would understate what is owed.
Fields
installmentCountInt!How many installments the figure covers. Zero means no bills are held, which is not the same as owing nothing.
installmentsPaidPerRecordsInt!Of the installments with no published payment, how many the customer's own records show paid in full. Said beside the figure, never added into it: the county has not confirmed them.
installmentsWithUnknownPaymentInt!Installments left out because the county publishes no payment figure for them.
knownMoney!The sum over the installments whose payment figure the county reports.
withheldCountInt!Installments left out because a check stands against their bill: pending review, neither settled nor unknown.
objectPageInfo#
Where a page sits in its list: whether more follows, and the cursor to continue from.
Fields
endCursorStringThe last record's cursor: pass it as after for the next page.
hasNextPageBoolean!Whether another page follows this one.
hasPreviousPageBoolean!Whether a page precedes this one.
startCursorStringThe first record's cursor.
objectPageSize#
The size of a page a reading read, in points (a point is 1/72 of an inch).
Fields
heightFloat!Its height in points.
widthFloat!Its width in points.
objectParcelNeeds PARCEL_READ#
A property in the portfolio: its number and address, the unit that assesses it, the units that bill it, and its assessments, bills, dates and appeals.
Fields
activity[ActivityEvent!]!The parcel's activity trail, newest first.
Arguments
firstIntdefault 20How many events: 20 when omitted, at most 50.
What is still owed on this parcel, and how complete that figure is.
appeals[Appeal!]!Every appeal recorded on the parcel, newest year first.
assessments[Assessment!]!The assessments on record, newest year first.
Arguments
lastIntdefault 6How many years: 6 when omitted, at most 12.
The parcel's bills, newest year first.
Arguments
lastIntdefault 6How many bills: 6 when omitted, at most 24.
currentAssessmentAssessmentThe newest assessment on record. Null until one is held.
deadlines[Deadline!]!The parcel's payment and appeal dates: one per installment, and the appeal window of the newest year that has a bill. A parcel with no bill yet has no appeal dates.
Every document held for this parcel, newest first.
Arguments
kindDocumentKindOnly documents of this kind.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
jurisdictionJurisdiction!The unit that assesses the parcel and hears its appeals. The units that bill it are on taxAccounts.
legalEntityLegalEntity!The owner of record the parcel is held under.
nextPaymentDeadlineThe soonest payment date that costs money if ignored: a penalty date already passed with a balance known to be owed, otherwise the earliest penalty or due date from today on. A passed date whose payment the county does not publish is not returned. Null when nothing is owed or coming.
parcelNumberString!As the county writes it: the APN in California.
situsAddressAddress!The property's street address.
statusParcelStatus!Where the parcel stands in the portfolio.
taxAccounts[TaxAccount!]!The units that bill this property and the numbers they know it by: active first, then oldest first. Empty for a parcel whose billing units are not yet known.
useCodeStringThe county's use code for the property, where it publishes one.
objectParcelCandidate#
A parcel offered for a number or an address that matched none exactly: the same number in another county or held twice, the same digits without the leading zeros a spreadsheet drops, a check digit or suffix, an address that agrees. Taken only by a person, never by itself.
Fields
parcelParcel!The parcel offered.
reasons[String!]!Why it was offered, in words.
scoreFloat!In [0, 1], to order the candidates; it decides nothing.
objectParcelConnection#
A page of parcels.
Fields
edges[ParcelConnectionEdge!]!The page's records, each with the cursor that continues from it.
pageInfoPageInfo!Whether more follows, and the cursor to continue from.
totalCountInt!Parcels matching the filter, across every page.
objectParcelConnectionEdge#
One parcel on a page.
objectParcelImportPayload#
What the import did.
Fields
createdInt!Parcels added.
dryRunBoolean!True when nothing was written.
existingInt!Rows whose parcel was already held; nothing changed for them.
legalEntityLegalEntityThe owner of record the parcels were held under. Null on a dry run.
rejected[ParcelImportRejection!]!Rows that were not imported, with the reason for each.
objectParcelImportRejection#
A row that was not imported, and why.
Fields
indexInt!Which row: zero-based, into the rows given.
reasonString!Why it was rejected, in words.
objectPaymentImportPayload#
What a list of payments did: how many rows were recorded, how many were already on record, and which were refused.
Fields
alreadyRecordedInt!Rows that named an observation already on record; nothing was written for them.
dryRunBoolean!True when nothing was written.
recordedInt!Rows recorded; on a dry run, the rows that would be.
rejected[PaymentImportRejection!]!Rows that could not be recorded, by index in the input, with the reason.
objectPaymentImportRejection#
A row that could not be recorded, and why.
Fields
candidates[ParcelCandidate!]!When the row's number matched no parcel exactly, or more than one: the parcels it may mean, strongest first, for a person to choose by sending the row again with parcelId.
indexInt!Its place in the rows sent, from 0.
reasonString!Why it was refused, in words.
objectPaymentObservation#
One entry in the customer's own payment records for an installment: kept beside the county's published figure, never merged into it. Append-only; a wrong entry is reversed by an adjustment.
Fields
amountMoney!Positive for a payment or a refund; signed for an adjustment.
effectiveDateDate!The day the money moved.
idID!The entry, for telling one from another. Not a Node id.
kindPaymentKind!A payment, a refund or an adjustment.
noteStringA note recorded with it.
recordedAtDateTime!When it was recorded.
recordedByUserThe person who recorded it, or who sent the list it came in with.
referenceStringA check number, a confirmation, a ledger line.
sourcePaymentSource!Whether a person recorded it or a list brought it in.
objectPortal#
One of a unit's sites for bills, or the recorded reason there is none.
Fields
discoveredOnDateWhen the site was first recorded.
hostStringThe site's host name.
readyBoolean!Supported and waiting only for a final live check.
reasonUnreachableReasonWhy it cannot be fetched from, when it cannot.
statusPortalStatus!Its standing.
urlStringWhere bills are looked up. Null when there is no site.
vendorStringThe software the site runs, by name.
verifiedOnDateWhen a bill was last fetched from it in a live check.
objectPortfolioSummary#
The portfolio in numbers: how many parcels, how many units bill them, what they are assessed at, and what the open appeals might save.
Fields
appealUpsideAppealUpside!An estimate of what the open appeals could save.
assessedValueAsOfIntThe newest assessment year behind that figure. Null when nothing is assessed.
byState[StateRollup!]!The same, by state.
jurisdictionCountInt!Distinct units that bill a parcel in the portfolio: the number of rows countiesInPortfolio returns. A Pennsylvania parcel counts three.
parcelCountInt!Parcels in the portfolio.
totalAssessedValueMoney!The total of the newest assessed values.
objectRecordPaymentPayload#
The installment the payment was recorded against, as it stands after it.
Fields
installmentTaxBillInstallment!The installment, with its payment records.
recordedBoolean!False when the same observation was already on record.
objectReportCatalogEntry#
One report that can be produced, and the formats it comes in.
Fields
categoryReportCategory!Which group it belongs to.
columns[String!]!The column headers, in order.
descriptionString!What it contains.
formats[ReportFormat!]!The formats it can be produced in; requestReport refuses any other.
kindReportKind!The value to request it by.
nameString!Its name, as the app shows it.
scopes[Scope!]!The scopes the report reads with, needed beside REPORT_READ to request it: a key or an engagement without one of them is refused, and a report already queued fails if its access loses one before it runs.
objectReportJobNeeds REPORT_READ#
A report that was requested: queued, running, done (with a download), failed (with the reason in words), or expired (the file has been removed; request it again).
Fields
byteSizeIntThe size of the file in bytes, once done.
downloadUrlStringGET this path, with the same Authorization and X-Engagement-ID headers, to save the file. Only while DONE; null otherwise.
errorStringWhy it failed, in a sentence: the access it was requested under ended or does not cover the report, or it could not be produced and should be requested again. Quote the job id when you ask retrieve-IQ about it.
filterDescriptionString!Which parcels the report covers, in words: a county, an owner or an appeal by its name where you may read it.
finishedAtDateTimeWhen it finished, done or failed. Null before that.
formatReportFormat!The file format asked for.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
kindReportKind!Which report.
nameString!The report's name.
requestedAtDateTime!When it was requested.
requestedByUserWho requested it.
rowCountIntHow many rows the report holds, once done.
statusReportJobStatus!Where the report is.
objectRequirementVersion#
An earlier version of a filing requirement, as it stood before a change replaced it.
Fields
citationStringThe provision it cited then.
recordedAtDateTime!When this version was written.
requirementString!The requirement as it read then.
sourceString!Where it came from then.
sourceUrlStringA link to that source, where one existed.
supersededAtDateTime!When the next version replaced it.
verifiedAtDateWhen a person had last confirmed it; null meant nobody had.
verifiedByStringWho had confirmed it.
versionInt!Which version it was, counting from 1.
objectResolveValidationPayload#
The resolved check, and the bill after it.
Fields
billTaxBillThe bill after the resolution, no longer withheld if this was the last check standing.
validationValidation!The check, now resolved.
objectRetrieveIqCheck#
retrieve-IQ is checking this bill against the county before anyone acts on it. Accepting, flagging and rejecting it are refused until the check is done.
Fields
noteStringThe words of whoever reported it, or retrieve-IQ's.
reasonRetrieveIqCheckReason!Why retrieve-IQ is checking it.
sinceDateTime!When retrieve-IQ began checking it.
objectRuleReportNeeds PARCEL_READ#
A person's report that a rule or a filing requirement is wrong, filed from the rules screen. shown is what the product said when it was filed, as the server read it then.
Fields
assessmentYearInt!The assessment year it is about.
createdAtDateTime!When it was filed.
evidenceUrlStringWhere they saw the right value, if they said.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
jurisdictionJurisdiction!The unit whose rule the report is about.
problemString!What the person said is wrong.
reportedByUserThe person who filed it.
resolutionStringWhat the people who maintain the rules found.
resolvedAtDateTimeWhen it was answered; null while it is open.
ruleVersionIntThe version of the rule row the report was filed against; null when no row was recorded.
shownJSON!The rule or requirement as the product showed it at filing: expression, date, status, source, version.
statusRuleReportStatus!Where it stands.
subjectRuleReportSubject!What it is about.
suggestedStringWhat they said it should be, if they said.
objectRuleRow#
One stored rule: a unit, a kind and the assessment years it governs (never payable years: an appeal contests an assessment), with where it came from and who confirmed it. version counts its changes; history holds every earlier version.
Fields
answersBoolean!Whether this is the row that answers for the year asked about.
effectiveFromYearInt!The first assessment year the row governs.
effectiveToYearIntThe last assessment year it governs; null while it still does.
expressionStringThe rule as written (07-02, 11-30+1y, assessment_notice + 30d, 4th tuesday of may, later_of(a, b)). Null means confirmed to be set locally each year.
history[RuleVersion!]!Earlier versions of this row, newest first. Empty for a row that never changed.
jurisdictionJurisdiction!The unit that holds the row: the unit itself, its parent, or the state.
kindRuleKind!Which dated rule it is.
noteStringA note on the rule from the people who maintain the rules.
recordedAtDateTime!When this version was written.
sourceString!Where the rule came from, as the dataset names it.
sourceUrlStringA link to the source itself, where one exists.
verifiedAtDateWhen a person last confirmed the row against its source; null means nobody has.
verifiedByStringWho confirmed it.
versionInt!How many times the row has changed, counting from 1.
weekendRuleWeekendRule!What happens to a date on a weekend or a holiday.
objectRuleVersion#
An earlier version of a stored rule, as it stood before a change replaced it. The change may be the rule, its source, or a person confirming it.
Fields
effectiveToYearIntThe last assessment year it governed then; null meant it still did.
expressionStringThe rule as it was written then; null meant set locally each year.
noteStringIts note then.
recordedAtDateTime!When this version was written.
sourceString!Where the rule came from then.
sourceUrlStringA link to that source, where one existed.
supersededAtDateTime!When the next version replaced it.
verifiedAtDateWhen a person had last confirmed it against its source; null meant nobody had.
verifiedByStringWho had confirmed it.
versionInt!Which version it was, counting from 1.
weekendRuleWeekendRule!What it did with a date on a weekend or a holiday.
objectSearchResults#
Three answers to one search: parcels by number or address, units you hold property in, and documents by filename.
Fields
documents[Document!]!Documents whose filename matches. Empty, not an error, for a key without BILL_READ.
Units whose name matches and that the portfolio holds parcels in.
Parcels whose number or address matches.
objectStateCoverage#
One state's (or DC's) units by coverage status.
Fields
billers[BillingLevelCount!]!The units that send a bill of their own, by level, most first. In Connecticut these are towns and cities, not counties.
countsCoverageCounts!Every unit in the state.
countyCountsCoverageCounts!The county-level units only: counties, parishes, independent cities and Alaska's boroughs.
nameString!The state's name.
stateString!The two-letter code.
objectStateRollup#
The portfolio in one state.
Fields
assessedValueMoney!The total of their newest assessed values.
parcelCountInt!Parcels in the state.
stateString!The two-letter state code.
objectTaxAccountNeeds PARCEL_READ#
One billing relationship on a parcel: the unit that sends a bill and the number it knows the property by. A California parcel has one, under its county; a Pennsylvania parcel has three, for its county, township and school district. Bills belong to accounts; assessments and appeals belong to the parcel.
Fields
accountNumberString!The unit's own identifier for the property: the APN in California, block and lot in New Jersey, the control number in Pennsylvania, the SBL in New York.
createdAtDateTime!When the account was recorded.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
jurisdictionJurisdiction!The unit that bills the property under this account.
originString!How the account came to be known: parcel (created with the parcel, for the unit that assesses it), import, api, fetch (a county record named the other units that bill the property), reference (the registry of taxing units), or a value beginning backfill for accounts recorded before origins were kept.
parcelParcel!The parcel the account is on.
statusTaxAccountStatus!Whether the unit still bills the property under this account.
objectTaxBillNeeds BILL_READ#
A bill as a taxpayer means it: one account's charges for one year, one bill type and one bill number, from the unit that sent it. Its installments are what reviews act on, and each has an id; the bill itself has a key.
Fields
acceptedAutomaticallyAutomaticAcceptanceSet when the nightly fetch accepted this bill without a person, with the reason. Null when a person accepted it or it is not accepted.
amountOutstandingOutstandingTotalWhat is still owed on the bill, and how complete that figure is. Null while the bill is withheld, as totalBilled is.
annualTotalMoneyThe annual total as the county stated it: the figure the charges and the installments are checked against. Null where the county printed none, and while withheld.
assessmentYearInt!The year of the assessed value the bill is based on.
billNumberStringThe county's own bill number. Null where the county publishes none.
billTypeBillType!Which roll the bill is on.
charges[TaxCharge!]!The county's charges for the year, which belong to the bill and not to one installment. They add up to chargesTotal.
chargesTotalMoneyThe charges summed: what the year is made of. Null while withheld.
installments[TaxBillInstallment!]!The bill's installments, first first.
installmentsTotalMoneyThe installments summed: what is owed and when, as the county split the year, which may carry penalty a county folded into an installment (penaltyIncluded). Null while withheld.
keyID!Tells the bills of one parcel apart, each revision its own. Opaque and stable across requests; not an id that node or bill accepts.
paidPerRecordsMoneyWhat the customer's own records say was paid on the whole bill: the sum over its installments. Null when no installment has anything on record.
parcelParcel!The parcel the bill is for.
payableYearInt!The year the bill falls due.
penaltyIncludedMoneyPenalty a county folded into an installment's amount (penaltyBasis INCLUDED_IN_AMOUNT_DUE), summed over the installments. Already inside installmentsTotal and the balance, and never added again. Null when no installment carries one.
retrieveIqCheckRetrieveIqCheckSet while retrieve-IQ is checking this bill before the customer acts on it. Null otherwise.
revisionInt!Zero for the bill as the unit first issued it. When the unit re-issues it with other charges (on a page that lists none, another total), or a person corrects a reading, the new figures are the next revision, waiting for review under a key of its own; the revision they replace is kept as evidence, SUPERSEDED or REJECTED, and counted nowhere. A change that leaves the charges as they were (a payment posted, interest grown, a date printed) updates the same revision.
sourceDocumentDocumentThe county page or uploaded file the bill was read from.
statusBillStatus!The bill's review status, taken from its installments: the one most in need of attention speaks for the bill. Never a payment status: amountOutstanding and paidPerRecords say what is known of payment.
taxAccountTaxAccount!The account the bill was sent under: which unit sent it, and the number it knows the property by.
totalBilledMoneyThe sum of the installments, the same figure as installmentsTotal. Null, never "0.00", while the bill is withheld: the installments still show their figures, this does not add them up.
validations[Validation!]!Every check run against this bill, across its installments: those still standing first, then warnings, then the ones a person or a later run settled.
versionInt!Moves whenever anything about this bill changes: a decision, a figure, a date, a charge, its stated total. Every review mutation takes the version its caller read as expectedVersion, and is refused with CONFLICT when it has moved. Not the revision.
withheldBoolean!True while an unresolved ERROR check stands against the bill. A withheld bill's figures are shown on its installments for the reviewer and left out of every total until a person resolves the check or rejects the bill.
withheldReasonStringThe codes of the checks that stand, comma separated, while withheld. Null otherwise.
objectTaxBillInstallmentNeeds BILL_READ#
One installment of a bill: what is payable, when, and what is left. Reviews act on installments, so each has an id of its own.
Fields
amountDueMoney!What the county asks for this installment.
amountOutstandingMoneyWhat is left to pay. Null when the payment figure or the penalty convention is unknown; never read a null as zero.
amountPaidMoneyWhat the county reports paid. Null when the county publishes no payment figure (Los Angeles and Orange do not), which is not the same as zero.
delinquentAfterDateThe last day to pay before a penalty is added, which is the date the county warns taxpayers about.
dueDateDate!The date the installment falls due by statute (November 1 and February 1 in California). Not the last day to pay.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
installmentLabelString!As the county labels it: "1st", "2nd", "Annual".
installmentNoIntIts position on the bill, 1 for the first. Null where the bill does not number it.
paidPerRecordsMoneyWhat the customer's own records say was paid on this installment: payments less refunds, adjustments signed. Null when nothing is on record, which is not a paid figure of zero. Shown beside amountPaid, the county's figure, never in its place.
paymentKnownBoolean!Whether the county publishes a payment figure for this installment.
payments[PaymentObservation!]!The customer's own payment records for this installment, oldest first.
penaltyMoneyThe penalty the county adds after delinquentAfter, where it publishes one.
penaltyBasisPenaltyBasisWhether amountDue already includes the penalty or the penalty is added to it. Null where the county does not say.
statusBillStatus!The installment's review status. Never a payment status: amountPaid and paymentKnown carry the county's word, paidPerRecords the customer's own records.
withheldBoolean!True for every installment of a withheld bill (TaxBill.withheld).
objectTaxCharge#
One line on the county's bill. The lines describe the whole year, not any one installment.
Fields
agencyPhoneStringThat agency's phone number, where the county prints it.
amountMoney!The amount of the line for the year.
chargeTypeChargeTypeWhat kind of charge it is. Null where the county does not say; never guessed.
descriptionString!The line as the county prints it.
idID!The id of this record. Not a Node id: node does not accept it.
levyingAgencyStringThe agency the charge is levied for, where the county names it.
rateStringThe rate the county prints for the line, where it prints one.
objectTenant#
An organisation: a firm that works for taxpayers, or a taxpayer whose parcels are held.
Fields
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
kindString!agent_firm, a firm that works for taxpayers under engagements, or taxpayer, an organisation that holds property of its own.
nameString!The organisation's name.
objectUpsertParcelPayload#
The parcel, and whether this call added it.
Fields
createdBoolean!False when the parcel was already held; nothing changed.
parcelParcel!The parcel, as held now.
objectUser#
A person at a firm, or the service user an API key acts as.
Fields
emailString!The person's email address.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
nameString!The person's name, or the key's name for a service user.
tenantTenant!The firm the person belongs to, never the client being acted for.
objectValidationNeeds BILL_READ#
One check run against one bill: what it expected, what it found, and whether a person resolved it or a later run cleared it, with everything that happened to it since. An unresolved, uncleared ERROR withholds the bill.
Fields
clearedAtDateTimeWhen a later run of the check passed. The check stays as history.
codeString!Which check it is, as a stable code: apn_mismatch, year_over_year_jump and so on.
createdAtDateTime!When the check first made the finding.
expectedStringWhat the check expected to find.
history[ValidationEvent!]!Everything that happened to this check, oldest first: found, changed, resolved (who and why), reopened, cleared, found again.
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
installmentTaxBillInstallment!The installment the check ran against.
messageString!The finding, in words.
observedStringWhat it found.
resolutionNoteStringThe words of the resolution that stands now; null when none stands. Every resolution's words stay in history.
resolvedAtDateTimeWhen a person accepted the discrepancy; null while no resolution stands.
resolvedByUserThe person who accepted it.
ruleVersionStringThe version of the checks that made the finding; null for a finding made before versions were recorded.
severitySeverity!How much the finding matters.
objectValidationEventNeeds BILL_READ#
One thing that happened to a check, with the check's severity and figures at that moment. Kept for good: a resolution a later run set aside stays here with its person and words.
Fields
atDateTime!When it happened.
byUserThe person, for RESOLVED; null for everything else.
expectedStringWhat the check expected to find at that moment.
kindValidationEventKind!What happened.
noteStringTheir words, for RESOLVED.
observedStringWhat it found at that moment.
reconstructedBoolean!Pieced together from the check and the activity trail when the history began, not written as it happened: its figures are the check's as they stood then.
ruleVersionStringThe version of the checks that ran; null where it was not recorded.
severitySeverity!The check's severity at that moment.
Inputs#
inputAddressInput#
The property's street address as you know it. Every field optional. A fetch fills in a blank street line from the unit's record and changes nothing you gave.
Fields
cityStringThe city.
line1StringThe street address.
line2StringA suite or unit, where there is one.
postalCodeStringThe ZIP code.
stateStringThe two-letter state code. The county's state when omitted.
inputBillCorrectionInput#
A reading corrected by hand: the installments to change, and the charges when they were misread too. The installments must add up to the charges, or the correction is refused.
Fields
charges[ChargeCorrectionInput!]Replaces the reading's charges when given; left out, they carry over.
The installments to change, each by its id.
inputBillEntryInput#
A bill entered by hand from its page: its year and type, its installments and the charges it lists. The installments must add up to the charges, or the entry is refused.
Fields
assessmentYearInt!requiredThe year of the assessed value the bill is based on.
billNumberStringThe county's own number for the bill, when it prints one.
Which kind of bill it is.
The charges it lists for the year.
Its installments, as it prints them.
inputBillEntryInstallmentInput#
One installment as the bill prints it.
inputBillInboxFilter#
Which bills the inbox lists.
Fields
jurisdictionIds[ID!]Bills sent by any of these units. Narrower than ParcelFilter.jurisdictionIds: filtering by a school district returns that district's bills, not the county's and the township's for the same parcel.
searchStringBills whose parcel number, street address, city or county bill number contains this text.
viewBillInboxViewWAITING when omitted.
withheldOnlyBooleanOnly bills an ERROR check stands against.
inputChargeCorrectionInput#
One charge as the bill prints it.
Fields
What the bill charges for it.
chargeTypeChargeTypeWhat kind of charge it is, if you know.
descriptionString!requiredThe charge as the bill names it: "General levy", "Flood control".
inputInstallmentCorrectionInput#
One installment of the bill with the figures to change. A field left out keeps what the reading had.
inputParcelFilter#
Which parcels to list. Every condition given must hold.
Fields
assessedValueMinMoneyParcels whose current total assessed value is at least this.
hasOpenAppealBooleanTrue: parcels with an appeal at OPEN or FILED; false: parcels without one.
jurisdictionIds[ID!]Parcels assessed by, or billed by, any of these units.
legalEntityIds[ID!]Parcels held under any of these owners of record.
searchStringParcels whose number or address contains this text.
states[String!]Parcels in any of these states, by two-letter code.
statusParcelStatusParcels at this status.
inputParcelImportInput#
A whole spreadsheet at once, under one owner of record: an existing one by id, or one found or created by name. Every row is checked before anything is written, and the accepted rows land together; dryRun checks and writes nothing.
Fields
dryRunBooleandefault falseTrue to check the rows and write nothing.
legalEntityIdIDAn existing owner of record, by id. Either this or legalEntityName.
legalEntityNameStringAn owner of record by name, found or created. Either this or legalEntityId.
The rows, at most 500.
inputParcelImportRowInput#
One row of a parcel spreadsheet: the county and the parcel number, and optionally the state, the street address, city and ZIP code. A row that names no state is California's.
Fields
cityStringThe city.
countyString!requiredThe county by name, as people write it.
parcelNumberString!requiredAs the county writes it.
situsLine1StringThe street address.
stateStringThe county's two-letter state. California when left out.
zipStringThe ZIP code.
inputParcelInput#
One parcel to add. Name the unit that assesses it by jurisdictionId, or name its county, with the state outside California; exactly one of the two.
Fields
countyStringThe county by name, as people write it: "Los Angeles", with or without "County", "Orleans Parish", "Richmond city".
jurisdictionIdIDThe id of the unit that assesses the parcel, from jurisdictions.
legalEntityIdID!requiredThe owner of record to hold it under, from legalEntities.
parcelNumberString!requiredAs the county writes it.
situsAddressInputThe street address, if known.
stateStringThe county's two-letter state, when the county is named. California when left out.
useCodeStringThe county's use code, if known.
inputParcelOrder#
How to order the parcel list.
inputPaymentImportInput#
A whole list of payments at once. Every row is checked, the good ones land as one transaction, and a row already recorded is counted, not recorded twice; dryRun checks and writes nothing.
Fields
dryRunBooleanTrue to check every row and write nothing.
The payments, one a row.
inputPaymentImportRowInput#
A row of a payment spreadsheet: which parcel (by number, with the county when the number is held in more than one), which year and installment, how much and when.
Fields
How much: positive for a payment or a refund, signed for an adjustment.
assessmentYearInt!requiredThe assessment year of the bill paid.
countyStringThe county by name. Needed only when the portfolio holds that parcel number in more than one county.
installmentNoInt!requiredWhich installment of that bill, from 1.
kindPaymentKindPAYMENT when left out.
The day the money moved.
parcelIdIDA person's choice of parcel for a row whose number did not match one exactly, usually from the candidates a check offered. The import's trail records the row, the number it gave, the parcel chosen and how the two numbers relate.
parcelNumberString!requiredAs the county writes it.
referenceStringA check number, a confirmation, a ledger line.
stateStringThe county's two-letter state; California when left out.
inputReportFilter#
Which parcels the report covers: the conditions of ParcelFilter apart from assessedValueMin, with status as text, or named appeals. Omitted, the whole portfolio.
Fields
appealIds[ID!]Only these appeals and the parcels they are on: the evidence pack for one appeal is APPEAL_EVIDENCE_PACK with one id here. Each must be an appeal you can read; at most 200.
hasOpenAppealBooleanTrue: parcels with an appeal at OPEN or FILED; false: parcels without one.
jurisdictionIds[ID!]Parcels assessed by, or billed by, any of these units.
legalEntityIds[ID!]Parcels held under any of these owners of record.
searchStringParcels whose number or address contains this text.
states[String!]Parcels in any of these states, by two-letter code.
statusStringParcels at this status: a ParcelStatus value, such as ACTIVE.
inputReportRuleInput#
What is wrong with a rule or a requirement, in your words. The server records what the screen showed for that rule and year itself.
Fields
assessmentYearInt!requiredThe assessment year the rule was shown for.
evidenceUrlStringWhere you saw the right value: an http or https link.
jurisdictionIdID!requiredThe unit whose rule is wrong (a Jurisdiction id).
problemString!requiredWhat is wrong, up to 2,000 characters.
requirementCodeStringFor a REQUIREMENT: its code, as appealRequirements gives it.
What is wrong: one kind of dated rule, or a requirement.
suggestedStringWhat it should say, if you know: up to 500 characters.
inputStartDocumentUploadInput#
What is about to be uploaded: the link is bound to these, and the bytes must agree with them.
Fields
byteSizeInt!requiredIts exact size in bytes.
filenameString!requiredIts name, with its extension: .pdf, .csv or .xlsx.
What the document is, as it will be filed on the parcel.
parcelIdID!requiredThe parcel the document belongs to.
Enums#
enumApiKeyStatus#
Whether a key works.
Values
ACTIVEIt works.
EXPIREDIts last day has passed.
REVOKEDA person ended it. The record stays.
enumAppealAction#
The moves updateAppealStatus makes. A decision is recorded with recordAppealOutcome instead.
Values
FILEMark it filed, with the date.
REOPENReopen a withdrawn appeal.
WITHDRAWWithdraw it.
enumAppealRequirementTopic#
What part of a filing a requirement is about.
Values
AGENTFiling for the owner.
BOARDWho hears the appeal and where it is filed.
CONTENTWhat the application must state.
FILINGWhen a filing counts as on time.
FORMThe application.
OTHER_DEADLINEFiling periods the dated rules do not cover, such as a supplemental assessment's.
SIGNATUREHow it is signed.
enumAppealStatus#
Where an appeal stands.
Values
DECIDEDDecided; the outcome is recorded. Final.
FILEDFiled with the board, awaiting a decision.
OPENRecorded, not yet filed.
WITHDRAWNWithdrawn before a decision. It can be reopened.
enumBillDelivery#
How a unit makes its bill available.
Values
EMAILSent by email. Reserved: no unit is recorded with it yet.
MAILED_PDFMailed on paper. Reserved: no unit is recorded with it yet.
NONENo bill: the unit publishes none online, or sends none of its own.
PORTAL_SCRAPEPublished on the unit's own website, where it is fetched every night.
SFTP_FEEDDelivered as a file feed. Reserved: no unit is recorded with it yet.
UPLOADSupplied by the firm as a file. Reserved: no unit is recorded with it yet.
enumBillEntryOutcome#
What became of a bill entered by hand.
Values
DUPLICATEThe same bill is already on file; nothing new was stored.
EVIDENCE_ONLYKept as the person entered it, and not a bill: a check found something wrong (the message says what).
STOREDA bill waiting in the inbox for review.
enumBillInboxView#
Which bills the inbox lists.
Values
DECIDEDBills a person accepted or rejected, the newest arrival first, so a decision can be found again.
WAITINGBills still waiting on a decision (NEEDS_REVIEW or DISPUTED), the oldest arrival first. The default.
enumBillStatus#
Where a bill's reading stands in review, and nothing about payment. Every fetched bill starts at NEEDS_REVIEW. What the county publishes about payment is on each installment (amountPaid, paymentKnown, amountOutstanding), with paymentKnown false where it publishes none; what the customer's own records say is beside it (payments, paidPerRecords). Neither moves the status, and the status moves neither.
Values
CLOSEDNever returned.
DISPUTEDFlagged for the client, with a note.
INGESTEDReserved: every bill arrives at NEEDS_REVIEW today.
NEEDS_REVIEWWaiting for a person's decision: where every fetched, uploaded or corrected reading lands.
PAIDNever returned.
REJECTEDRejected by a reviewer as a wrong reading of the bill. Final, and left out of every total and date: a later fetch does not reopen it.
SUPERSEDEDA revision the county replaced with a newer one, kept as evidence. Left out of every total and date.
VALIDATEDAccepted by a reviewer.
enumBillType#
Which roll a bill is on, as the county classifies it.
Values
ESCAPEA bill for value that escaped assessment in an earlier year.
REDEMPTIONA bill to redeem earlier years' unpaid taxes.
SECUREDThe annual bill on real property.
SUPPLEMENTALA bill for a change in value part way through the year, after a sale or new construction.
UNSECUREDA bill on property that is not land or buildings, such as equipment, fixtures or a boat.
enumChargeType#
What kind of charge a line on the bill is, where the county says.
Values
AD_VALOREMTax on the assessed value at the general rate.
DIRECT_CHARGEA flat charge from a district or agency, not based on value.
FEEA fee added to the bill.
PENALTY_AND_COSTPenalties and costs added for late payment.
SPECIAL_ASSESSMENTA charge for a local improvement, levied on the parcels that benefit from it.
VOTER_APPROVED_DEBTTax to repay bonds the voters approved.
enumCoverageStatus#
Whether a unit's bills can be fetched, from the best of its sites. Earlier values take precedence.
Values
ASSESSMENT_ONLYThe unit sends no bill of its own.
CLOSEDThe unit's site does not allow automated access, so its bills cannot be fetched. The reason is recorded.
COVEREDBills are fetched from the unit's own site every night.
NOT_SURVEYEDNot surveyed yet.
NO_PORTALThe unit publishes no bill online.
OTHERA site that publishes a balance but no bill document, or an image-only bill.
PORTAL_FOUNDThe unit publishes bills online; support for its site is not built yet.
READER_READYThe unit's site is supported and waits for a final live check.
RETIREDThe unit's site was retired.
enumDeadlineKind#
What a date is.
Values
APPEAL_CLOSEThe last day an appeal of the year can be filed.
APPEAL_OPENThe first day an appeal of the year can be filed.
PAYMENT_DELINQUENTThe last day to pay an installment before a penalty is added.
PAYMENT_DUEThe date an installment falls due.
enumDocumentKind#
What a document is.
Values
APPEAL_DECISIONA decision on an appeal.
ASSESSMENT_NOTICEA notice of assessed value.
CORRESPONDENCEA letter or other correspondence about the parcel.
RECEIPTA payment receipt.
TAX_BILLA tax bill, as the county published it or as it was uploaded.
enumExtractionState#
How far the reading of a document has got.
Values
CONFIRMEDRead and confirmed by a person. Reserved: not produced today.
EXTRACTEDRead; its figures are on the bill.
FAILEDCould not be read; the document needs a look.
MATCH_FAILEDRead, but what it says could not be matched to a parcel. Reserved: not produced today.
OCR_RUNNINGBeing read. Reserved: not produced today.
QUEUEDWaiting to be read. Reserved: not produced today.
enumFeedOutcome#
How one night of the feed ended.
Values
DELIVERY_FAILEDThe files were produced but could not be delivered.
EXPORT_FAILEDThe files could not be produced.
PARTIALThe files were produced and delivered, but some parcels could not be fetched that night.
RUNNINGStill running.
SUCCESSThe client's fetch finished without an error, and the files were produced and delivered.
SWEEP_FAILEDThe night's fetch failed before any file was produced.
enumIngestOutcome#
How one attempt to fetch a bill from a county ended.
Values
BLOCKEDThe county's site refused the request.
ERRORThe attempt failed for another reason.
NOT_FOUNDThe county answered and had no bill for the parcel.
PARSE_ERRORThe county answered with a page that could not be read.
SUCCESSA bill was fetched.
TIMEOUTThe county's site did not answer in time.
enumOrderDirection#
Which way to order.
Values
ASCLowest, earliest or A first.
DESCHighest, latest or Z first.
enumParcelOrderField#
What to order the parcel list by.
Values
ASSESSED_VALUEThe current assessment's total value.
JURISDICTIONThe name of the unit that assesses the parcel.
NEXT_DUE_DATEThe next payment date.
PARCEL_NUMBERThe parcel number, as text.
enumParcelStatus#
Where a parcel stands in the portfolio.
Values
ACTIVEHeld and tracked. The status every parcel starts in.
DISPOSEDSold or otherwise no longer held; kept for its history.
EXEMPTExempt from property tax.
PENDING_ASSESSMENTHeld, with an assessment still to come.
enumPaymentKind#
What an entry in the customer's own payment records is.
Values
ADJUSTMENTA signed correction of an earlier entry, the way a wrong entry is reversed.
PAYMENTMoney paid to the unit.
REFUNDMoney the unit paid back.
enumPaymentSource#
How an entry in the payment records was made.
Values
CUSTOMER_IMPORTIt came in with a list of payments (importPayments).
MANUALA person recorded it, one at a time (recordPayment).
enumPenaltyBasis#
How the county states a penalty against the amount due.
Values
ADDED_TO_AMOUNT_DUEThe penalty is added on top of the amount due once the date passes.
INCLUDED_IN_AMOUNT_DUEThe amount due already includes the penalty.
enumPortalStatus#
The standing of one of a unit's sites.
Values
ASSESSMENT_ONLYThe unit sends no bill of its own.
CANDIDATEKnown, and not yet checked.
COVEREDBills are fetched from it.
COVERED_AMOUNT_ONLYA balance is fetched from it; the site publishes no bill document.
COVERED_NEEDS_EXTRACTORBills are fetched from it as images, which are read on request.
NO_PORTALThe unit publishes no bill online.
RETIREDThe site was retired.
UNREACHABLEAutomated access is not possible; reason says why.
enumReportCategory#
How the reports are grouped.
Values
ACCOUNTINGFigures for the books.
APPEALSAppeals and their outcomes.
COMPLIANCEDates, bills and what stands against them.
PORTFOLIOWhat is held and what it is worth.
enumReportFormat#
The file a report is produced as. Every report comes as CSV, XLSX and PDF; reportCatalog lists the formats of each.
Values
CSVComma-separated text, one header row.
PDFA PDF for reading and printing.
XLSXAn Excel workbook.
ZIPThe appeal evidence pack alone: the pack as a PDF and a CSV, with the documents it lists beside them, one folder per appeal, and an index of what is there and what is not.
enumReportJobStatus#
Where a requested report is.
Values
DONEReady: downloadUrl fetches the file.
EXPIREDThe file has been removed. Request the report again.
FAILEDCould not be produced; error says why.
QUEUEDWaiting to be produced.
RUNNINGBeing produced.
enumReportKind#
The reports that can be produced. reportCatalog describes each one and lists its columns.
Values
APPEAL_EVIDENCE_PACKFor each appeal: what was asked against what and where it stands, the certified value and its revisions, the original documents and how each was read and reviewed, every reading of the year’s bills, the corrections, the checks and who accepted each, and the trail with the person and the firm, as the records hold them. A trail too long to carry whole ends with a line saying where it was cut and how much is not in the pack.
APPEAL_OUTCOMES_AND_SAVINGSEvery appeal on record: the certified value, what was asked, what was decided, the reduction realised against the reduction requested, and the tax saved where known.
ASSESSED_VALUE_ROLL_FORWARDEvery parcel's newest two assessment years side by side: the change, the change as a percentage, and a flag at 10% or more.
BILL_INGESTION_AUDITEvery installment we hold, which unit billed it, where its page came from, how it was read and by whom it was reviewed, and how many checks stand against it.
DEADLINE_EXPOSURE_REGISTEREvery payment and appeal date in the next 120 days with the balance at stake, or why the balance is not known, the undated windows last with their reason. The jurisdiction column is the unit the date belongs to: the one that sent the bill for a payment, the one that hears the appeal for a window.
TAX_LIABILITY_FORECASTNext year's installments per parcel and billing unit, projected from the newest assessed value at the effective rate the last billed year paid to that unit, split the way that year was split.
enumRetrieveIqCheckReason#
Why retrieve-IQ is checking a bill before the customer acts on it.
Values
CHECK_FAILEDA check on the reading failed (the figures do not add up, the parcel differs, a total moved tenfold).
READER_PAUSEDThis county's reader is paused after a wrong bill in retrieve-IQ's hand-checked sample.
REPORTEDSomeone reported this automatically accepted bill as wrong.
ZERO_TOTALA $0 bill, which is never accepted automatically.
enumRuleKind#
Which dated rule: the appeal window, the notice of value, the informal review, or the valuation date.
Values
APPEAL_CLOSEThe last day of the regular appeal filing window.
APPEAL_OPENThe first day of the regular appeal filing window.
ASSESSMENT_DATEThe valuation date the assessment is made as of.
INFORMAL_REVIEW_CLOSEThe last day to ask the assessor for an informal review.
NOTICE_EXPECTEDWhen the assessor mails the notice of value.
enumRuleReportStatus#
Where a report stands with the people who maintain the rules.
Values
DECLINEDThey checked and the rule stands; resolution says why.
FIXEDThe rule was corrected.
OPENWaiting for the people who maintain the rules.
enumRuleReportSubject#
What the report is about: one kind of dated rule, or a filing requirement.
Values
APPEAL_CLOSEThe day the appeal window closes.
APPEAL_OPENThe day the appeal window opens.
ASSESSMENT_DATEThe valuation date.
INFORMAL_REVIEW_CLOSEThe last day to ask for an informal review.
NOTICE_EXPECTEDWhen the notice of value is mailed.
REQUIREMENTA filing requirement, named by its code.
enumRuleStatus#
Whether a rule gives a date for the year, and if not, why not. Only DATED and BOUND carry a date, and neither is ever invented.
Values
AWAITING_EVENTThe rule counts from an event (a notice mailed, a roll published) whose date is not on record yet.
BOUNDOne side of a later-of or earlier-of rule is an event whose date is not on record, so the date is a floor or a ceiling, not the deadline.
DATEDThe rule gives this date.
NOT_RECORDEDNo rule of this kind is recorded for the unit, its parent or its state.
SET_LOCALLYThe date is set locally each year, and this year has not been recorded.
UNREADABLEA rule is recorded but cannot be worked out, or names a day that is not on the calendar.
enumScope#
What a key or an engagement may do. A write scope does not include the matching read scope.
Values
ADMINManage the firm itself. Held by people in the app, never by a key.
APPEAL_WRITERecord appeals and update them.
BILL_READRead tax bills, the checks run against them, the documents behind them and the nightly fetch status.
BILL_REVIEWAccept, flag and reject bills, resolve their checks, and take a decision back.
PARCEL_READRead parcels, their assessments, the units that assess and bill them, deadlines and calendar feeds.
PARCEL_WRITEAdd and import parcels.
REPORT_READRequest and download reports, and read the portfolio summary.
enumSeverity#
How much a check's finding matters.
Values
ERRORWithholds the bill: it cannot be accepted until a person resolves the check or a later run clears it.
INFOFor information; nothing to do.
WARNINGWorth a look; the bill can still be accepted.
enumTaxAccountStatus#
Whether the unit still bills the property under this account.
Values
ACTIVEThe unit still bills the property under this number.
CLOSEDIt no longer does; the bills already held stay.
enumUnreachableReason#
Why a site cannot be fetched from.
Values
BOT_BLOCK_HEADFUL_FAILSThe site blocks automated visitors, even a full browser.
CAPTCHAThe site asks every visitor to prove they are a person before it shows a bill.
DATACENTER_IP_CHALLENGEDThe site challenges visitors from data centres.
LOGIN_WALLThe site requires an account.
OFFLINEThe site was offline when checked.
PAYWALLThe site charges per lookup.
ROBOTS_DISALLOWThe site's published rules for automated visitors do not allow it.
TERMS_FORBIDThe unit's own terms do not allow automated access.
enumValidationEventKind#
What happened to a check.
Values
CHANGEDA later run of the standing check found other figures.
CLEAREDA later run passed.
FOUNDThe check first made the finding.
FOUND_AGAINThe check made the finding again after it had passed.
REOPENEDA later run found other figures than the ones accepted, so the resolution no longer covers them.
RESOLVEDA person accepted the discrepancy.
enumWeekendRule#
What happens to a date that falls on a weekend or a holiday.
Values
NEXT_BUSINESS_DAYA date on a Saturday, Sunday or federal holiday moves to the next business day. State holidays are not counted, so a date can show one business day early, the safe direction.
NONEThe date stands whatever day it falls on.
Interfaces#
interfaceNode#
Anything with an id of its own. Any Node can be fetched again by that id with node or nodes.
Fields
idID!The id: opaque, stable, and what node, nodes and every argument that takes an id accept.
Scalars#
scalarDate#
A calendar date, YYYY-MM-DD. No time, no timezone.
scalarDateTime#
An instant, ISO 8601 in UTC.
scalarJSON#
Arbitrary JSON, passed through untouched.
scalarMoney#
A monetary amount in major units with two decimals, e.g. "71486.32". USD implied.