Reference

Types

Every type a query or mutation reaches: objects, inputs, enums, unions, interfaces and scalars.

This page as Markdown

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

actorUser

The person who acted. Null when retrieve-IQ acted on its own, as for a nightly fetch.

When it happened.

idID!

The id of this record. Not a Node id: node does not accept it.

payloadJSON

The 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

cityString

The city.

countyString

The county, where the county publishes it.

line1String

The street address.

line2String

A suite or unit, where there is one.

postalCodeString

The ZIP code.

stateString

The 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.

expiresAtDateTime

When 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.

lastUsedAtDateTime

When 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.

revokedAtDateTime

When it was revoked. Null while it stands.

scopes[Scope!]!

What the key may do, within what the firm itself may do.

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

assessedValueMoney

The 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.

deadlineOnDate

The last day to file. Null where the unit sets it from an event whose date is not on record; deadlineReason says why.

deadlineReasonString

Why deadlineOn is null, in words. Null when there is a date.

deadlineSourceString

rule, when the date came from the unit's filing window; user, when a person entered it.

decidedOnDate

When it was decided. Null until it is.

decidedValueMoney

The value the board set. Null until decided.

filedOnDate

When it was filed. Null until it is.

idID!

The id: opaque, stable, and what node, nodes and every argument that takes an id accept.

noteString

A note for whoever reads the appeal next.

openedByUser

The person who recorded it.

parcelParcel!

The parcel under appeal.

payableYearInt!

The year the bill on that value falls due.

requestedValueMoney

The value the appeal asks for. Null when none was recorded.

ruleDeadlineOnDate

When 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.

savingsMoney

The tax saved, as entered from the corrected bill. Null means not yet known, never zero.

Where the appeal stands.

valueReductionMoney

The 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

citationString

The provision, as the source numbers it.

codeString!

The requirement's stable key within its unit.

effectiveFromYearInt!

The first assessment year it governs.

effectiveToYearInt

The last assessment year it governs; null while it still does.

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.

sourceUrlString

A link to the source itself, where one exists.

What part of the filing it is about.

verifiedAtDate

When a person last confirmed it; null means nobody has.

verifiedByString

Who 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

closesOnString

The closing rule as recorded. Null when none is recorded, or the unit sets the date each year.

closesOnDateString

The last day to file, YYYY-MM-DD. Null when the rule does not yield a date; never guessed.

opensOnString

The opening rule as recorded. Null when none is recorded, or the unit sets the date each year.

opensOnDateString

The first day to file, YYYY-MM-DD. Null when the rule does not yield a date.

qualifierString

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.

reasonString

Why closesOnDate is null, in plain words.

resolvedFromJurisdiction

The unit whose rule answered: the unit itself, its parent, or the state.

sourceString

Where the closing rule came from: the statute or the unit's own notice.

verifiedAtString

When 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.

modeledMoney

The estimate. Null with no decided appeals to learn from, or nothing to sum.

openAppealsInt!

Appeals at OPEN or FILED.

realizedRatioFloat

Achieved 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.

certifiedOnDate

When 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.

Fields

When the nightly fetch accepted it.

reasonString!

Why, in words for the customer.

objectBillConnection#

A page of bills.

Fields

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.

Fields

cursorString!

Pass this as after to continue from this record.

nodeTaxBill!

The record.

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.

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

The 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.

createdByUser

The 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.

lastFetchedAtDateTime

When a calendar app last read it. Null until one has.

revokedAtDateTime

When it was revoked. Null while it is in force.

objectCalendarFeedCreated#

A new feed and, this once, the URL that carries its secret.

Fields

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.

lastAnsweredAtDateTime

When the county last answered, with a bill or with NOT_FOUND.

lastAttemptAtDateTime

When a fetch was last attempted there.

lastOutcomeIngestOutcome

How the newest attempt ended.

lastSuccessAtDateTime

When 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

amountOutstandingOutstandingTotal!Needs BILL_READ

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.

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!]!required

Unit 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.

fipsString

The 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.

Whether the unit's bills can be fetched.

unitCodeString!

The code of the unit, as Jurisdiction.unitCode has it.

vendorString

The 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

acknowledgedAtDateTime

When a person acknowledged this date; null until then, and again once the date moves.

acknowledgedByUser

The person who acknowledged it.

assessmentYearInt!

The assessment year the date belongs to.

exposureMoneyNeeds BILL_READ

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.

What the date is.

The date. Null when the rule could not be evaluated; unevaluableReason says why.

paidPerRecordsBoolean!Needs BILL_READ

True 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.

parcelParcel

The 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.

qualifierString

For 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.

resolvedFromJurisdiction

For 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.

supersedesDeadlineChange

The date or reason this one replaced, when it moved; null for a date that never changed.

taxAccountTaxAccount

For a payment date: the account the bill belongs to. Null for an appeal date, which belongs to the parcel however many units bill it.

unevaluableReasonString

Why 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

The date it had before; null when it had none.

unevaluableReasonString

Why 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

generatedAtDateTime

When 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

byteSizeInt

Its 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.

fileRemovedAtDateTime

When 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.

What the document is.

mediaTypeString

What the file is, as recognised from its bytes when it arrived; null for a document kept from before that was recorded.

pageCountInt

Its 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.

sourceUrlString

The county page it was fetched from. Null for an upload.

uploadedByUser

The 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.

authorisationRefString

Where the written approval is kept: a reference, never the document.

authorisedOnDate

The 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.

effectiveToDate

The 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.

grantedByString

Who 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.

revokedAtDateTime

When it was revoked; null while it stands. A revoked engagement is not live whatever its dates say.

revokedReasonString

Why 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.

confidenceFloat

Null 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.

elementIdString

The 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.

pageInt

The 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.

createdByUser

The person, for a reading a person made; null for one the product made.

engineString

A short code for the program that read the document; null for a reading a person made.

errorString

Why 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.

reviewedAtDateTime

When a person confirmed the reading.

reviewedByUser

The person who confirmed it.

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

deliveredToString

Where the files went: an SFTP host, an S3 bucket or a folder.

feedNameString!

The feed, as named in its setup.

finishedAtDateTime

When it finished. Null while it runs.

idID!

The id of this record. Not a Node id: node does not accept it.

messageString

What 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!required

The 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!required

The 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.

fipsCodeString

The 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.

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!required

The 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.

dateString

YYYY-MM-DD, after the weekend rule; null unless status is DATED or BOUND.

Which dated rule it is.

qualifierString

exact, or no_earlier_than / no_later_than for a BOUND date.

reasonString

Why there is no date, in plain words.

resolvedFromJurisdiction

The unit whose row answered.

The 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.

unadjustedDateString

The 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.

taxIdLast4String

The 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

amountOutstandingOutstandingTotal!Needs BILL_READ

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.

assessedValueAsOfInt

The 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

endCursorString

The 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.

startCursorString

The 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 20

How many events: 20 when omitted, at most 50.

amountOutstandingOutstandingTotal!Needs BILL_READ

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 6

How many years: 6 when omitted, at most 12.

bills[TaxBill!]!Needs BILL_READ

The parcel's bills, newest year first.

Arguments

lastIntdefault 6

How many bills: 6 when omitted, at most 24.

currentAssessmentAssessment

The 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.

documents[Document!]!Needs BILL_READ

Every document held for this parcel, newest first.

Arguments

Only 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.

nextPaymentDeadline

The 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.

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.

useCodeString

The 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

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.

Fields

cursorString!

Pass this as after to continue from this record.

nodeParcel!

The record.

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.

legalEntityLegalEntity

The owner of record the parcels were held under. Null on a dry run.

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.

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.

A payment, a refund or an adjustment.

noteString

A note recorded with it.

recordedAtDateTime!

When it was recorded.

recordedByUser

The person who recorded it, or who sent the list it came in with.

referenceString

A check number, a confirmation, a ledger line.

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

discoveredOnDate

When the site was first recorded.

hostString

The site's host name.

readyBoolean!

Supported and waiting only for a final live check.

Why it cannot be fetched from, when it cannot.

Its standing.

urlString

Where bills are looked up. Null when there is no site.

vendorString

The software the site runs, by name.

verifiedOnDate

When 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.

assessedValueAsOfInt

The 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

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.

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

byteSizeInt

The size of the file in bytes, once done.

downloadUrlString

GET this path, with the same Authorization and X-Engagement-ID headers, to save the file. Only while DONE; null otherwise.

errorString

Why 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.

