{"openapi":"3.1.0","info":{"title":"Landcor Property API","version":"0.1.0"},"paths":{"/health":{"get":{"tags":["Health"],"summary":"Service health check","description":"Simple liveness endpoint for load balancers and uptime checks.","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/property/search":{"get":{"tags":["Property"],"summary":"Search for properties using the stored procedure address filters.","description":"Args:\n filters: Collection of optional address filters such as\n ``StreetName`` or ``PostalCode`` that are forwarded to\n :data:`~services.stored_procedures.USP_SEARCH_SERVICE_PROPERTY`.\n\n Returns:\n A list of :class:`PropertySearchResult` objects containing normalized\n PID, jurisdiction, address, and actual use type information.\n\n Business Rules:\n * A ``404`` response is returned when the underlying search yields no\n rows.","operationId":"search_property_property_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"unit_number","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit Number"}},{"name":"street_direction","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street Direction"}},{"name":"street_number","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street Number"}},{"name":"street_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street Name"}},{"name":"postal_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PropertySearchResult"},"title":"Response Search Property Property Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/property/{pid}":{"get":{"tags":["Property"],"summary":"Retrieve detailed information for a property.","description":"Args:\n pid: Landcor property identifier in ``xxx-xxx-xxx`` format.\n\n Returns:\n PropertyResponse: Envelope containing the PID, formatted address\n metadata, and nested assessment, usage, exterior, interior, and\n jurisdiction sections. The assessment section includes derived values\n such as price-per-square-foot, while the exterior section summarizes\n parking counts and amenity flags.\n\n Business Rules:\n * A 404 error is returned if the property cannot be located.\n * 'Y'/'N' flag values are converted to booleans.","operationId":"read_property_property__pid__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","description":"Property identifier in format xxx-xxx-xxx","title":"Pid"},"description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/property/{pid}/report/pdf":{"get":{"tags":["Property"],"summary":"Return the encrypted PDF report for a property.","description":"The PID is first resolved into assessment area (AA) code, jurisdiction code\n and roll number. These identifiers are required by the legacy Landcor SOAP\n webservice, which returns a base64-encoded, password protected PDF. A 404\n error is returned when the PID cannot be resolved, while a 502 error\n indicates that the legacy webservice either rejected the request or\n responded without a valid PDF payload.\n\n ``use_test_credentials`` is set when the caller presented a TEST token so\n the legacy webservice is authenticated with the TEST credential set.","operationId":"read_property_pdf_property__pid__report_pdf_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","description":"Property identifier in format xxx-xxx-xxx","title":"Pid"},"description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyReportPdfResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/valuationRange/{pid}":{"get":{"tags":["Valuation"],"summary":"Retrieve valuation range information for a property.","description":"Args:\n pid: Landcor property identifier in ``xxx-xxx-xxx`` format.\n\n Returns:\n ValuationRangeResponse with low and high valuation range values.\n\n Business Rules:\n * A 404 error is raised if no valuation record exists for the PID.","operationId":"read_valuation_range_valuationRange__pid__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","description":"Property identifier in format xxx-xxx-xxx","title":"Pid"},"description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValuationRangeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/valuationRange/{pid}/updates":{"get":{"tags":["Valuation"],"summary":"Return the valuation range for compatibility with the updates endpoint.","description":"Historically this endpoint exposed multiple update strategies. The\n functionality now mirrors :func:`get_property_valuation_range` so that\n clients receive the same data as the valuation range endpoint.\n\n Args:\n pid: Landcor property identifier in ``xxx-xxx-xxx`` format.\n\n Returns:\n ValuationRangeResponse with low and high valuation range values.\n\n Business Rules:\n * A 404 error is raised if no valuation record exists for the PID.","operationId":"read_property_monthly_update_valuationRange__pid__updates_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","description":"Property identifier in format xxx-xxx-xxx","title":"Pid"},"description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValuationRangeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/valuationRange/{pid}/history":{"get":{"tags":["Valuation"],"summary":"Retrieve the complete valuation history for a property.","description":"Args:\n pid: Landcor property identifier in ``xxx-xxx-xxx`` format.\n\n Returns:\n ValuationHistoryResponse containing chronological valuation data points.\n\n Business Rules:\n * A 404 error is raised if no valuation history exists for the PID.","operationId":"read_valuation_history_valuationRange__pid__history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","description":"Property identifier in format xxx-xxx-xxx","title":"Pid"},"description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValuationHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/valuation/ltv-check":{"post":{"tags":["Valuation"],"summary":"Compare a property's AVM value against a provided LTV amount.","operationId":"run_ltv_check_valuation_ltv_check_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LTVCheckRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LTVCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/valuation/neighbourhood/{neighbourhood_code}/{unit_type_code}/sales":{"get":{"tags":["Valuation"],"summary":"Retrieve aggregated neighbourhood sales data.","description":"Args:\n neighbourhood_code: Assessment neighbourhood identifier.\n unit_type_code: Unit type grouping for comparable sales.\n interval: Aggregation interval flag (``\"monthly\"`` or ``\"rolling3m\"``).\n months: Number of months of data to request.\n snapshot_day: Preferred day of the month for aggregation snapshots.\n\n Returns:\n NeighbourhoodSalesSeriesResponse containing sales metrics over time.\n\n Business Rules:\n * A 400 error is raised if ``interval`` is not recognised.\n * A 404 error is raised when no sales data is available.","operationId":"read_neighbourhood_sales_series_valuation_neighbourhood__neighbourhood_code___unit_type_code__sales_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"neighbourhood_code","in":"path","required":true,"schema":{"type":"string","minLength":1,"description":"Assessment neighbourhood identifier.","title":"Neighbourhood Code"},"description":"Assessment neighbourhood identifier."},{"name":"unit_type_code","in":"path","required":true,"schema":{"type":"string","minLength":1,"description":"Unit type code used to group comparable properties.","title":"Unit Type Code"},"description":"Unit type code used to group comparable properties."},{"name":"interval","in":"query","required":false,"schema":{"enum":["monthly","rolling3m"],"type":"string","description":"Aggregation interval for the sales series. Use 'monthly' for discrete months or 'rolling3m' for rolling averages.","default":"monthly","title":"Interval"},"description":"Aggregation interval for the sales series. Use 'monthly' for discrete months or 'rolling3m' for rolling averages."},{"name":"months","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Number of months of history to include in the response.","default":24,"title":"Months"},"description":"Number of months of history to include in the response."},{"name":"snapshot_day","in":"query","required":false,"schema":{"type":"integer","maximum":31,"minimum":1,"description":"Preferred day of the month for the aggregation snapshot.","default":15,"title":"Snapshot Day"},"description":"Preferred day of the month for the aggregation snapshot."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeighbourhoodSalesSeriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/comparables/{pid}":{"get":{"tags":["Comparables"],"summary":"Retrieve properties comparable to the given PID.","operationId":"read_comparables_comparables__pid__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","description":"Property identifier in format xxx-xxx-xxx","title":"Pid"},"description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComparablesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/address/autocomplete":{"get":{"tags":["Property"],"summary":"Autocomplete address lookup","description":"Returns matching address suggestions based on partial address input. Each word in the query must match a word boundary in the address. Requires at least 3 characters.","operationId":"autocomplete_address_address_autocomplete_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":200,"description":"Partial address string to search for.","examples":["123 main","west broadway van"],"title":"Q"},"description":"Partial address string to search for."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"description":"Maximum number of suggestions to return.","default":10,"title":"Limit"},"description":"Maximum number of suggestions to return."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutocompleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate-avm-summary":{"post":{"tags":["AVM Summary"],"summary":"Generate Avm Summary","description":"Generate a narrative summary from uploaded Landcor AVM data.","operationId":"generate_avm_summary_generate_avm_summary_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandcorAVMSummaryRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandcorAVMSummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}}},"components":{"schemas":{"AssessmentYear":{"properties":{"year":{"type":"integer","title":"Year"},"land":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Land"},"improvements":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Improvements"},"total":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total"}},"type":"object","required":["year"],"title":"AssessmentYear"},"AutocompleteResponse":{"properties":{"suggestions":{"items":{"type":"string"},"type":"array","title":"Suggestions","description":"Matching address strings ordered by relevance."},"count":{"type":"integer","title":"Count","description":"Number of suggestions returned."}},"type":"object","required":["suggestions","count"],"title":"AutocompleteResponse","description":"Response containing address autocomplete suggestions."},"BCAssessmentSection":{"properties":{"assessment_area_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assessment Area Code"},"assessment_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assessment Area"},"jurisdiction_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Jurisdiction Code"},"jurisdiction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jurisdiction"},"roll_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Roll Number"},"neighbourhood_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Neighbourhood Code"},"neighbourhood":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Neighbourhood"},"last_land_value_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Last Land Value Amount","description":"Most recent assessed value assigned to the land portion."},"last_improvement_value_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Last Improvement Value Amount","description":"Most recent assessed value of the improvements on the parcel."},"last_total_value_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Last Total Value Amount","description":"Most recent total assessed value of the property."},"previous_total_value_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Previous Total Value Amount","description":"Previous year's total assessed value."},"price_per_square_foot":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Per Square Foot","description":"Derived price per finished square foot using the latest assessment."},"year_over_year_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Year Over Year Change","description":"Year over year percentage change of the assessment value."}},"type":"object","title":"BCAssessmentSection","description":"Valuation metrics sourced from BC Assessment."},"ClimateEvent":{"properties":{"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"severity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Severity"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"ClimateEvent"},"ClimateEvents":{"properties":{"has_recent_events":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Recent Events"},"events":{"items":{"$ref":"#/components/schemas/ClimateEvent"},"type":"array","title":"Events"}},"type":"object","title":"ClimateEvents"},"ComparableProperty":{"properties":{"address":{"allOf":[{"$ref":"#/components/schemas/PropertyAddressMetadata"}],"description":"Formatted address metadata for the comparable property."},"distance_to_subject_property":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Distance To Subject Property","description":"Human readable distance from the comparable to the subject property."},"distance_to_subject_property_meters":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance To Subject Property Meters","description":"Numeric distance from the comparable to the subject property in meters."},"assessment":{"allOf":[{"$ref":"#/components/schemas/BCAssessmentSection"}],"description":"Assessment and lot size information for the comparable property."},"usage":{"allOf":[{"$ref":"#/components/schemas/PropertyUsageSection"}],"description":"Classification and zoning details for the comparable property."},"exterior":{"allOf":[{"$ref":"#/components/schemas/ExteriorDataSection"}],"description":"Exterior construction and amenity data for the comparable property."},"interior":{"allOf":[{"$ref":"#/components/schemas/InteriorDataSection"}],"description":"Interior layout information for the comparable property."},"other":{"allOf":[{"$ref":"#/components/schemas/OtherSection"}],"description":"Additional identifiers and legal metadata for the comparable property."},"sale":{"anyOf":[{"$ref":"#/components/schemas/PropertySaleSection"},{"type":"null"}],"description":"Latest sale metadata for the comparable property if available."}},"type":"object","title":"ComparableProperty","description":"Comparable property details grouped into shared property sections."},"ComparableSale":{"properties":{"property_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Address"},"last_sale_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Last Sale Price"},"last_sale_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Sale Date"},"assessment_land":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Assessment Land"},"assessent_improvements":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Assessent Improvements","description":"Mirrors the upstream payload's misspelled key."},"assessment_total":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Assessment Total"},"use_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Use Type"},"characteristics":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Characteristics"},"bedrooms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bedrooms"},"bathrooms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bathrooms"},"floor_area_sqft":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Floor Area Sqft"},"lot_size_sqft":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lot Size Sqft"},"year_built":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year Built"},"effective_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Effective Year"},"foundation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Foundation"},"parking":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking"},"neighbourhood":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Neighbourhood"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"}},"type":"object","title":"ComparableSale","description":"Comparable sale with full underwriting detail."},"ComparablesResponse":{"properties":{"pid":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","title":"Pid","description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"},"comparables":{"items":{"$ref":"#/components/schemas/ComparableProperty"},"type":"array","title":"Comparables"}},"type":"object","required":["pid","comparables"],"title":"ComparablesResponse","description":"Response schema for comparable properties."},"ExteriorDataSection":{"properties":{"year_built":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year Built"},"effective_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Effective Year"},"foundation_type_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Foundation Type Code"},"foundation_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Foundation Type"},"covered_deck_area":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Covered Deck Area"},"uncovered_deck_area":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Uncovered Deck Area"},"carports":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Carports"},"single_garages":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Single Garages"},"multi_garages":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Multi Garages"},"parking_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Summary","description":"Human readable summary of available parking counts."},"has_pool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Pool"},"pool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pool"},"other_buildings":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Other Buildings"},"exterior_type_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exterior Type Code"},"exterior_type_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exterior Type Description"},"corner_lot":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Corner Lot"},"waterfront_lot":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Waterfront Lot"},"water_lot":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Water Lot"},"prime_view_lot":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prime View Lot"},"good_view_lot":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Good View Lot"},"fair_view_lot":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Fair View Lot"},"lot_size_sq_ft":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lot Size Sq Ft","description":"Lot size expressed in square feet."},"lot_size_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lot Size Text","description":"Formatted lot size string including square feet and acres."},"lot_size_freeform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lot Size Freeform","description":"Freeform lot size value captured by BC Assessment."},"lot_width_ft":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lot Width Ft","description":"Lot width in feet."},"lot_depth_ft":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lot Depth Ft","description":"Lot depth in feet."}},"type":"object","title":"ExteriorDataSection","description":"Exterior construction, site dimensions, parking, and amenity data."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HistoricalSale":{"properties":{"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"},"sale_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sale Type"},"title_certificate_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title Certificate Number"}},"type":"object","title":"HistoricalSale"},"InteriorDataSection":{"properties":{"stories":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stories"},"bedrooms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bedrooms"},"bathrooms_4_piece":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bathrooms 4 Piece"},"bathrooms_3_piece":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bathrooms 3 Piece"},"bathrooms_2_piece":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bathrooms 2 Piece"},"bathroom_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bathroom Total"},"fireplaces":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Fireplaces"},"fireplace_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Fireplace Total"},"fireplace_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fireplace Type"},"total_basement_area":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Basement Area"},"finished_basement_area":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Finished Basement Area"},"basement_unfinished_area":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Basement Unfinished Area"},"basement_finished_area":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Basement Finished Area"},"main_finished_area":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Main Finished Area"},"total_finished_area":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Finished Area","description":"Total finished area in square feet for the primary structure."}},"type":"object","title":"InteriorDataSection","description":"Interior counts, configuration details, and square-footage metrics."},"LTVCheckRequest":{"properties":{"pid":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","title":"Pid","description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"},"ltv_amount":{"type":"number","exclusiveMinimum":0.0,"title":"Ltv Amount","description":"Loan-to-value amount to compare against the property's AVM value.","example":500000}},"type":"object","required":["pid","ltv_amount"],"title":"LTVCheckRequest","description":"Request body for comparing a property's AVM against an LTV amount."},"LTVCheckResponse":{"properties":{"pid":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","title":"Pid","description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"},"ltv_amount":{"type":"number","title":"Ltv Amount","description":"Loan-to-value amount supplied in the request."},"has_avm":{"type":"boolean","title":"Has Avm","description":"Indicates whether the property has an AVM value on record."},"avm_exceeds_ltv":{"type":"boolean","title":"Avm Exceeds Ltv","description":"True when the property's AVM value is greater than the provided LTV amount."}},"type":"object","required":["pid","ltv_amount","has_avm","avm_exceeds_ltv"],"title":"LTVCheckResponse","description":"Outcome of comparing a property's AVM against an LTV amount."},"LandcorAVMSummaryRequest":{"properties":{"subject_property":{"anyOf":[{"$ref":"#/components/schemas/SubjectProperty"},{"type":"null"}]},"valuation":{"anyOf":[{"$ref":"#/components/schemas/ValuationMeta"},{"type":"null"}]},"assessment_history":{"items":{"$ref":"#/components/schemas/AssessmentYear"},"type":"array","title":"Assessment History"},"comparable_sales":{"items":{"$ref":"#/components/schemas/ComparableSale"},"type":"array","title":"Comparable Sales"},"neighbourhood":{"anyOf":[{"$ref":"#/components/schemas/NeighbourhoodInsights"},{"type":"null"}]},"sales_history":{"items":{"$ref":"#/components/schemas/HistoricalSale"},"type":"array","title":"Sales History"},"valuation_change":{"anyOf":[{"$ref":"#/components/schemas/ValuationChange"},{"type":"null"}]},"climate_events":{"anyOf":[{"$ref":"#/components/schemas/ClimateEvents"},{"type":"null"}]},"permit_history":{"anyOf":[{"$ref":"#/components/schemas/PermitHistory"},{"type":"null"}]},"scores":{"anyOf":[{"$ref":"#/components/schemas/NeighbourhoodScores"},{"type":"null"}]}},"type":"object","title":"LandcorAVMSummaryRequest","description":"Request body for generating an AVM narrative summary."},"LandcorAVMSummaryResponse":{"properties":{"summary":{"type":"string","title":"Summary","description":"Generated Landcor AVM summary."},"validation":{"allOf":[{"$ref":"#/components/schemas/ValidationResult"}],"description":"Validation metadata describing potential issues in the narrative."}},"type":"object","required":["summary","validation"],"title":"LandcorAVMSummaryResponse","description":"Response payload returned by the narrative generation endpoint."},"NeighbourhoodInsights":{"properties":{"avg_assessed_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Assessed Value"},"avg_price_last_6_months":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Price Last 6 Months"},"last_valid_sale_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Valid Sale Date"},"value_range":{"anyOf":[{"$ref":"#/components/schemas/NeighbourhoodValueRange"},{"type":"null"}]}},"type":"object","title":"NeighbourhoodInsights"},"NeighbourhoodSalesPoint":{"properties":{"period_start":{"type":"string","format":"date","title":"Period Start","description":"First day of the aggregation period represented by the data point."},"period_end":{"type":"string","format":"date","title":"Period End","description":"Last day of the aggregation period represented by the data point."},"min_sale_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Sale Price","description":"Lowest sale price recorded during the aggregation period."},"max_sale_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Sale Price","description":"Highest sale price recorded during the aggregation period."},"avg_sale_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Sale Price","description":"Average sale price recorded during the aggregation period."},"median_sale_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Median Sale Price","description":"Median sale price recorded during the aggregation period."},"data_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Source","description":"Originating data source for the aggregated sales metrics."}},"type":"object","required":["period_start","period_end"],"title":"NeighbourhoodSalesPoint","description":"Aggregated sales metrics for a neighbourhood and unit type."},"NeighbourhoodSalesSeriesResponse":{"properties":{"neighbourhood_code":{"type":"string","title":"Neighbourhood Code","description":"Identifier of the neighbourhood that the sales data relates to."},"unit_type_code":{"type":"string","title":"Unit Type Code","description":"Unit type code used to group comparable sales records."},"points":{"items":{"$ref":"#/components/schemas/NeighbourhoodSalesPoint"},"type":"array","title":"Points","description":"Chronological series of aggregated sales metrics."}},"type":"object","required":["neighbourhood_code","unit_type_code"],"title":"NeighbourhoodSalesSeriesResponse","description":"Response wrapper for neighbourhood sales series data."},"NeighbourhoodScores":{"properties":{"walk":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Walk"},"transit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Transit"},"bike":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bike"}},"type":"object","title":"NeighbourhoodScores"},"NeighbourhoodValueRange":{"properties":{"low":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Low"},"median":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Median"},"high":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"High"}},"type":"object","title":"NeighbourhoodValueRange"},"OtherSection":{"properties":{"owner_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Address"},"characteristics":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Characteristics"},"legal_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Description","description":"Formatted legal description string."},"additional_pids":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Additional Pids","description":"Comma separated list of additional parcel identifiers."},"legal_lot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Lot","description":"Lot identifier parsed from the legal description."},"legal_block":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Block","description":"Block identifier parsed from the legal description."},"legal_section":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Section","description":"Section identifier parsed from the legal description."},"legal_township":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Township","description":"Township identifier parsed from the legal description."},"legal_range":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Range","description":"Range identifier parsed from the legal description."},"legal_meridian":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Meridian","description":"Meridian identifier parsed from the legal description."},"legal_plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Plan","description":"Plan identifier parsed from the legal description."},"legal_district_lot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal District Lot","description":"District lot identifier parsed from the legal description."},"legal_land_district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Land District","description":"Land district identifier parsed from the legal description."},"alr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Alr"},"coop":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Coop"}},"type":"object","title":"OtherSection","description":"Additional jurisdictional and legal identifiers."},"Permit":{"properties":{"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"permit_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Permit Number"},"demolition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Demolition"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"type":"object","title":"Permit"},"PermitHistory":{"properties":{"permits":{"items":{"$ref":"#/components/schemas/Permit"},"type":"array","title":"Permits"},"last_permit_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Permit Date"}},"type":"object","title":"PermitHistory"},"PropertyAddressMetadata":{"properties":{"property_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Address","description":"Display-ready mailing address for the property."},"unit_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit Number","description":"Unit, suite, or apartment identifier for the property."},"street_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street Number","description":"Street number or number range for the property."},"street_number_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street Number From","description":"Starting street number for the property."},"street_number_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street Number To","description":"Ending street number for the property when a range is provided."},"street_direction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street Direction","description":"Street direction or quadrant (e.g., W, NE)."},"street_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street Name","description":"Normalized street name for the property."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Normalized city name"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code","description":"Postal or ZIP code for the property."},"address_query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Query","description":"Formatted address string used for map queries."},"geo_coordinate_query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geo Coordinate Query","description":"Comma separated latitude/longitude value for map lookups."}},"type":"object","title":"PropertyAddressMetadata","description":"Formatted address details and related map metadata."},"PropertyReportPdfResponse":{"properties":{"pid":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","title":"Pid","description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"},"aa_code":{"type":"integer","title":"Aa Code","description":"Assessment area code resolved from the PID.","example":10},"j_code":{"type":"integer","title":"J Code","description":"Jurisdiction code resolved from the PID.","example":20},"roll_number":{"type":"string","title":"Roll Number","description":"Roll number resolved from the PID.","example":"01234567890"},"encrypted_pdf":{"type":"string","title":"Encrypted Pdf","description":"Base64-encoded, password-protected PDF payload from the legacy webservice."},"valuation":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Valuation","description":"Market value of the property as reported by the legacy webservice.","example":732000}},"type":"object","required":["pid","aa_code","j_code","roll_number","encrypted_pdf"],"title":"PropertyReportPdfResponse","description":"Encrypted PDF report returned by the legacy Landcor web service."},"PropertyResponse":{"properties":{"pid":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","title":"Pid","description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"},"address":{"$ref":"#/components/schemas/PropertyAddressMetadata"},"assessment":{"$ref":"#/components/schemas/BCAssessmentSection"},"usage":{"$ref":"#/components/schemas/PropertyUsageSection"},"exterior":{"$ref":"#/components/schemas/ExteriorDataSection"},"interior":{"$ref":"#/components/schemas/InteriorDataSection"},"other":{"$ref":"#/components/schemas/OtherSection"},"sale":{"anyOf":[{"$ref":"#/components/schemas/PropertySaleSection"},{"type":"null"}]}},"type":"object","required":["pid","address","assessment","usage","exterior","interior","other"],"title":"PropertyResponse","description":"All available property details for a single PID."},"PropertySaleSection":{"properties":{"sale_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Sale Date","description":"Recorded date of the most recent sale.","example":"2023-08-15"},"sale_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sale Price","description":"Recorded consideration amount for the most recent sale.","example":850000.0}},"type":"object","title":"PropertySaleSection","description":"Latest sale metadata for the property."},"PropertySearchResult":{"properties":{"pid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pid","description":"Parcel identifier (PID) returned by the property search result.","examples":["012-345-678"]},"jurisdiction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jurisdiction","description":"Jurisdiction name returned by the search.","examples":["Vancouver"]},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"Formatted address string supplied by the stored procedure.","examples":["123 W MAIN ST VANCOUVER BC"]},"actual_use_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actual Use Type","description":"Detailed actual use type classification from the source data.","examples":["Dwelling - Single Family"]}},"type":"object","title":"PropertySearchResult","description":"Normalized subset of fields returned from the property search."},"PropertyUsageSection":{"properties":{"use_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Use Code"},"use_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Use Description"},"unit_type_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Unit Type Code"},"unit_type_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit Type Description"},"development_class":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Development Class"},"development_class_sign":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Development Class Sign"},"actual_use_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actual Use Type"},"manual_class_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manual Class Type"},"is_rural_property":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Rural Property"},"zoning_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zoning Code"},"zoning_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zoning Description"},"school_district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"School District"},"regional_district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Regional District"},"electoral_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Electoral Area"},"hospital_district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hospital District"},"improvement_district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Improvement District"},"local_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Local Area"}},"type":"object","title":"PropertyUsageSection","description":"Classification and jurisdiction metadata describing how the parcel is used."},"SubjectProperty":{"properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"Full civic address."},"jurisdiction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jurisdiction"},"neighbourhood":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Neighbourhood"},"assessment_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assessment Area"},"property_use":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Use","description":"e.g. 'Residential'."},"use_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Use Type","description":"e.g. 'SFD WITH BASEMENT SUITE'."},"zoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zoning"},"alr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Alr","description":"True if within the Agricultural Land Reserve."},"coop":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Coop","description":"True if a co-op."},"lot_size_sqft":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lot Size Sqft"},"floor_area_sqft":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Floor Area Sqft"},"bedrooms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bedrooms"},"bathrooms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bathrooms"},"stories":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stories"},"year_built":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year Built"},"effective_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Effective Year"},"foundation_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Foundation Type"},"fireplace":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Fireplace"},"pool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pool"},"parking":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking"},"covered_deck_sqft":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Covered Deck Sqft"},"uncovered_deck_sqft":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Uncovered Deck Sqft"},"other_buildings":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Other Buildings"}},"type":"object","title":"SubjectProperty","description":"Physical, legal and locational attributes of the subject property."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"ValidationResult":{"properties":{"valid":{"type":"boolean","title":"Valid","description":"Indicator of whether the narrative passed validation."},"messages":{"items":{"type":"string"},"type":"array","title":"Messages","description":"Human readable messages describing validation findings."}},"type":"object","required":["valid"],"title":"ValidationResult","description":"Result of validating a generated narrative."},"ValuationChange":{"properties":{"last_sale_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Sale Date"},"last_sale_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Last Sale Price"}},"type":"object","title":"ValuationChange"},"ValuationHistoryPoint":{"properties":{"snapshot_date":{"type":"string","format":"date","title":"Snapshot Date"},"low_range_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Low Range Value"},"high_range_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"High Range Value"}},"type":"object","required":["snapshot_date"],"title":"ValuationHistoryPoint","description":"Single valuation history snapshot for a property."},"ValuationHistoryResponse":{"properties":{"pid":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","title":"Pid","description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"},"points":{"items":{"$ref":"#/components/schemas/ValuationHistoryPoint"},"type":"array","title":"Points","description":"Chronological valuation history records for the property."}},"type":"object","required":["pid"],"title":"ValuationHistoryResponse","description":"Collection of valuation history points for a property."},"ValuationMeta":{"properties":{"estimated_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Value"},"price_per_sqft":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Per Sqft"},"method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Method","default":"Comparison Approach"},"confidence_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confidence Score"},"lower_band":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lower Band"},"upper_band":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Upper Band"},"total_properties_reviewed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Properties Reviewed"}},"type":"object","title":"ValuationMeta","description":"Headline valuation outputs and methodology."},"ValuationRangeResponse":{"properties":{"pid":{"type":"string","pattern":"^\\d{3}-\\d{3}-\\d{3}$","title":"Pid","description":"Property identifier in format xxx-xxx-xxx","example":"xxx-xxx-xxx"},"low_range_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Low Range Value"},"high_range_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"High Range Value"}},"type":"object","required":["pid"],"title":"ValuationRangeResponse","description":"Valuation range for a property."}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}},"tags":[]}