- to find properties that have no permit of that type on record. Because a property can look permit-free due to data coverage rather than reality, every absence answer carries trust metadata scoring how far to believe it.
--permit-tags "roofing,-solar" finds properties with a roofing permit but no solar permit.
Properties are in beta, and the absence-trust surface in particular may still change in response to how it’s used in practice.
How —permit-from Changes the Meaning
Once any positive filter is present, the exclusion reverts to “never” — a property record carries only one date per work type, so per-filter dates can’t be composed.
Reading the Per-Row trust Object
Each absence row carries atrust object:
meta.trust_summaries Is an Array, One Entry Per API Page
This is the one place CLI output differs structurally from the REST API. The API returns a singletrust_summary per page, scoped to that page’s rows. The CLI’s --limit merges pages — so it collects each page’s summary into a meta.trust_summaries array rather than combining them:
Read the worst page rather than the average when you need one number to act on:
Presence-Only Searches Carry No Trust Surface
Drop the- and both the row-level trust object and meta.trust_summaries disappear entirely:
What Suppression Does to Your Result
Where coverage for a work type in an area is too thin to answer honestly, those properties are dropped from the result entirely rather than returned as false negatives.suppressed_scopes reports how many scopes were removed.
This means an absence search can legitimately return fewer rows — or zero rows — in a low-coverage area, while the same query returns plenty in a well-covered one. That’s suppression working, not a bug.
Related Articles
- Querying properties from the CLI — Full command and flag reference
- Finding properties with no permit on record — The same surface via the REST API
- CLI output and pagination — How
--limitassembles pages - Why am I getting so few results? — Coverage and suppression