finishedAtDateTime

When it finished, done or failed. Null before that.

The file format asked for.

idID!

The id: opaque, stable, and what node, nodes and every argument that takes an id accept.

Which report.

nameString!

The report's name.

requestedAtDateTime!

When it was requested.

requestedByUser

Who requested it.

rowCountInt

How many rows the report holds, once done.

Where the report is.

objectRequirementVersion#

An earlier version of a filing requirement, as it stood before a change replaced it.

Fields

citationString

The provision it cited then.

recordedAtDateTime!

When this version was written.

requirementString!

The requirement as it read then.

sourceString!

Where it came from then.

sourceUrlString

A link to that source, where one existed.

supersededAtDateTime!

When the next version replaced it.

verifiedAtDate

When a person had last confirmed it; null meant nobody had.

verifiedByString

Who had confirmed it.

versionInt!

Which version it was, counting from 1.

objectResolveValidationPayload#

The resolved check, and the bill after it.

Fields

The 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

noteString

The words of whoever reported it, or retrieve-IQ's.

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.

evidenceUrlString

Where 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.

reportedByUser

The person who filed it.

resolutionString

What the people who maintain the rules found.

resolvedAtDateTime

When it was answered; null while it is open.

ruleVersionInt

The 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.

Where it stands.

What it is about.

suggestedString

What 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.

effectiveToYearInt

The last assessment year it governs; null while it still does.

expressionString

The 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.

Which dated rule it is.

noteString

A 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.

sourceUrlString

A link to the source itself, where one exists.

verifiedAtDate

When a person last confirmed the row against its source; null means nobody has.

verifiedByString

Who 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

effectiveToYearInt

The last assessment year it governed then; null meant it still did.

expressionString

The rule as it was written then; null meant set locally each year.

noteString

Its note then.

recordedAtDateTime!

When this version was written.

sourceString!

Where the rule came from then.

sourceUrlString

A link to that source, where one existed.

supersededAtDateTime!

When the next version replaced it.

verifiedAtDate

When a person had last confirmed it against its source; null meant nobody had.

verifiedByString

Who 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.

jurisdictions[Jurisdiction!]!Needs PARCEL_READ

Units whose name matches and that the portfolio holds parcels in.

parcels[Parcel!]!Needs PARCEL_READ

Parcels whose number or address matches.

objectStateCoverage#

One state's (or DC's) units by coverage status.

Fields

The units that send a bill of their own, by level, most first. In Connecticut these are towns and cities, not counties.

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.

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

acceptedAutomaticallyAutomaticAcceptance

Set when the nightly fetch accepted this bill without a person, with the reason. Null when a person accepted it or it is not accepted.

amountOutstandingOutstandingTotal

What is still owed on the bill, and how complete that figure is. Null while the bill is withheld, as totalBilled is.

annualTotalMoney

The 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.

billNumberString

The 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.

chargesTotalMoney

The charges summed: what the year is made of. Null while withheld.

installments[TaxBillInstallment!]!

The bill's installments, first first.

installmentsTotalMoney

The 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.

paidPerRecordsMoney

What 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.

penaltyIncludedMoney

Penalty 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.

retrieveIqCheckRetrieveIqCheck

Set 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.

sourceDocumentDocument

The 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.

totalBilledMoney

The 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.

withheldReasonString

The 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.

amountOutstandingMoney

What is left to pay. Null when the payment figure or the penalty convention is unknown; never read a null as zero.

amountPaidMoney

What 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.

delinquentAfterDate

The 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".

installmentNoInt

Its position on the bill, 1 for the first. Null where the bill does not number it.

paidPerRecordsMoney

What 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.

penaltyMoney

The penalty the county adds after delinquentAfter, where it publishes one.

penaltyBasisPenaltyBasis

Whether 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

agencyPhoneString

That agency's phone number, where the county prints it.

amountMoney!

The amount of the line for the year.

chargeTypeChargeType

What 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.

levyingAgencyString

The agency the charge is levied for, where the county names it.

rateString

The 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

clearedAtDateTime

When 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.

expectedString

What 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.

observedString

What it found.

resolutionNoteString

The words of the resolution that stands now; null when none stands. Every resolution's words stay in history.

resolvedAtDateTime

When a person accepted the discrepancy; null while no resolution stands.

resolvedByUser

The person who accepted it.

ruleVersionString

The 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

When it happened.

The person, for RESOLVED; null for everything else.

expectedString

What the check expected to find at that moment.

What happened.

noteString

Their words, for RESOLVED.

observedString

What 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.

ruleVersionString

The 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

cityString

The city.

line1String

The street address.

line2String

A suite or unit, where there is one.

postalCodeString

The ZIP code.

stateString

The 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

Replaces the reading's charges when given; left out, they carry over.

installments[InstallmentCorrectionInput!]!required

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!required

The year of the assessed value the bill is based on.

billNumberString

The county's own number for the bill, when it prints one.

billTypeBillType!required

Which kind of bill it is.

charges[ChargeCorrectionInput!]!required

The charges it lists for the year.

installments[BillEntryInstallmentInput!]!required

Its installments, as it prints them.

inputBillEntryInstallmentInput#

One installment as the bill prints it.

Fields

amountDueMoney!required

What the bill asks for it.

delinquentAfterDate

The date after which the county adds a penalty, when the bill prints one.

dueDateDate!required

When it is due.

installmentNoInt!required

Its number on the bill, from 1.

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.

searchString

Bills whose parcel number, street address, city or county bill number contains this text.

WAITING when omitted.

withheldOnlyBoolean

Only bills an ERROR check stands against.

inputChargeCorrectionInput#

One charge as the bill prints it.

Fields

amountMoney!required

What the bill charges for it.

chargeTypeChargeType

What kind of charge it is, if you know.

descriptionString!required

The 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.

Fields

amountDueMoney

What the county asks for it.

amountPaidMoney

Null when the county publishes no payment figure.

delinquentAfterDate

The date after which the county adds a penalty, when the bill prints one.

dueDateDate

When it is due.

installmentIdID!required

The installment, as the bill lists it.

inputParcelFilter#

Which parcels to list. Every condition given must hold.

Fields

assessedValueMinMoney

Parcels whose current total assessed value is at least this.

hasOpenAppealBoolean

True: 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.

searchString

Parcels whose number or address contains this text.

states[String!]

Parcels in any of these states, by two-letter code.

Parcels 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 false

True to check the rows and write nothing.

legalEntityIdID

An existing owner of record, by id. Either this or legalEntityName.

legalEntityNameString

An owner of record by name, found or created. Either this or legalEntityId.

rows[ParcelImportRowInput!]!required

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

cityString

The city.

countyString!required

The county by name, as people write it.

parcelNumberString!required

As the county writes it.

situsLine1String

The street address.

stateString

The county's two-letter state. California when left out.

zipString

The 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

countyString

The county by name, as people write it: "Los Angeles", with or without "County", "Orleans Parish", "Richmond city".

jurisdictionIdID

The id of the unit that assesses the parcel, from jurisdictions.

legalEntityIdID!required

The owner of record to hold it under, from legalEntities.

parcelNumberString!required

As the county writes it.

The street address, if known.

stateString

The county's two-letter state, when the county is named. California when left out.

useCodeString

The county's use code, if known.

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

dryRunBoolean

True to check every row and write nothing.

rows[PaymentImportRowInput!]!required

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

amountMoney!required

How much: positive for a payment or a refund, signed for an adjustment.

assessmentYearInt!required

The assessment year of the bill paid.

countyString

The county by name. Needed only when the portfolio holds that parcel number in more than one county.

installmentNoInt!required

Which installment of that bill, from 1.

PAYMENT when left out.

paidOnDate!required

The day the money moved.

parcelIdID

A 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!required

As the county writes it.

referenceString

A check number, a confirmation, a ledger line.

stateString

The 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.

hasOpenAppealBoolean

True: 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.

searchString

Parcels whose number or address contains this text.

states[String!]

Parcels in any of these states, by two-letter code.

statusString

Parcels 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!required

The assessment year the rule was shown for.

evidenceUrlString

Where you saw the right value: an http or https link.

jurisdictionIdID!required

The unit whose rule is wrong (a Jurisdiction id).

problemString!required

What is wrong, up to 2,000 characters.

requirementCodeString

For a REQUIREMENT: its code, as appealRequirements gives it.

subjectRuleReportSubject!required

What is wrong: one kind of dated rule, or a requirement.

suggestedString

What 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!required

Its exact size in bytes.

filenameString!required

Its name, with its extension: .pdf, .csv or .xlsx.

kindDocumentKind!required

What the document is, as it will be filed on the parcel.

parcelIdID!required

The parcel the document belongs to.

Enums#

enumApiKeyStatus#

Whether a key works.

Values

ACTIVE

It works.

EXPIRED

Its last day has passed.

REVOKED

A person ended it. The record stays.

enumAppealAction#

The moves updateAppealStatus makes. A decision is recorded with recordAppealOutcome instead.

Values

FILE

Mark it filed, with the date.

REOPEN

Reopen a withdrawn appeal.

WITHDRAW

Withdraw it.

enumAppealRequirementTopic#

What part of a filing a requirement is about.

Values

AGENT

Filing for the owner.

BOARD

Who hears the appeal and where it is filed.

CONTENT

What the application must state.

FILING

When a filing counts as on time.

FORM

The application.

OTHER_DEADLINE

Filing periods the dated rules do not cover, such as a supplemental assessment's.

SIGNATURE

How it is signed.

enumAppealStatus#

Where an appeal stands.

Values

DECIDED

Decided; the outcome is recorded. Final.

FILED

Filed with the board, awaiting a decision.

OPEN

Recorded, not yet filed.

WITHDRAWN

Withdrawn before a decision. It can be reopened.

enumBillDelivery#

How a unit makes its bill available.

Values

EMAIL

Sent by email. Reserved: no unit is recorded with it yet.

MAILED_PDF

Mailed on paper. Reserved: no unit is recorded with it yet.

NONE

No bill: the unit publishes none online, or sends none of its own.

PORTAL_SCRAPE

Published on the unit's own website, where it is fetched every night.

SFTP_FEED

Delivered as a file feed. Reserved: no unit is recorded with it yet.

UPLOAD

Supplied by the firm as a file. Reserved: no unit is recorded with it yet.

enumBillEntryOutcome#

What became of a bill entered by hand.

Values

DUPLICATE

The same bill is already on file; nothing new was stored.

EVIDENCE_ONLY

Kept as the person entered it, and not a bill: a check found something wrong (the message says what).

STORED

A bill waiting in the inbox for review.

enumBillInboxView#

Which bills the inbox lists.

Values

DECIDED

Bills a person accepted or rejected, the newest arrival first, so a decision can be found again.

WAITING

Bills 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

CLOSED

Never returned.

DISPUTED

Flagged for the client, with a note.

INGESTED

Reserved: every bill arrives at NEEDS_REVIEW today.

NEEDS_REVIEW

Waiting for a person's decision: where every fetched, uploaded or corrected reading lands.

PAID

Never returned.

REJECTED

Rejected 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.

SUPERSEDED

A revision the county replaced with a newer one, kept as evidence. Left out of every total and date.

VALIDATED

Accepted by a reviewer.

enumBillType#

Which roll a bill is on, as the county classifies it.

Values

ESCAPE

A bill for value that escaped assessment in an earlier year.

REDEMPTION

A bill to redeem earlier years' unpaid taxes.

SECURED

The annual bill on real property.

SUPPLEMENTAL

A bill for a change in value part way through the year, after a sale or new construction.

UNSECURED

A 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_VALOREM

Tax on the assessed value at the general rate.

DIRECT_CHARGE

A flat charge from a district or agency, not based on value.

FEE

A fee added to the bill.

PENALTY_AND_COST

Penalties and costs added for late payment.

SPECIAL_ASSESSMENT

A charge for a local improvement, levied on the parcels that benefit from it.

VOTER_APPROVED_DEBT

Tax 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_ONLY

The unit sends no bill of its own.

CLOSED

The unit's site does not allow automated access, so its bills cannot be fetched. The reason is recorded.

COVERED

Bills are fetched from the unit's own site every night.

NOT_SURVEYED

Not surveyed yet.

NO_PORTAL

The unit publishes no bill online.

OTHER

A site that publishes a balance but no bill document, or an image-only bill.

PORTAL_FOUND

The unit publishes bills online; support for its site is not built yet.

READER_READY

The unit's site is supported and waits for a final live check.

RETIRED

The unit's site was retired.

enumDeadlineKind#

What a date is.

Values

APPEAL_CLOSE

The last day an appeal of the year can be filed.

APPEAL_OPEN

The first day an appeal of the year can be filed.

PAYMENT_DELINQUENT

The last day to pay an installment before a penalty is added.

PAYMENT_DUE

The date an installment falls due.

enumDocumentKind#

What a document is.

Values

APPEAL_DECISION

A decision on an appeal.

ASSESSMENT_NOTICE

A notice of assessed value.

CORRESPONDENCE

A letter or other correspondence about the parcel.

RECEIPT

A payment receipt.

TAX_BILL

A tax bill, as the county published it or as it was uploaded.

enumExtractionState#

How far the reading of a document has got.

Values

CONFIRMED

Read and confirmed by a person. Reserved: not produced today.

EXTRACTED

Read; its figures are on the bill.

FAILED

Could not be read; the document needs a look.

MATCH_FAILED

Read, but what it says could not be matched to a parcel. Reserved: not produced today.

OCR_RUNNING

Being read. Reserved: not produced today.

QUEUED

Waiting to be read. Reserved: not produced today.

enumFeedOutcome#

How one night of the feed ended.

Values

DELIVERY_FAILED

The files were produced but could not be delivered.

EXPORT_FAILED

The files could not be produced.

PARTIAL

The files were produced and delivered, but some parcels could not be fetched that night.

RUNNING

Still running.

SUCCESS

The client's fetch finished without an error, and the files were produced and delivered.

SWEEP_FAILED

The night's fetch failed before any file was produced.

enumIngestOutcome#

How one attempt to fetch a bill from a county ended.

Values

BLOCKED

The county's site refused the request.

ERROR

The attempt failed for another reason.

NOT_FOUND

The county answered and had no bill for the parcel.

PARSE_ERROR

The county answered with a page that could not be read.

SUCCESS

A bill was fetched.

TIMEOUT

The county's site did not answer in time.

enumOrderDirection#

Which way to order.

Values

ASC

Lowest, earliest or A first.

DESC

Highest, latest or Z first.

enumParcelOrderField#

What to order the parcel list by.

Values

ASSESSED_VALUE

The current assessment's total value.

JURISDICTION

The name of the unit that assesses the parcel.

NEXT_DUE_DATE

The next payment date.

PARCEL_NUMBER

The parcel number, as text.

enumParcelStatus#

Where a parcel stands in the portfolio.

Values

ACTIVE

Held and tracked. The status every parcel starts in.

DISPOSED

Sold or otherwise no longer held; kept for its history.

EXEMPT

Exempt from property tax.

PENDING_ASSESSMENT

Held, with an assessment still to come.

enumPaymentKind#

What an entry in the customer's own payment records is.

Values

ADJUSTMENT

A signed correction of an earlier entry, the way a wrong entry is reversed.

PAYMENT

Money paid to the unit.

REFUND

Money the unit paid back.

enumPaymentSource#

How an entry in the payment records was made.

Values

CUSTOMER_IMPORT

It came in with a list of payments (importPayments).

MANUAL

A person recorded it, one at a time (recordPayment).

enumPenaltyBasis#

How the county states a penalty against the amount due.

Values

ADDED_TO_AMOUNT_DUE

The penalty is added on top of the amount due once the date passes.

INCLUDED_IN_AMOUNT_DUE

The amount due already includes the penalty.

enumPortalStatus#

The standing of one of a unit's sites.

Values

ASSESSMENT_ONLY

The unit sends no bill of its own.

CANDIDATE

Known, and not yet checked.

COVERED

Bills are fetched from it.

COVERED_AMOUNT_ONLY

A balance is fetched from it; the site publishes no bill document.

COVERED_NEEDS_EXTRACTOR

Bills are fetched from it as images, which are read on request.

NO_PORTAL

The unit publishes no bill online.

RETIRED

The site was retired.

UNREACHABLE

Automated access is not possible; reason says why.

enumReportCategory#

How the reports are grouped.

Values

ACCOUNTING

Figures for the books.

APPEALS

Appeals and their outcomes.

COMPLIANCE

Dates, bills and what stands against them.

PORTFOLIO

What 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

CSV

Comma-separated text, one header row.

PDF

A PDF for reading and printing.

XLSX

An Excel workbook.

ZIP

The 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

DONE

Ready: downloadUrl fetches the file.

EXPIRED

The file has been removed. Request the report again.

FAILED

Could not be produced; error says why.

QUEUED

Waiting to be produced.

RUNNING

Being produced.

enumReportKind#

The reports that can be produced. reportCatalog describes each one and lists its columns.

Values

APPEAL_EVIDENCE_PACK

For 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_SAVINGS

Every 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_FORWARD

Every 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_AUDIT

Every 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_REGISTER

Every 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_FORECAST

Next 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_FAILED

A check on the reading failed (the figures do not add up, the parcel differs, a total moved tenfold).

READER_PAUSED

This county's reader is paused after a wrong bill in retrieve-IQ's hand-checked sample.

REPORTED

Someone reported this automatically accepted bill as wrong.

ZERO_TOTAL

A $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_CLOSE

The last day of the regular appeal filing window.

APPEAL_OPEN

The first day of the regular appeal filing window.

ASSESSMENT_DATE

The valuation date the assessment is made as of.

INFORMAL_REVIEW_CLOSE

The last day to ask the assessor for an informal review.

NOTICE_EXPECTED

When the assessor mails the notice of value.

enumRuleReportStatus#

Where a report stands with the people who maintain the rules.

Values

DECLINED

They checked and the rule stands; resolution says why.

FIXED

The rule was corrected.

OPEN

Waiting for the people who maintain the rules.

enumRuleReportSubject#

What the report is about: one kind of dated rule, or a filing requirement.

Values

APPEAL_CLOSE

The day the appeal window closes.

APPEAL_OPEN

The day the appeal window opens.

ASSESSMENT_DATE

The valuation date.

INFORMAL_REVIEW_CLOSE

The last day to ask for an informal review.

NOTICE_EXPECTED

When the notice of value is mailed.

REQUIREMENT

A 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_EVENT

The rule counts from an event (a notice mailed, a roll published) whose date is not on record yet.

BOUND

One 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.

DATED

The rule gives this date.

NOT_RECORDED

No rule of this kind is recorded for the unit, its parent or its state.

SET_LOCALLY

The date is set locally each year, and this year has not been recorded.

UNREADABLE

A 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

ADMIN

Manage the firm itself. Held by people in the app, never by a key.

APPEAL_WRITE

Record appeals and update them.

BILL_READ

Read tax bills, the checks run against them, the documents behind them and the nightly fetch status.

BILL_REVIEW

Accept, flag and reject bills, resolve their checks, and take a decision back.

PARCEL_READ

Read parcels, their assessments, the units that assess and bill them, deadlines and calendar feeds.

PARCEL_WRITE

Add and import parcels.

REPORT_READ

Request and download reports, and read the portfolio summary.

enumSeverity#

How much a check's finding matters.

Values

ERROR

Withholds the bill: it cannot be accepted until a person resolves the check or a later run clears it.

INFO

For information; nothing to do.

WARNING

Worth a look; the bill can still be accepted.

enumTaxAccountStatus#

Whether the unit still bills the property under this account.

Values

ACTIVE

The unit still bills the property under this number.

CLOSED

It no longer does; the bills already held stay.

enumUnreachableReason#

Why a site cannot be fetched from.

Values

BOT_BLOCK_HEADFUL_FAILS

The site blocks automated visitors, even a full browser.

CAPTCHA

The site asks every visitor to prove they are a person before it shows a bill.

DATACENTER_IP_CHALLENGED

The site challenges visitors from data centres.

LOGIN_WALL

The site requires an account.

OFFLINE

The site was offline when checked.

PAYWALL

The site charges per lookup.

ROBOTS_DISALLOW

The site's published rules for automated visitors do not allow it.

TERMS_FORBID

The unit's own terms do not allow automated access.

enumValidationEventKind#

What happened to a check.

Values

CHANGED

A later run of the standing check found other figures.

CLEARED

A later run passed.

FOUND

The check first made the finding.

FOUND_AGAIN

The check made the finding again after it had passed.

REOPENED

A later run found other figures than the ones accepted, so the resolution no longer covers them.

RESOLVED

A person accepted the discrepancy.

enumWeekendRule#

What happens to a date that falls on a weekend or a holiday.

Values

NEXT_BUSINESS_DAY

A 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.

NONE

The 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.