Skip to main content
Glama

dealcheck: US property deal-check

Ziplot deal picture

ziplot_deal_picture
Read-only

Same public-record answer as ziplot_deal_check for a US address, plus a deal block: illustrative arithmetic on the inputs you give (monthly payment, monthly cash flow, NOI, cap rate, cash-on-cash, DSCR), with every input, its source (caller, default or deal-check), each assumption and each formula shown. price is required. rent defaults to the HUD Small Area FMR from deal-check and tax to the deal-check property-tax estimate at your price; rate and insurance have no default and their results are null until given. Defaults: 30-year term, 25% down, 3% closing costs, HOA 0, vacancy 8%, management 8% (an assumption; set 0 if you self-manage), maintenance 5%. Informational arithmetic on the inputs shown. Not financial, tax or legal advice. Status values. Top-level status: ok = every evaluated section answered; needs_review = partial answer, at least one section needs a person or a retry (read each section's status and the warnings); unavailable = no section could be answered (address not found, or every source failed); out_of_scope = no evaluated section applies at this address. Section status uses the same words plus not_covered (this area is not evaluated). str.status follows the two permit determinations: new_non_owner_occupied_permit.value (allowed, not_allowed, needs_review, out_of_scope, not_covered, unavailable) and owner_occupied_permit.value (possible, not_allowed, needs_review, out_of_scope, not_covered, unavailable). Both firm = ok, one firm and one not = needs_review, none usable = unavailable. Exception: an owner_occupied_permit of possible that rests only on an active city STR license (owner_occupied_permit.basis.kind active_city_license, Denver and Scottsdale) is not a firm yes, so str.status stays needs_review there. str.supporting_data_status appears when side lookups such as permit counts or building lists were incomplete.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "address": "<address>",
      "price": "<price>"
    },
    "name": "ziplot_deal_picture"
  }
}

Input Schema

NameRequiredDescriptionDefault
hoaNoMonthly HOA dues in USD. Default 0.
taxNoAnnual property tax in USD. Default: deal-check estimate at your price.
rateNoAnnual mortgage interest rate in percent, e.g. 6.5. No default.
rentNoMonthly rent in USD. Default: HUD Small Area FMR from deal-check.
priceYesPurchase price in USD (required).
addressYesUS street address including city and state, e.g. '321 50th Ave N, Nashville, TN'
bedroomsNoFor the HUD rent benchmark. Defaults to 2.
down_pctNoDown payment, percent of price. Default 25.
insuranceNoAnnual insurance premium in USD. No default.
term_yearsNoLoan term in years. Default 30.
closing_pctNoClosing costs, percent of price. Default 3.
vacancy_pctNoVacancy allowance, percent of rent. Default 8.
management_pctNoManagement fee, percent of rent. Default 8 (assumption; 0 if self-managed).
maintenance_pctNoMaintenance allowance, percent of rent. Default 5.

Output Schema

