generated: '2026-07-26' method: derived source: openapi/wahi-listing-search-openapi.yaml note: >- Derived mechanically from the four component schemas in Wahi's published Listing Search OpenAPI. This is Wahi's own public projection of an MLS listing — a flattened, consumer-shaped view, not a RESO Data Dictionary resource. Field names are Wahi's (mlsId, listPrice, sqft, geoZoneSeoPath), not RESO's (ListingKey, ListPrice, LivingArea). entities: - name: ListingsResponse role: envelope description: The response object containing an array of property listings. fields: - name: listings type: array- name: Listing role: root description: A single property listing with its details. identifier: field: mlsId type: string description: The unique identifier for the property listing in the MLS board. note: >- The identifier is the board's MLS number, which makes the upstream ownership of the data explicit in the contract itself — Wahi mints no identifier of its own. fields: - {name: mlsId, type: string} - {name: listPrice, type: number/float, unit: CAD} - {name: soldPrice, type: number/float, unit: CAD} - {name: annualTaxAmount, type: number/float, unit: CAD} - {name: listDate, type: string/date-time} - {name: soldDate, type: string/date-time} - {name: type, type: enum, values: [Sale, Rent]} - {name: detailsPropertyType, type: string} - {name: numBedrooms, type: number} - {name: numBedroomsFull, type: number} - {name: numBedroomsPlus, type: number} - {name: numBathrooms, type: number} - {name: numBathroomsFull, type: number} - {name: numBathroomsPlus, type: number} - {name: numParkingSpaces, type: number} - {name: sqft, type: string, note: 'Displayed as a unique value (X), a range (X-X) or a comparative (- Wahi's product surface is much wider than its contract. Agents, offices, open houses, sold history, valuations (the "What's My Home Worth?" estimate), Market Pulse / House Price Index market data, saved searches and cashback all exist as consumer features but appear in no published schema. Nothing is modelled for them here. secondary_surface: name: WordPress REST API source: openapi/wahi-wp-json-discovery.json note: >- The marketing CMS exposes the stock WordPress content model (posts, pages, media, categories, tags, users, comments, taxonomies, blocks) across 14 namespaces and 223 routes. It is WordPress core's data model, not Wahi's, and is deliberately not expanded here.