Gnowise Download OpenAPI YAML Download Postman Collection
Enterprise API Reference · Unified endpoint only · v3.10

Gnowise Unified Property Valuation API

A single working production endpoint for residential valuation, rent AVM, rent comparables, FSA-level neighborhood median prices via the hpi object, value ranges, confidence, valuation provenance, cap-rate helper, liquidity, downside risk, forecast, and HPI-adjusted valuation inputs where supported by the account configuration.

Base URLhttps://api.gnowise.com
MethodPOST /
Authenticationx-api-key header

1. Overview

The Unified API uses one endpoint and one API-key authentication pattern. This documentation focuses only on the working Unified API structure. Legacy forecast/off-market client pages and the broken interactive OpenAPI client are intentionally excluded.

Important: request field casing is case-sensitive. Use the three test payloads exactly as shown before changing values.

2. Endpoint & authentication

ItemValueNotes
Base URLhttps://api.gnowise.comProduction Unified API.
HTTP methodPOSTSubmit JSON request body.
Path/Root path.
Authenticationx-api-key: {YOUR_API_KEY}Required request header.
Content typeapplication/jsonRequired.

Basic cURL

curl -X POST "https://api.gnowise.com" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $GNOWISE_API_KEY" \
  -d @examples/address-only.json

3. Live API tester

Enter your own API key, edit any default payload, and send one of the three supported test profiles. The live tester calls a same-origin Cloudflare Pages Function, which forwards the request server-to-server to the production Unified API. The API key is stored only in this browser if you choose to save it.

Postman collection

Download the ready-to-import collection with the same three default test requests. After importing, set the collection variable gnowise_api_key, then edit payload values as needed.

Required for every test. Use Save to keep it in localStorage on this browser only.

1. Address-only / minimum detached test

Postal code is required and included inside Address. Keep AptNum empty for non-condo.

Not sent
Response will appear here.

2. Address + property attributes

Use the nested gateway shape. Postal code is required in attributes.PostalCode.

Not sent
Response will appear here.

3. Historical / HPI-adjusted valuation

Use when a historical value/date is available. Postal code is required inside Address.

Not sent
Response will appear here.

4. Three default test inputs

These same editable payloads are included in /examples, in the live tester above, and in the Postman collection. Use them first, verify the response, then change values.

1. Address-only / minimum detached test

The postal code is required and included in the Address string. Keep AptNum empty for non-condo properties.

{
  "Address": "299 chaplin cres toronto m5p1b1",
  "AptNum": "",
  "PropertyType": "Detached",
  "IsCondo": false
}
2. Address + property attributes

Use this enriched nested shape when attributes are known. Postal code is required in attributes.PostalCode. Numeric-looking values are shown as strings because this reflects the current gateway/client payload format.

{
  "address": "299 chaplin cres",
  "attributes": {
    "City": "Toronto",
    "PostalCode": "m5p1b1",
    "NumBedrooms": "3",
    "NumDens": "1",
    "NumBathrooms": "2",
    "NumParkingSpaces": "16",
    "Pool": "Inground",
    "BasementType": "Finished",
    "NumKitchens": "2",
    "PropertyType": "Detached",
    "BuildingStyle": "3-Storey",
    "RoomsArea": "1600",
    "LotArea": "3300",
    "Age": "51-99",
    "AirConditioning": "Central Air",
    "Sqft": null
  },
  "aptNum": "",
  "isCondo": false,
  "condition": 3
}
3. Historical / HPI-adjusted valuation

Use this when a known historical value and date are available and an HPI-adjusted pathway is appropriate. Postal code is required inside the Address string.

{
  "Address": "299 chaplin cres toronto m5p1b1",
  "AptNum": "",
  "PropertyType": "Detached",
  "IsCondo": false,
  "HistValue": 1500000,
  "HistValueDate": "2021-06-15",
  "HistPropertyType": "Detached"
}

5. Request profiles and field casing

Avoid this common mistake: every request needs a postal code, but the location differs by profile. The address-only/HPI profiles use Address, AptNum, PropertyType, IsCondo, with the postal code inside Address. The enriched profile uses address, attributes, aptNum, isCondo, and condition, with the postal code in attributes.PostalCode.

Address-only profile

FieldTypeGuidance
AddressstringFull address string including city and postal code. Postal code is required.
AptNumstringEmpty string for non-condo. Unit/suite number for condo flows.
PropertyTypestringResidential property type. Example: Detached.
IsCondobooleanfalse for detached/non-condo properties; true for condo/apartment.

Enriched attributes profile

Field pathTypeGuidance
addressstringStreet address string. City and postal code are supplied in attributes.
attributes.City, attributes.PostalCodestringCity and required postal code.
attributes.NumBedrooms, NumDens, NumBathrooms, NumParkingSpaces, NumKitchensstring/numberRoom and parking counts. Strings are accepted in the documented test payload.
attributes.PropertyType, BuildingStyle, Pool, BasementType, Age, AirConditioningstringCategorical property attributes.
attributes.RoomsArea, LotAreastring/numberSquare feet.
attributes.Sqftstring/number/nullLeave null unless your integration has a tested use case.
aptNum, isCondo, conditionstring/boolean/integerTop-level fields for the enriched profile.

Historical/HPI-adjusted profile

Use the address-only profile plus HistValue, HistValueDate, and HistPropertyType. The Address string must include the postal code.

6. Field options

PropertyType: Detached, Semi-Detached, Att/Row/Twnhouse, Duplex, Triplex, Fourplex, Multiplex, Condo Apt, Condo Townhouse, Comm Element Condo.

Condition: 1 Major repairs required · 2 Repairs needed · 3 Well maintained/default · 4 Like new · 5 New.

Units: area fields are square feet; rent is monthly CAD; cap rate and growth rates are decimal proportions.

7. Response schema

The response is returned under Report. Fields can be null or omitted depending on match quality, confidence, coverage, and account entitlements.

{
  "Report": {
    "gnowise_value": 1883000,
    "value_low": 1750000,
    "value_high": 2025000,
    "valuation_source": "A",
    "valuation_confidence": 0.91,
    "gnowise_lease": 4400,
    "lease_low": 4100,
    "lease_high": 4700,
    "lease_confidence": 0.88,
    "gnowise_cap_rate": 0.028,
    "liquidity_score": 0.68,
    "risk_of_decline": 32,
    "one_year_growth_rate": -0.04,
    "two_year_growth_rate": 0.02,
    "price_in_one_year": 1808000,
    "price_in_two_years": 1920000,
    "property_attributes": {},
    "appr_attributes": {},
    "hpi": {
      "M5P_All_median_ci_width": null,
      "M5P_Apartment_median_ci_width": 393562.0,
      "M5P_Detached_median_ci_width": null,
      "M5P_Row_median_ci_width": null,
      "M5P_All_median_price": 690725.0,
      "M5P_Row_median_price": null,
      "M5P_Apartment_median_price": 1216046.0,
      "M5P_Detached_median_price": null
    },
    "rent_comps": [],
    "request_id": "req_01JABCXYZ"
  }
}
FieldMeaning
gnowise_value, value_low, value_highCurrent estimated value and range in CAD.
valuation_sourceA AVM, H HPI/index fallback, HA HPI-adjusted using historical input.
valuation_confidence, lease_confidence0-1 confidence scores.
gnowise_lease, lease_low, lease_highMonthly rent estimate and range in CAD.
gnowise_cap_rateDecimal proportion. Example: 0.04 = 4%.
liquidity_scoreNumeric liquidity output when returned. Use account-specific scale/configuration.
risk_of_declineDownside risk score, commonly interpreted on a 0-100 scale when returned.
one_year_growth_rate, two_year_growth_rateDecimal proportions. Example: -0.04 = -4%.
hpiFSA-level neighborhood median price and median CI-width fields related to the subject postal code. Example keys: M5P_All_median_price, M5P_Apartment_median_price, M5P_Apartment_median_ci_width.
rent_compsRent comparable evidence when enabled and available. Structure may vary by entitlement/configuration; preserve returned fields.

8. Optional comparable and neighborhood sections

The Unified API can return entitlement-aware supporting sections such as rent comparables and FSA-level median prices.

SectionMeaningGuidance
hpiNeighborhood/FSA median price fields for the postal code related to the subject address. Keys commonly follow {FSA}_{Segment}_median_price and {FSA}_{Segment}_median_ci_width.Use as local context and benchmark data only; not as the subject property AVM. Missing segment metrics may be returned as null or NaN depending on serialization.
rent_compsRent comparable evidence when the account is entitled and comparable rental evidence is available.Use to support/explain gnowise_lease. Preserve returned fields because comparable record shape may vary by configuration.

9. Confidence, provenance and display rules

A successful API response is not automatically a displayable value. Enterprise clients should apply confidence, source, condo/unit, and commercial policy gates before showing values to users.

  • valuation_source = A: property-level AVM pathway.
  • valuation_source = HA: historical/HPI-adjusted pathway; label accordingly.
  • valuation_source = H: index/fallback pathway; treat as less property-specific.
  • Recommended display threshold: valuation_confidence >= 0.85, unless the contract specifies another threshold.

10. Status codes, errors and retries

CodeMeaningAction
200Successful responseParse Report and apply display rules.
400Malformed JSON, missing required field, missing postal code, or invalid valuesFix payload and field casing.
401Missing/invalid x-api-keyCheck credentials and environment.
404Address not matched or insufficient supported dataVerify address and add attributes.
429Rate limit exceededRespect Retry-After if provided and use exponential backoff.
5xxTransient server errorRetry with exponential backoff. Do not aggressively retry failed requests.

11. Security checklist

  • Do not embed shared enterprise API keys in public repositories, public examples, or permanent front-end code.
  • The live tester accepts a user-supplied API key for manual testing and stores it only in browser localStorage when the user clicks Save.
  • Production integrations should use server-to-server calls or a signed backend proxy under the client’s control.
  • Store keys in a secrets manager and rotate keys regularly.
  • Log request_id, status, and internal correlation IDs; avoid logging unnecessary personal information.
  • Monitor success rate, confidence distribution, 4xx/5xx rate, latency, and null-field rate.

12. Included files

  • openapi.yaml - OpenAPI 3.0.3 contract for the Unified endpoint only.
  • examples/address-only.json - minimum detached/address test payload.
  • examples/address-and-attributes.json - enriched nested attribute test payload.
  • examples/hpi-adjusted.json - historical/HPI-adjusted test payload.
  • postman/Gnowise_Unified_API.postman_collection.json - downloadable three-request Postman collection.

Postman import steps

  1. Click Download Postman JSON.
  2. Open Postman → Import → select the downloaded JSON file.
  3. Open the imported collection variables and set gnowise_api_key.
  4. Run one of the three default requests, then change the payload values as needed.