---
title: "Generate Avm Summary"
method: POST
path: "/generate-avm-summary"
tags: ["AVM Summary"]
---

# Generate Avm Summary

`POST /generate-avm-summary`

Generate a narrative summary from uploaded Landcor AVM data.

## Request body

- LandcorAVMSummaryRequest — Request body for generating an AVM narrative summary.
  - `subject_property` SubjectProperty — Physical, legal and locational attributes of the subject property.
    - `address` string, nullable — Full civic address.
    - `jurisdiction` string, nullable
    - `neighbourhood` string, nullable
    - `assessment_area` string, nullable
    - `property_use` string, nullable — e.g. 'Residential'.
    - `use_type` string, nullable — e.g. 'SFD WITH BASEMENT SUITE'.
    - `zoning` string, nullable
    - `alr` boolean, nullable — True if within the Agricultural Land Reserve.
    - `coop` boolean, nullable — True if a co-op.
    - `lot_size_sqft` number, nullable
    - `floor_area_sqft` number, nullable
    - `bedrooms` integer, nullable
    - `bathrooms` number, nullable
    - `stories` number, nullable
    - `year_built` integer, nullable
    - `effective_year` integer, nullable
    - `foundation_type` string, nullable
    - `fireplace` integer, nullable
    - `pool` boolean, nullable
    - `parking` string, nullable
    - `covered_deck_sqft` number, nullable
    - `uncovered_deck_sqft` number, nullable
    - `other_buildings` boolean, nullable
  - `valuation` ValuationMeta — Headline valuation outputs and methodology.
    - `estimated_value` number, nullable
    - `price_per_sqft` number, nullable
    - `method` string, nullable
    - `confidence_score` string, nullable
    - `lower_band` number, nullable
    - `upper_band` number, nullable
    - `total_properties_reviewed` integer, nullable
  - `assessment_history` AssessmentYear[]
    - `year` integer, required
    - `land` number, nullable
    - `improvements` number, nullable
    - `total` number, nullable
  - `comparable_sales` ComparableSale[]
    - `property_address` string, nullable
    - `last_sale_price` number, nullable
    - `last_sale_date` string, nullable
    - `assessment_land` number, nullable
    - `assessent_improvements` number, nullable — Mirrors the upstream payload's misspelled key.
    - `assessment_total` number, nullable
    - `use_type` string, nullable
    - `characteristics` string, nullable
    - `bedrooms` integer, nullable
    - `bathrooms` number, nullable
    - `floor_area_sqft` number, nullable
    - `lot_size_sqft` number, nullable
    - `year_built` integer, nullable
    - `effective_year` integer, nullable
    - `foundation` string, nullable
    - `parking` string, nullable
    - `neighbourhood` string, nullable
    - `latitude` number, nullable
    - `longitude` number, nullable
  - `neighbourhood` NeighbourhoodInsights
    - `avg_assessed_value` number, nullable
    - `avg_price_last_6_months` number, nullable
    - `last_valid_sale_date` string, nullable
    - `value_range` NeighbourhoodValueRange
      - `low` number, nullable
      - `median` number, nullable
      - `high` number, nullable
  - `sales_history` HistoricalSale[]
    - `date` string, nullable
    - `amount` number, nullable
    - `sale_type` string, nullable
    - `title_certificate_number` string, nullable
  - `valuation_change` ValuationChange
    - `last_sale_date` string, nullable
    - `last_sale_price` number, nullable
  - `climate_events` ClimateEvents
    - `has_recent_events` boolean, nullable
    - `events` ClimateEvent[]
      - `type` string, nullable
      - `date` string, nullable
      - `severity` string, nullable
      - `notes` string, nullable
  - `permit_history` PermitHistory
    - `permits` Permit[]
      - `date` string, nullable
      - `permit_number` string, nullable
      - `demolition` string, nullable
      - `description` string, nullable
      - `value` number, nullable
      - `status` string, nullable
    - `last_permit_date` string, nullable
  - `scores` NeighbourhoodScores
    - `walk` integer, nullable
    - `transit` integer, nullable
    - `bike` integer, nullable

## Response `200`

Successful Response

- LandcorAVMSummaryResponse — Response payload returned by the narrative generation endpoint.
  - `summary` string, required — Generated Landcor AVM summary.
  - `validation` ValidationResult, required — Result of validating a generated narrative.
    - `valid` boolean, required — Indicator of whether the narrative passed validation.
    - `messages` string[] — Human readable messages describing validation findings.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/landcor/apis/landcor-property-api.md) · [All operations](https://skmtc.net/landcor/apis/landcor-property-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/landcor/landcor-property-api/versions/45a7cc8f5b96/schema)