NameRequiredDescriptionDefault
strNo
dealNoIllustrative arithmetic on the inputs shown. Absent on a not-found or retry answer (isError true).
hintNoOn a not-found or retry answer: what to do next. Data sections are omitted then.
errorNoPresent only when an upstream failed and the caller should retry (isError true).
floodNo
queryYes
statusYesRoll-up status of the answer (see the tool description for each value).
partialNoPresent when slow upstreams were cut off, or when the jurisdiction lookup did not answer; retry later for the full answer.
coverageNo
resolvedYes
warningsYes
disclaimerYes
verify_urlYes
api_versionYes
attributionYes
verify_linkNo
generated_atYes
property_taxNo
rent_benchmarkNo
status_reasonsNo
verify_link_noteNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedOutput schema / $defs / source / properties / last_verified
      Added value: +{
      +  "$ref": "#/$defs/string_or_null"
      +}
    • addedOutput schema / $defs / source / properties / retrieved_at
      Added value: +{
      +  "$ref": "#/$defs/string_or_null"
      +}
    • addedOutput schema / $defs / source / properties / source_url
      Added value: +{
      +  "$ref": "#/$defs/string_or_null"
      +}
    • changedOutput schema / properties / status_reasons / items / properties / code / enum
      Previous value: -[
      -  "address_not_found",
      -  "upstream_retry",
      -  "partial_upstream_slow",
      -  "jurisdiction_not_confirmed",
      -  "rent_benchmark_not_ok",
      -  "property_tax_not_ok",
      -  "flood_query_failed",
      -  "flood_near_zone_boundary",
      -  "flood_not_ok",
      -  "str_not_covered",
      -  "str_out_of_scope",
      -  "str_new_non_owner_occupied_needs_review",
      -  "str_owner_occupied_needs_review",
      -  "str_zoning_unknown",
      -  "str_existing_permit_not_available",
      -  "str_not_ok"
      -]New value: +[
      +  "address_not_found",
      +  "upstream_retry",
      +  "partial_upstream_slow",
      +  "jurisdiction_not_confirmed",
      +  "rent_benchmark_not_ok",
      +  "property_tax_not_ok",
      +  "flood_query_failed",
      +  "flood_near_zone_boundary",
      +  "flood_not_ok",
      +  "str_not_covered",
      +  "str_out_of_scope",
      +  "str_new_non_owner_occupied_needs_review",
      +  "str_owner_occupied_needs_review",
      +  "str_zoning_unknown",
      +  "str_existing_permit_not_available",
      +  "str_not_ok",
      +  "source_stale"
      +]
  2. Changed2 schema fields changed
    • changedOutput schema / properties / partial / properties / reason / description
      Previous value: -"upstream_slow = slow upstreams were cut off (their sections say unavailable); jurisdiction_lookup_failed = the city-limits lookup did not answer, so the jurisdiction is not confirmed and no STR rule is applied (needs_review)."New value: +"upstream_slow = slow upstreams were cut off (their sections say unavailable); upstream_error = an upstream answered with an error (for example an ArcGIS error envelope), so the sections it feeds are pending; jurisdiction_lookup_failed = the city-limits lookup did not answer, so the jurisdiction is not confirmed and no STR rule is applied (needs_review)."
    • changedOutput schema / properties / partial / properties / reason / enum
      Previous value: -[
      -  "upstream_slow",
      -  "jurisdiction_lookup_failed"
      -]New value: +[
      +  "upstream_slow",
      +  "jurisdiction_lookup_failed",
      +  "upstream_error"
      +]
  3. Changed6 schema fields changed
    • changedOutput schema / properties / partial / description
      Previous value: -"Present when slow upstreams were cut off; those sections say unavailable."New value: +"Present when slow upstreams were cut off, or when the jurisdiction lookup did not answer; retry later for the full answer."
    • removedOutput schema / properties / partial / properties / reason / const
      Removed value: -"upstream_slow"
    • addedOutput schema / properties / partial / properties / reason / description
      Added value: +"upstream_slow = slow upstreams were cut off (their sections say unavailable); jurisdiction_lookup_failed = the city-limits lookup did not answer, so the jurisdiction is not confirmed and no STR rule is applied (needs_review)."
    • addedOutput schema / properties / partial / properties / reason / enum
      Added value: +[
      +  "upstream_slow",
      +  "jurisdiction_lookup_failed"
      +]
    • addedOutput schema / properties / partial / properties / reason / type
      Added value: +"string"
    • changedOutput schema / properties / status_reasons / items / properties / code / enum
      Previous value: -[
      -  "address_not_found",
      -  "upstream_retry",
      -  "partial_upstream_slow",
      -  "rent_benchmark_not_ok",
      -  "property_tax_not_ok",
      -  "flood_query_failed",
      -  "flood_near_zone_boundary",
      -  "flood_not_ok",
      -  "str_not_covered",
      -  "str_out_of_scope",
      -  "str_new_non_owner_occupied_needs_review",
      -  "str_owner_occupied_needs_review",
      -  "str_zoning_unknown",
      -  "str_existing_permit_not_available",
      -  "str_not_ok"
      -]New value: +[
      +  "address_not_found",
      +  "upstream_retry",
      +  "partial_upstream_slow",
      +  "jurisdiction_not_confirmed",
      +  "rent_benchmark_not_ok",
      +  "property_tax_not_ok",
      +  "flood_query_failed",
      +  "flood_near_zone_boundary",
      +  "flood_not_ok",
      +  "str_not_covered",
      +  "str_out_of_scope",
      +  "str_new_non_owner_occupied_needs_review",
      +  "str_owner_occupied_needs_review",
      +  "str_zoning_unknown",
      +  "str_existing_permit_not_available",
      +  "str_not_ok"
      +]
  4. Changed244 schema fields changed
    • addedOutput schema / $defs
      Added value: +{
      +  "boolean_or_null": {
      +    "anyOf": [
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "integer_or_null": {
      +    "anyOf": [
      +      {
      +        "type": "integer"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "number_or_null": {
      +    "anyOf": [
      +      {
      +        "type": "number"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "source": {
      +    "description": "Where the value comes from and when it was read.",
      +    "properties": {
      +      "as_of": {
      +        "type": "string"
      +      },
      +      "data_date": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "stale": {
      +        "$ref": "#/$defs/boolean_or_null"
      +      },
      +      "url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "as_of"
      +    ],
      +    "type": "object"
      +  },
      +  "status": {
      +    "enum": [
      +      "ok",
      +      "out_of_scope",
      +      "not_covered",
      +      "needs_review",
      +      "unavailable"
      +    ],
      +    "type": "string"
      +  },
      +  "string_or_null": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  }
      +}
    • changedOutput schema / properties / coverage / properties / level / enum
      Previous value: -[
      -  "full",
      -  "basic"
      -]New value: +[
      +  "full",
      +  "basic",
      +  "partial",
      +  "rules_only",
      +  "not_covered"
      +]
    • addedOutput schema / properties / deal / properties / inputs / items / properties / value / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / deal / properties / inputs / items / properties / value / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / deal / properties / results / properties / annual_noi / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / deal / properties / results / properties / annual_noi / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / deal / properties / results / properties / cap_rate / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / deal / properties / results / properties / cap_rate / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / deal / properties / results / properties / cash_on_cash / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / deal / properties / results / properties / cash_on_cash / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / deal / properties / results / properties / dscr / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / deal / properties / results / properties / dscr / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / deal / properties / results / properties / monthly_cash_flow / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / deal / properties / results / properties / monthly_cash_flow / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / deal / properties / results / properties / monthly_payment / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / deal / properties / results / properties / monthly_payment / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / deal / properties / status / $ref
      Added value: +"#/$defs/status"
    • removedOutput schema / properties / deal / properties / status / enum
      Removed value: -[
      -  "ok",
      -  "out_of_scope",
      -  "not_covered",
      -  "needs_review",
      -  "unavailable"
      -]
    • removedOutput schema / properties / deal / properties / status / type
      Removed value: -"string"
    • changedOutput schema / properties / flood / properties / fema_zone / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "basis": {
      -        "const": "geocoded_point"
      -      },
      -      "dfirm_id": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "in_sfha": {
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "source": {
      -        "description": "Where the value comes from and when it was read.",
      -        "properties": {
      -          "as_of": {
      -            "type": "string"
      -          },
      -          "data_date": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "stale": {
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "url": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "name",
      -          "as_of"
      -        ],
      -        "type": "object"
      -      },
      -      "subtype": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "value": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "value",
      -      "in_sfha",
      -      "basis",
      -      "source"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "basis": {
      +        "const": "geocoded_point"
      +      },
      +      "dfirm_id": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "in_sfha": {
      +        "$ref": "#/$defs/boolean_or_null"
      +      },
      +      "source": {
      +        "$ref": "#/$defs/source"
      +      },
      +      "subtype": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "value": {
      +        "$ref": "#/$defs/string_or_null"
      +      }
      +    },
      +    "required": [
      +      "value",
      +      "in_sfha",
      +      "basis",
      +      "source"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / flood / properties / status / $ref
      Added value: +"#/$defs/status"
    • removedOutput schema / properties / flood / properties / status / enum
      Removed value: -[
      -  "ok",
      -  "out_of_scope",
      -  "not_covered",
      -  "needs_review",
      -  "unavailable"
      -]
    • removedOutput schema / properties / flood / properties / status / type
      Removed value: -"string"
    • addedOutput schema / properties / partial / properties / retry_after_s
      Added value: +{
      +  "description": "Seconds after which a retry is likely to get the full answer.",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / property_tax / properties / appraised_value / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / property_tax / properties / appraised_value / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / property_tax / properties / appraised_value / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / property_tax / properties / appraised_value / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / property_tax / properties / appraised_value / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / property_tax / properties / appraised_value / properties / value / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / property_tax / properties / appraised_value / properties / value / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / assessed_value / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / property_tax / properties / assessed_value / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / property_tax / properties / assessed_value / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / property_tax / properties / assessed_value / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / property_tax / properties / assessed_value / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / property_tax / properties / assessed_value / properties / value / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / property_tax / properties / assessed_value / properties / value / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / county / properties / fips / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / property_tax / properties / county / properties / fips / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / county / properties / name / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / property_tax / properties / county / properties / name / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / effective_rate_pct / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / property_tax / properties / effective_rate_pct / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / property_tax / properties / effective_rate_pct / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / property_tax / properties / effective_rate_pct / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / property_tax / properties / effective_rate_pct / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / property_tax / properties / effective_rate_pct / properties / value / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / property_tax / properties / effective_rate_pct / properties / value / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / estimate_at_assessor_value / properties / assessor_value / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / property_tax / properties / estimate_at_assessor_value / properties / assessor_value / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / estimate_at_assessor_value / properties / value / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / property_tax / properties / estimate_at_assessor_value / properties / value / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / estimate_at_your_value / properties / value / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / property_tax / properties / estimate_at_your_value / properties / value / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / estimate_label / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / property_tax / properties / estimate_label / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / estimated_annual_tax / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / property_tax / properties / estimated_annual_tax / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / property_tax / properties / estimated_annual_tax / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / property_tax / properties / estimated_annual_tax / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / property_tax / properties / estimated_annual_tax / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / property_tax / properties / estimated_annual_tax / properties / value / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / property_tax / properties / estimated_annual_tax / properties / value / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / figure
      Added value: +{
      +  "description": "dollar = estimated_annual_tax.value is set; rate_only = no dollar figure but a rate is given (pass value=<price> for one); none = neither.",
      +  "enum": [
      +    "dollar",
      +    "rate_only",
      +    "none"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / property_tax / properties / land_use / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / property_tax / properties / land_use / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / property_tax / properties / land_use / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / property_tax / properties / land_use / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / property_tax / properties / land_use / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / property_tax / properties / land_use / properties / value / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / property_tax / properties / land_use / properties / value / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / median_owner_home_value / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / property_tax / properties / median_owner_home_value / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / property_tax / properties / median_owner_home_value / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / property_tax / properties / median_owner_home_value / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / property_tax / properties / median_owner_home_value / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / property_tax / properties / median_owner_home_value / properties / value / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / property_tax / properties / median_owner_home_value / properties / value / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / median_real_estate_taxes_paid / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / property_tax / properties / median_real_estate_taxes_paid / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / property_tax / properties / median_real_estate_taxes_paid / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / property_tax / properties / median_real_estate_taxes_paid / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / property_tax / properties / median_real_estate_taxes_paid / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / property_tax / properties / median_real_estate_taxes_paid / properties / value / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / property_tax / properties / median_real_estate_taxes_paid / properties / value / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / rate_per_100 / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / property_tax / properties / rate_per_100 / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / property_tax / properties / rate_per_100 / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / property_tax / properties / rate_per_100 / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / property_tax / properties / rate_per_100 / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / property_tax / properties / rate_per_100 / properties / value / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / property_tax / properties / rate_per_100 / properties / value / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / status / $ref
      Added value: +"#/$defs/status"
    • removedOutput schema / properties / property_tax / properties / status / enum
      Removed value: -[
      -  "ok",
      -  "out_of_scope",
      -  "not_covered",
      -  "needs_review",
      -  "unavailable"
      -]
    • removedOutput schema / properties / property_tax / properties / status / type
      Removed value: -"string"
    • addedOutput schema / properties / property_tax / properties / tax_district / properties / property_class / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / property_tax / properties / tax_district / properties / property_class / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / tax_district / properties / rate_pct_of_eav / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / property_tax / properties / tax_district / properties / rate_pct_of_eav / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / tax_district / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / property_tax / properties / tax_district / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / property_tax / properties / tax_district / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / property_tax / properties / tax_district / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / property_tax / properties / tax_district / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / property_tax / properties / tax_district / properties / total_mills / $ref
      Added value: +"#/$defs/number_or_null"
    • removedOutput schema / properties / property_tax / properties / tax_district / properties / total_mills / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / property_tax / properties / tax_district / properties / value / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / property_tax / properties / tax_district / properties / value / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • changedOutput schema / properties / rent_benchmark / properties / hud_safmr_monthly / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "bedrooms": {
      -        "type": "integer"
      -      },
      -      "fallback": {
      -        "type": "boolean"
      -      },
      -      "geography": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "source": {
      -        "description": "Where the value comes from and when it was read.",
      -        "properties": {
      -          "as_of": {
      -            "type": "string"
      -          },
      -          "data_date": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "stale": {
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "url": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "name",
      -          "as_of"
      -        ],
      -        "type": "object"
      -      },
      -      "unit": {
      -        "const": "USD"
      -      },
      -      "value": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "value",
      -      "unit",
      -      "bedrooms",
      -      "source"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "bedrooms": {
      +        "type": "integer"
      +      },
      +      "fallback": {
      +        "type": "boolean"
      +      },
      +      "geography": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "source": {
      +        "$ref": "#/$defs/source"
      +      },
      +      "unit": {
      +        "const": "USD"
      +      },
      +      "value": {
      +        "$ref": "#/$defs/number_or_null"
      +      }
      +    },
      +    "required": [
      +      "value",
      +      "unit",
      +      "bedrooms",
      +      "source"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / rent_benchmark / properties / status / $ref
      Added value: +"#/$defs/status"
    • removedOutput schema / properties / rent_benchmark / properties / status / enum
      Removed value: -[
      -  "ok",
      -  "out_of_scope",
      -  "not_covered",
      -  "needs_review",
      -  "unavailable"
      -]
    • removedOutput schema / properties / rent_benchmark / properties / status / type
      Removed value: -"string"
    • changedOutput schema / properties / resolved / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "apn": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "census_tract": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "corrected_address": {
      -        "type": "string"
      -      },
      -      "jurisdiction": {
      -        "type": "string"
      -      },
      -      "lat": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "locality": {
      -        "properties": {
      -          "city": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "county": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "state": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "lon": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "match_quality": {
      -        "enum": [
      -          "parcel_point",
      -          "parcel_address",
      -          "geocode_only",
      -          "none"
      -        ],
      -        "type": "string"
      -      },
      -      "situs_address": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "source": {
      -        "description": "Where the value comes from and when it was read.",
      -        "properties": {
      -          "as_of": {
      -            "type": "string"
      -          },
      -          "data_date": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "stale": {
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "url": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "name",
      -          "as_of"
      -        ],
      -        "type": "object"
      -      },
      -      "unit": {
      -        "type": "string"
      -      },
      -      "zip": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "lat",
      -      "lon",
      -      "zip",
      -      "jurisdiction",
      -      "match_quality",
      -      "source"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "apn": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "census_tract": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "corrected_address": {
      +        "type": "string"
      +      },
      +      "jurisdiction": {
      +        "type": "string"
      +      },
      +      "lat": {
      +        "$ref": "#/$defs/number_or_null"
      +      },
      +      "locality": {
      +        "properties": {
      +          "city": {
      +            "$ref": "#/$defs/string_or_null"
      +          },
      +          "county": {
      +            "$ref": "#/$defs/string_or_null"
      +          },
      +          "state": {
      +            "$ref": "#/$defs/string_or_null"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "lon": {
      +        "$ref": "#/$defs/number_or_null"
      +      },
      +      "match_quality": {
      +        "enum": [
      +          "parcel_point",
      +          "parcel_address",
      +          "geocode_only",
      +          "none"
      +        ],
      +        "type": "string"
      +      },
      +      "situs_address": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "source": {
      +        "$ref": "#/$defs/source"
      +      },
      +      "unit": {
      +        "type": "string"
      +      },
      +      "zip": {
      +        "$ref": "#/$defs/string_or_null"
      +      }
      +    },
      +    "required": [
      +      "lat",
      +      "lon",
      +      "zip",
      +      "jurisdiction",
      +      "match_quality",
      +      "source"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / status_reasons
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "code": {
      +        "enum": [
      +          "address_not_found",
      +          "upstream_retry",
      +          "partial_upstream_slow",
      +          "rent_benchmark_not_ok",
      +          "property_tax_not_ok",
      +          "flood_query_failed",
      +          "flood_near_zone_boundary",
      +          "flood_not_ok",
      +          "str_not_covered",
      +          "str_out_of_scope",
      +          "str_new_non_owner_occupied_needs_review",
      +          "str_owner_occupied_needs_review",
      +          "str_zoning_unknown",
      +          "str_existing_permit_not_available",
      +          "str_not_ok"
      +        ],
      +        "type": "string"
      +      },
      +      "section": {
      +        "enum": [
      +          "address",
      +          "answer",
      +          "rent_benchmark",
      +          "property_tax",
      +          "flood",
      +          "str"
      +        ],
      +        "type": "string"
      +      },
      +      "status": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "code",
      +      "section",
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / str / properties / building_eligibility / properties / bin / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / building_eligibility / properties / bin / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / building_eligibility / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / building_eligibility / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / building_eligibility / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / building_eligibility / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / building_eligibility / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / str / properties / building_type / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / building_type / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / building_type / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / building_type / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / building_type / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / str / properties / building_type / properties / units / $ref
      Added value: +"#/$defs/integer_or_null"
    • removedOutput schema / properties / str / properties / building_type / properties / units / type
      Removed value: -[
      -  "integer",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / caps / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / caps / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / caps / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / caps / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / caps / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / str / properties / existing_permit_on_parcel / properties / count / $ref
      Added value: +"#/$defs/integer_or_null"
    • removedOutput schema / properties / str / properties / existing_permit_on_parcel / properties / count / type
      Removed value: -[
      -  "integer",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / existing_permit_on_parcel / properties / records / items / properties / expires / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / existing_permit_on_parcel / properties / records / items / properties / expires / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / existing_permit_on_parcel / properties / records / items / properties / issued / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / existing_permit_on_parcel / properties / records / items / properties / issued / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / existing_permit_on_parcel / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / existing_permit_on_parcel / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / existing_permit_on_parcel / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / existing_permit_on_parcel / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / existing_permit_on_parcel / properties / source / type
      Removed value: -"object"
    • changedOutput schema / properties / str / properties / existing_permit_on_parcel / properties / value / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "expires": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "issued": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "status": {
      -        "type": "string"
      -      },
      -      "transferable_on_sale": {
      -        "const": false
      -      },
      -      "type": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "status",
      -      "transferable_on_sale"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "expires": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "issued": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "status": {
      +        "type": "string"
      +      },
      +      "transferable_on_sale": {
      +        "const": false
      +      },
      +      "type": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "status",
      +      "transferable_on_sale"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / str / properties / jurisdiction / properties / license_required / $ref
      Added value: +"#/$defs/boolean_or_null"
    • removedOutput schema / properties / str / properties / jurisdiction / properties / license_required / type
      Removed value: -[
      -  "boolean",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / jurisdiction / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / jurisdiction / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / jurisdiction / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / jurisdiction / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / jurisdiction / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / str / properties / jurisdiction / properties / value / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / jurisdiction / properties / value / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / licenses_in_zip / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / licenses_in_zip / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / licenses_in_zip / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / licenses_in_zip / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / licenses_in_zip / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / str / properties / licenses_in_zip / properties / value / $ref
      Added value: +"#/$defs/integer_or_null"
    • removedOutput schema / properties / str / properties / licenses_in_zip / properties / value / type
      Removed value: -[
      -  "integer",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / licenses_in_zip / properties / zip / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / licenses_in_zip / properties / zip / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / nearby_issued_permits_0_25mi / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / nearby_issued_permits_0_25mi / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / nearby_issued_permits_0_25mi / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / nearby_issued_permits_0_25mi / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / nearby_issued_permits_0_25mi / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / str / properties / nearby_issued_permits_0_25mi / properties / value / $ref
      Added value: +"#/$defs/integer_or_null"
    • removedOutput schema / properties / str / properties / nearby_issued_permits_0_25mi / properties / value / type
      Removed value: -[
      -  "integer",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / overlays / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / overlays / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / overlays / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / overlays / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / overlays / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / str / properties / owner_occupied_permit / properties / basis / properties / expires / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / owner_occupied_permit / properties / basis / properties / expires / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / owner_occupied_permit / properties / basis / properties / license_number / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / owner_occupied_permit / properties / basis / properties / license_number / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / parcel_match / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / parcel_match / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / parcel_match / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / parcel_match / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / parcel_match / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / str / properties / permit_status_at_address / properties / records / items / properties / expires / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / permit_status_at_address / properties / records / items / properties / expires / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / permit_status_at_address / properties / records / items / properties / license_number / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / permit_status_at_address / properties / records / items / properties / license_number / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / permit_status_at_address / properties / records / items / properties / raw_status / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / permit_status_at_address / properties / records / items / properties / raw_status / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / permit_status_at_address / properties / records / items / properties / type / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / permit_status_at_address / properties / records / items / properties / type / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / permit_status_at_address / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / permit_status_at_address / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / permit_status_at_address / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / permit_status_at_address / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / permit_status_at_address / properties / source / type
      Removed value: -"object"
    • changedOutput schema / properties / str / properties / permit_status_at_address / properties / this_unit / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "expires": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "label": {
      -        "type": "string"
      -      },
      -      "license_number": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "raw_status": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "status": {
      -        "enum": [
      -          "active",
      -          "needs_review"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "status"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "expires": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "label": {
      +        "type": "string"
      +      },
      +      "license_number": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "raw_status": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "status": {
      +        "enum": [
      +          "active",
      +          "needs_review"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "$ref": "#/$defs/string_or_null"
      +      }
      +    },
      +    "required": [
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / str / properties / registrations_at_address / properties / records / items / properties / expires / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / registrations_at_address / properties / records / items / properties / expires / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / registrations_at_address / properties / records / items / properties / registration_number / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / registrations_at_address / properties / records / items / properties / registration_number / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / registrations_at_address / properties / records / items / properties / status_date / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / registrations_at_address / properties / records / items / properties / status_date / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / registrations_at_address / properties / records / items / properties / unit / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / registrations_at_address / properties / records / items / properties / unit / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / registrations_at_address / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / registrations_at_address / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / registrations_at_address / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / registrations_at_address / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / registrations_at_address / properties / source / type
      Removed value: -"object"
    • changedOutput schema / properties / str / properties / registrations_at_address / properties / this_unit / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "expires": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "registration_number": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "status": {
      -        "type": "string"
      -      },
      -      "status_date": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "unit": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "status"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "expires": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "registration_number": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "status": {
      +        "type": "string"
      +      },
      +      "status_date": {
      +        "$ref": "#/$defs/string_or_null"
      +      },
      +      "unit": {
      +        "$ref": "#/$defs/string_or_null"
      +      }
      +    },
      +    "required": [
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / str / properties / restrictions / items / properties / applies / $ref
      Added value: +"#/$defs/boolean_or_null"
    • removedOutput schema / properties / str / properties / restrictions / items / properties / applies / type
      Removed value: -[
      -  "boolean",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / restrictions / items / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / restrictions / items / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / restrictions / items / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / restrictions / items / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / restrictions / items / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / str / properties / rule_sources / items / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / rule_sources / items / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / rule_sources / items / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / rule_sources / items / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / rule_sources / items / type
      Removed value: -"object"
    • addedOutput schema / properties / str / properties / status / $ref
      Added value: +"#/$defs/status"
    • removedOutput schema / properties / str / properties / status / enum
      Removed value: -[
      -  "ok",
      -  "out_of_scope",
      -  "not_covered",
      -  "needs_review",
      -  "unavailable"
      -]
    • removedOutput schema / properties / str / properties / status / type
      Removed value: -"string"
    • addedOutput schema / properties / str / properties / supporting_data_status / $ref
      Added value: +"#/$defs/status"
    • removedOutput schema / properties / str / properties / supporting_data_status / enum
      Removed value: -[
      -  "ok",
      -  "out_of_scope",
      -  "not_covered",
      -  "needs_review",
      -  "unavailable"
      -]
    • removedOutput schema / properties / str / properties / supporting_data_status / type
      Removed value: -"string"
    • addedOutput schema / properties / str / properties / verify_link / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / verify_link / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / zoning / properties / source / $ref
      Added value: +"#/$defs/source"
    • removedOutput schema / properties / str / properties / zoning / properties / source / description
      Removed value: -"Where the value comes from and when it was read."
    • removedOutput schema / properties / str / properties / zoning / properties / source / properties
      Removed value: -{
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "data_date": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "stale": {
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / str / properties / zoning / properties / source / required
      Removed value: -[
      -  "name",
      -  "as_of"
      -]
    • removedOutput schema / properties / str / properties / zoning / properties / source / type
      Removed value: -"object"
    • addedOutput schema / properties / str / properties / zoning / properties / subdistrict / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / zoning / properties / subdistrict / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / str / properties / zoning / properties / value / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / str / properties / zoning / properties / value / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / verify_link / $ref
      Added value: +"#/$defs/string_or_null"
    • removedOutput schema / properties / verify_link / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
  5. Changed2 schema fields changed
    • addedOutput schema / properties / str / properties / owner_occupied_permit / properties / basis
      Added value: +{
      +  "properties": {
      +    "expires": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "kind": {
      +      "enum": [
      +        "active_city_license"
      +      ],
      +      "type": "string"
      +    },
      +    "license_number": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "matched_on": {
      +      "enum": [
      +        "this_unit",
      +        "parcel"
      +      ],
      +      "type": "string"
      +    },
      +    "sources": {
      +      "items": {
      +        "properties": {
      +          "name": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": "string"
      +          },
      +          "verified": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "url",
      +          "verified"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "text": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "kind",
      +    "text",
      +    "matched_on",
      +    "sources"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / str / properties / parcel_match
      Added value: +{
      +  "properties": {
      +    "note": {
      +      "type": "string"
      +    },
      +    "search_url": {
      +      "type": "string"
      +    },
      +    "source": {
      +      "description": "Where the value comes from and when it was read.",
      +      "properties": {
      +        "as_of": {
      +          "type": "string"
      +        },
      +        "data_date": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "name": {
      +          "type": "string"
      +        },
      +        "stale": {
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "name",
      +        "as_of"
      +      ],
      +      "type": "object"
      +    },
      +    "value": {
      +      "enum": [
      +        "none"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "value",
      +    "note",
      +    "search_url"
      +  ],
      +  "type": "object"
      +}
  6. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "api_version": {
      +      "type": "string"
      +    },
      +    "attribution": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "coverage": {
      +      "properties": {
      +        "area": {
      +          "type": "string"
      +        },
      +        "full_coverage_areas": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "level": {
      +          "enum": [
      +            "full",
      +            "basic"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "level",
      +        "area",
      +        "full_coverage_areas"
      +      ],
      +      "type": "object"
      +    },
      +    "deal": {
      +      "description": "Illustrative arithmetic on the inputs shown. Absent on a not-found or retry answer (isError true).",
      +      "properties": {
      +        "assumptions": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "disclaimer": {
      +          "type": "string"
      +        },
      +        "formulas": {
      +          "additionalProperties": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        "inputs": {
      +          "items": {
      +            "properties": {
      +              "name": {
      +                "type": "string"
      +              },
      +              "note": {
      +                "type": "string"
      +              },
      +              "source": {
      +                "enum": [
      +                  "caller",
      +                  "default",
      +                  "deal-check"
      +                ],
      +                "type": "string"
      +              },
      +              "unit": {
      +                "type": "string"
      +              },
      +              "value": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "name",
      +              "value",
      +              "source",
      +              "unit"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "label": {
      +          "const": "illustrative"
      +        },
      +        "null_reasons": {
      +          "additionalProperties": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        "results": {
      +          "properties": {
      +            "annual_noi": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "cap_rate": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "cash_on_cash": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "dscr": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "monthly_cash_flow": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "monthly_payment": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "monthly_payment",
      +            "monthly_cash_flow",
      +            "annual_noi",
      +            "cap_rate",
      +            "cash_on_cash",
      +            "dscr"
      +          ],
      +          "type": "object"
      +        },
      +        "status": {
      +          "enum": [
      +            "ok",
      +            "out_of_scope",
      +            "not_covered",
      +            "needs_review",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "label",
      +        "inputs",
      +        "assumptions",
      +        "results",
      +        "null_reasons",
      +        "formulas",
      +        "disclaimer"
      +      ],
      +      "type": "object"
      +    },
      +    "disclaimer": {
      +      "type": "string"
      +    },
      +    "error": {
      +      "description": "Present only when an upstream failed and the caller should retry (isError true).",
      +      "properties": {
      +        "code": {
      +          "enum": [
      +            "upstream_timeout",
      +            "upstream_error"
      +          ],
      +          "type": "string"
      +        },
      +        "message": {
      +          "type": "string"
      +        },
      +        "retry_after_seconds": {
      +          "type": "integer"
      +        },
      +        "upstream": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "upstream",
      +        "message",
      +        "retry_after_seconds"
      +      ],
      +      "type": "object"
      +    },
      +    "flood": {
      +      "properties": {
      +        "fema_zone": {
      +          "anyOf": [
      +            {
      +              "properties": {
      +                "basis": {
      +                  "const": "geocoded_point"
      +                },
      +                "dfirm_id": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "in_sfha": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "source": {
      +                  "description": "Where the value comes from and when it was read.",
      +                  "properties": {
      +                    "as_of": {
      +                      "type": "string"
      +                    },
      +                    "data_date": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": "string"
      +                    },
      +                    "stale": {
      +                      "type": [
      +                        "boolean",
      +                        "null"
      +                      ]
      +                    },
      +                    "url": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "name",
      +                    "as_of"
      +                  ],
      +                  "type": "object"
      +                },
      +                "subtype": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "value": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "value",
      +                "in_sfha",
      +                "basis",
      +                "source"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "nearby_zones": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "status": {
      +          "enum": [
      +            "ok",
      +            "out_of_scope",
      +            "not_covered",
      +            "needs_review",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "fema_zone"
      +      ],
      +      "type": "object"
      +    },
      +    "generated_at": {
      +      "type": "string"
      +    },
      +    "hint": {
      +      "description": "On a not-found or retry answer: what to do next. Data sections are omitted then.",
      +      "type": "string"
      +    },
      +    "partial": {
      +      "description": "Present when slow upstreams were cut off; those sections say unavailable.",
      +      "properties": {
      +        "note": {
      +          "type": "string"
      +        },
      +        "reason": {
      +          "const": "upstream_slow"
      +        },
      +        "upstreams": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "reason",
      +        "upstreams",
      +        "note"
      +      ],
      +      "type": "object"
      +    },
      +    "property_tax": {
      +      "properties": {
      +        "appraised_value": {
      +          "properties": {
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "assessed_value": {
      +          "properties": {
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "basis": {
      +          "enum": [
      +            "county_effective_rate",
      +            "official_tax_rate"
      +          ],
      +          "type": "string"
      +        },
      +        "county": {
      +          "properties": {
      +            "fips": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "name": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "effective_rate_pct": {
      +          "properties": {
      +            "method": {
      +              "enum": [
      +                "median_taxes_paid/median_home_value",
      +                "official_levy_residential"
      +              ],
      +              "type": "string"
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "estimate_at_assessor_value": {
      +          "properties": {
      +            "assessor_value": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "is_estimate": {
      +              "const": true
      +            },
      +            "method": {
      +              "type": "string"
      +            },
      +            "value": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "method",
      +            "is_estimate"
      +          ],
      +          "type": "object"
      +        },
      +        "estimate_at_your_value": {
      +          "properties": {
      +            "input_value": {
      +              "type": "number"
      +            },
      +            "is_estimate": {
      +              "const": true
      +            },
      +            "method": {
      +              "type": "string"
      +            },
      +            "note": {
      +              "type": "string"
      +            },
      +            "value": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "input_value",
      +            "method",
      +            "is_estimate"
      +          ],
      +          "type": "object"
      +        },
      +        "estimate_label": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "estimate_method": {
      +          "type": "string"
      +        },
      +        "estimated_annual_tax": {
      +          "properties": {
      +            "is_estimate": {
      +              "const": true
      +            },
      +            "method": {
      +              "enum": [
      +                "assessed*rate/100",
      +                "value*(assessed/appraised)*rate/100",
      +                "effective_rate*value"
      +              ],
      +              "type": "string"
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "value_basis": {
      +              "enum": [
      +                "parcel_appraised",
      +                "query_value",
      +                null
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "method",
      +            "is_estimate"
      +          ],
      +          "type": "object"
      +        },
      +        "land_use": {
      +          "properties": {
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "median_owner_home_value": {
      +          "properties": {
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "unit": {
      +              "const": "USD"
      +            },
      +            "value": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "median_real_estate_taxes_paid": {
      +          "properties": {
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "unit": {
      +              "const": "USD/yr"
      +            },
      +            "value": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "note": {
      +          "type": "string"
      +        },
      +        "rate_per_100": {
      +          "properties": {
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "tax_year": {
      +              "type": "integer"
      +            },
      +            "value": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "status": {
      +          "enum": [
      +            "ok",
      +            "out_of_scope",
      +            "not_covered",
      +            "needs_review",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        },
      +        "tax_district": {
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "property_class": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "rate_pct_of_eav": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "total_mills": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "value": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "value_basis": {
      +          "enum": [
      +            "parcel_assessed",
      +            "query_value"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "estimated_annual_tax"
      +      ],
      +      "type": "object"
      +    },
      +    "query": {
      +      "properties": {
      +        "address": {
      +          "type": "string"
      +        },
      +        "bedrooms": {
      +          "type": "integer"
      +        },
      +        "value": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "address",
      +        "bedrooms"
      +      ],
      +      "type": "object"
      +    },
      +    "rent_benchmark": {
      +      "properties": {
      +        "hud_safmr_monthly": {
      +          "anyOf": [
      +            {
      +              "properties": {
      +                "bedrooms": {
      +                  "type": "integer"
      +                },
      +                "fallback": {
      +                  "type": "boolean"
      +                },
      +                "geography": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "source": {
      +                  "description": "Where the value comes from and when it was read.",
      +                  "properties": {
      +                    "as_of": {
      +                      "type": "string"
      +                    },
      +                    "data_date": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": "string"
      +                    },
      +                    "stale": {
      +                      "type": [
      +                        "boolean",
      +                        "null"
      +                      ]
      +                    },
      +                    "url": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "name",
      +                    "as_of"
      +                  ],
      +                  "type": "object"
      +                },
      +                "unit": {
      +                  "const": "USD"
      +                },
      +                "value": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "value",
      +                "unit",
      +                "bedrooms",
      +                "source"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "note": {
      +          "type": "string"
      +        },
      +        "status": {
      +          "enum": [
      +            "ok",
      +            "out_of_scope",
      +            "not_covered",
      +            "needs_review",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "hud_safmr_monthly"
      +      ],
      +      "type": "object"
      +    },
      +    "resolved": {
      +      "anyOf": [
      +        {
      +          "properties": {
      +            "apn": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "census_tract": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "corrected_address": {
      +              "type": "string"
      +            },
      +            "jurisdiction": {
      +              "type": "string"
      +            },
      +            "lat": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "locality": {
      +              "properties": {
      +                "city": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "county": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "state": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "lon": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "match_quality": {
      +              "enum": [
      +                "parcel_point",
      +                "parcel_address",
      +                "geocode_only",
      +                "none"
      +              ],
      +              "type": "string"
      +            },
      +            "situs_address": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "unit": {
      +              "type": "string"
      +            },
      +            "zip": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "lat",
      +            "lon",
      +            "zip",
      +            "jurisdiction",
      +            "match_quality",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "status": {
      +      "description": "Roll-up status of the answer (see the tool description for each value).",
      +      "enum": [
      +        "ok",
      +        "out_of_scope",
      +        "not_covered",
      +        "needs_review",
      +        "unavailable"
      +      ],
      +      "type": "string"
      +    },
      +    "str": {
      +      "properties": {
      +        "building_eligibility": {
      +          "properties": {
      +            "bin": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "reasons": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "enum": [
      +                "no_listed_prohibition",
      +                "prohibited_building",
      +                "unknown"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "building_type": {
      +          "properties": {
      +            "basis": {
      +              "type": "string"
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "units": {
      +              "type": [
      +                "integer",
      +                "null"
      +              ]
      +            },
      +            "value": {
      +              "enum": [
      +                "single_family",
      +                "2_to_4_units",
      +                "5_plus_units",
      +                "unknown"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "caps": {
      +          "properties": {
      +            "rule_ref": {
      +              "type": "string"
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "value"
      +          ],
      +          "type": "object"
      +        },
      +        "existing_permit_on_parcel": {
      +          "properties": {
      +            "availability": {
      +              "const": "not_available"
      +            },
      +            "count": {
      +              "type": [
      +                "integer",
      +                "null"
      +              ]
      +            },
      +            "count_suppressed": {
      +              "const": "fewer_than_4_units"
      +            },
      +            "reason": {
      +              "type": "string"
      +            },
      +            "records": {
      +              "items": {
      +                "properties": {
      +                  "expires": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "issued": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "status": {
      +                    "type": "string"
      +                  },
      +                  "type": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "type",
      +                  "status"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "anyOf": [
      +                {
      +                  "properties": {
      +                    "expires": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "issued": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "status": {
      +                      "type": "string"
      +                    },
      +                    "transferable_on_sale": {
      +                      "const": false
      +                    },
      +                    "type": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "type",
      +                    "status",
      +                    "transferable_on_sale"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "count",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "granularity": {
      +          "properties": {
      +            "eligibility_data": {
      +              "enum": [
      +                "per_parcel",
      +                "per_building",
      +                "zip",
      +                "none"
      +              ],
      +              "type": "string"
      +            },
      +            "note": {
      +              "type": "string"
      +            },
      +            "rules": {
      +              "enum": [
      +                "per_parcel",
      +                "per_building",
      +                "city_wide"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "rules",
      +            "eligibility_data"
      +          ],
      +          "type": "object"
      +        },
      +        "jurisdiction": {
      +          "properties": {
      +            "license_required": {
      +              "type": [
      +                "boolean",
      +                "null"
      +              ]
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "licenses_in_zip": {
      +          "properties": {
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "type": [
      +                "integer",
      +                "null"
      +              ]
      +            },
      +            "zip": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "municipality": {
      +          "type": "string"
      +        },
      +        "nearby_issued_permits_0_25mi": {
      +          "properties": {
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "type": [
      +                "integer",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "new_non_owner_occupied_permit": {
      +          "properties": {
      +            "conditions": {
      +              "items": {
      +                "properties": {
      +                  "checked_by_ziplot": {
      +                    "const": false
      +                  },
      +                  "id": {
      +                    "type": "string"
      +                  },
      +                  "source": {
      +                    "properties": {
      +                      "name": {
      +                        "type": "string"
      +                      },
      +                      "url": {
      +                        "type": "string"
      +                      },
      +                      "verified": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  "text": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id",
      +                  "text",
      +                  "checked_by_ziplot"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "reason": {
      +              "type": "string"
      +            },
      +            "rule_ref": {
      +              "type": "string"
      +            },
      +            "value": {
      +              "enum": [
      +                "allowed",
      +                "not_allowed",
      +                "needs_review",
      +                "out_of_scope",
      +                "not_covered",
      +                "unavailable"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "reason",
      +            "rule_ref"
      +          ],
      +          "type": "object"
      +        },
      +        "overlays": {
      +          "properties": {
      +            "evaluated": {
      +              "type": "boolean"
      +            },
      +            "note": {
      +              "type": "string"
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "evaluated"
      +          ],
      +          "type": "object"
      +        },
      +        "owner_occupied_permit": {
      +          "properties": {
      +            "conditions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "rule_ref": {
      +              "type": "string"
      +            },
      +            "value": {
      +              "enum": [
      +                "possible",
      +                "not_allowed",
      +                "needs_review",
      +                "out_of_scope",
      +                "not_covered",
      +                "unavailable"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "conditions",
      +            "rule_ref"
      +          ],
      +          "type": "object"
      +        },
      +        "permit_status_at_address": {
      +          "properties": {
      +            "count": {
      +              "type": "integer"
      +            },
      +            "matched_on": {
      +              "enum": [
      +                "parcel",
      +                "street_address"
      +              ],
      +              "type": "string"
      +            },
      +            "note": {
      +              "type": "string"
      +            },
      +            "recheck": {
      +              "const": "weekly"
      +            },
      +            "records": {
      +              "items": {
      +                "properties": {
      +                  "expires": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "label": {
      +                    "type": "string"
      +                  },
      +                  "license_number": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "raw_status": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "status": {
      +                    "enum": [
      +                      "active",
      +                      "needs_review"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "status"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "this_unit": {
      +              "anyOf": [
      +                {
      +                  "properties": {
      +                    "expires": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "label": {
      +                      "type": "string"
      +                    },
      +                    "license_number": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "raw_status": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "status": {
      +                      "enum": [
      +                        "active",
      +                        "needs_review"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "type": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "status"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "truncated": {
      +              "const": true
      +            }
      +          },
      +          "required": [
      +            "count",
      +            "records",
      +            "matched_on",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "private_restrictions": {
      +          "properties": {
      +            "checked": {
      +              "const": false
      +            },
      +            "note": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "checked"
      +          ],
      +          "type": "object"
      +        },
      +        "registrations_at_address": {
      +          "description": "Chicago: APPROVED shared housing registrations at this street address.",
      +          "properties": {
      +            "count": {
      +              "type": "integer"
      +            },
      +            "note": {
      +              "type": "string"
      +            },
      +            "records": {
      +              "items": {
      +                "properties": {
      +                  "expires": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "registration_number": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "status": {
      +                    "type": "string"
      +                  },
      +                  "status_date": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "unit": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "status"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "this_unit": {
      +              "anyOf": [
      +                {
      +                  "properties": {
      +                    "expires": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "registration_number": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "status": {
      +                      "type": "string"
      +                    },
      +                    "status_date": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "unit": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "status"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "count",
      +            "records",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "restrictions": {
      +          "items": {
      +            "properties": {
      +              "applies": {
      +                "type": [
      +                  "boolean",
      +                  "null"
      +                ]
      +              },
      +              "detail": {
      +                "type": "string"
      +              },
      +              "kind": {
      +                "type": "string"
      +              },
      +              "rule_ref": {
      +                "type": "string"
      +              },
      +              "source": {
      +                "description": "Where the value comes from and when it was read.",
      +                "properties": {
      +                  "as_of": {
      +                    "type": "string"
      +                  },
      +                  "data_date": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "stale": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  },
      +                  "url": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "name",
      +                  "as_of"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "applies"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "rule_sources": {
      +          "items": {
      +            "description": "Where the value comes from and when it was read.",
      +            "properties": {
      +              "as_of": {
      +                "type": "string"
      +              },
      +              "data_date": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "stale": {
      +                "type": [
      +                  "boolean",
      +                  "null"
      +                ]
      +              },
      +              "url": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "name",
      +              "as_of"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "status": {
      +          "enum": [
      +            "ok",
      +            "out_of_scope",
      +            "not_covered",
      +            "needs_review",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        },
      +        "supporting_data_status": {
      +          "enum": [
      +            "ok",
      +            "out_of_scope",
      +            "not_covered",
      +            "needs_review",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        },
      +        "verify_link": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "verify_link_note": {
      +          "type": "string"
      +        },
      +        "verify_note": {
      +          "type": "string"
      +        },
      +        "verify_url": {
      +          "type": "string"
      +        },
      +        "zoning": {
      +          "properties": {
      +            "basis": {
      +              "type": "string"
      +            },
      +            "dtc_use_area": {
      +              "type": "string"
      +            },
      +            "source": {
      +              "description": "Where the value comes from and when it was read.",
      +              "properties": {
      +                "as_of": {
      +                  "type": "string"
      +                },
      +                "data_date": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "stale": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "as_of"
      +              ],
      +              "type": "object"
      +            },
      +            "subdistrict": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "value": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "source"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "zoning",
      +        "new_non_owner_occupied_permit",
      +        "owner_occupied_permit"
      +      ],
      +      "type": "object"
      +    },
      +    "verify_link": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "verify_link_note": {
      +      "type": "string"
      +    },
      +    "verify_url": {
      +      "type": "string"
      +    },
      +    "warnings": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "query",
      +    "status",
      +    "resolved",
      +    "warnings",
      +    "disclaimer",
      +    "attribution",
      +    "verify_url",
      +    "generated_at",
      +    "api_version"
      +  ],
      +  "type": "object"
      +}
  7. Added

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint; the description goes well beyond them by disclosing default sourcing (rent from HUD Small Area FMR via deal-check, tax from the deal-check property-tax estimate at your price), the fact that rate and insurance have no default and produce null results until supplied, and a detailed status taxonomy including the active_city_license exception. The value is real but the status prose is delivered as a dense run-on, and it partly overlaps what the output schema likely already encodes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence is well front-loaded and earns its place, but the description then compresses defaults into a single run-on clause with an embedded parenthetical, followed by a status section that reads as fragmented notes ('Status values.', 'str.supporting_data_status appears when...'). Several default values duplicate the schema verbatim, and the status enumeration could be tightened substantially.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter tool with a rich nested output, the description covers purpose, required input, default provenance, null behavior, disclaimers, and status semantics, and it correctly leaves return-value structure to the output schema. The gap is that it refers to 'each section's status' and 'warnings' without saying which sections exist, so an agent still needs the output schema to interpret a needs_review response fully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns an increment by explaining the cross-tool provenance of two defaults (rent from deal-check FMR, tax from the deal-check estimate at the given price) and by flagging management_pct as an assumption to zero out when self-managing. Most other defaults (30-year term, 25% down, 3% closing, 8% vacancy, 5% maintenance) simply restate what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb+resource framing: the same public-record answer as ziplot_deal_check for a US address, 'plus a deal block' of illustrative arithmetic, and it enumerates the computed metrics (monthly payment, cash flow, NOI, cap rate, cash-on-cash, DSCR). It explicitly positions itself against the named sibling ziplot_deal_check, so an agent can distinguish the two without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Same ... as ziplot_deal_check ... plus a deal block' construction gives a clear selection rule: use this when the caller wants the arithmetic layer on top of the deal check. It also states the hard prerequisite that price is required and which inputs have no default and will yield nulls. It does not explicitly address the other sibling nashville_deal_check or state when *not* to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources