{
  "openapi": "3.1.0",
  "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
  "info": {
    "title": "PropData API",
    "version": "1.0.0",
    "summary": "AI-native U.S. property and geospatial intelligence",
    "description": "PropData resolves addresses, parcel identifiers, and coordinates into production-ready property intelligence.\n\nThe contract covers property records, verified parcel geometry, market and rent context, comps, neighborhood intelligence, deltas, and lead workflows.\n\nThis specification was derived from the deployed Cloudflare Worker route dispatcher and response builders. Source coverage varies by county and field; nullable values mean the connected official source did not return that attribute.\n\nUse `x-api-key` for REST integrations. Bearer authentication is supported for agent and MCP-adjacent clients. Never put API keys in query strings.",
    "contact": {
      "name": "PropData Support",
      "email": "sales@proptechusa.ai",
      "url": "https://propdata.proptechusa.ai/"
    },
    "license": {
      "name": "Proprietary",
      "url": "https://propdata.proptechusa.ai/terms"
    },
    "x-logo": {
      "url": "https://propdata.proptechusa.ai/icon.svg",
      "altText": "PropData"
    }
  },
  "externalDocs": {
    "description": "PropData developer documentation",
    "url": "https://propdata.proptechusa.ai/docs"
  },
  "servers": [
    {
      "url": "https://propdata-api-worker.sales-fd3.workers.dev",
      "description": "Production Cloudflare Worker"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    },
    {
      "BearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "System",
      "description": "Health, usage, public statistics, and release metadata."
    },
    {
      "name": "Property",
      "description": "Address, parcel-ID, and coordinate-to-parcel workflows."
    },
    {
      "name": "Geometry",
      "description": "County-sourced parcel boundaries and spatial coverage."
    },
    {
      "name": "Market",
      "description": "Market, rent, listing, and estimate intelligence."
    },
    {
      "name": "Comparables",
      "description": "Ranked comparable property records."
    },
    {
      "name": "Location",
      "description": "Geocoding, neighborhood, ZIP, and state intelligence."
    },
    {
      "name": "Changes",
      "description": "Cursor-based property and pre-foreclosure change feeds."
    },
    {
      "name": "Leads",
      "description": "Pre-foreclosure and permitted contact enrichment workflows."
    },
    {
      "name": "Documentation",
      "description": "Machine-readable contracts and interactive documentation."
    }
  ],
  "paths": {
    "/openapi": {
      "get": {
        "tags": [
          "Documentation"
        ],
        "summary": "Open interactive API documentation",
        "operationId": "openApiReference",
        "security": [],
        "responses": {
          "200": {
            "description": "Interactive Scalar API reference",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/ClientError"
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "tags": [
          "Documentation"
        ],
        "summary": "Download the OpenAPI JSON contract",
        "operationId": "downloadOpenApiJson",
        "security": [],
        "responses": {
          "200": {
            "description": "OpenAPI 3.1 document",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/ClientError"
          }
        }
      }
    },
    "/openapi.yaml": {
      "get": {
        "tags": [
          "Documentation"
        ],
        "summary": "Download the OpenAPI YAML contract",
        "operationId": "downloadOpenApiYaml",
        "security": [],
        "responses": {
          "200": {
            "description": "OpenAPI 3.1 document",
            "content": {
              "application/yaml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/ClientError"
          }
        }
      }
    },
    "/v1/health": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Check API and ingestion health",
        "operationId": "getHealth",
        "security": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthResponse"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/ClientError"
          }
        }
      }
    },
    "/v1/stats": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Get the current indexed parcel count",
        "operationId": "getStats",
        "security": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatsResponse"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          },
          "4XX": {
            "$ref": "#/components/responses/ClientError"
          }
        }
      }
    },
    "/v1/changelog": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "List API and coverage releases",
        "operationId": "getChangelog",
        "security": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangelogResponse"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/ClientError"
          }
        }
      }
    },
    "/v1/usage": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Get authenticated quota and rate-limit telemetry",
        "operationId": "getUsage",
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsageResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/market": {
      "get": {
        "tags": [
          "Market"
        ],
        "summary": "Build a multi-source market profile",
        "description": "Provide at least one of `zip`, `state`, or `metro`. ZIP produces the most localized result.",
        "operationId": "getMarket",
        "parameters": [
          {
            "$ref": "#/components/parameters/Zip"
          },
          {
            "$ref": "#/components/parameters/State"
          },
          {
            "$ref": "#/components/parameters/Metro"
          },
          {
            "$ref": "#/components/parameters/Months"
          },
          {
            "$ref": "#/components/parameters/CacheBust"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/rent": {
      "get": {
        "tags": [
          "Market"
        ],
        "summary": "Get rent estimates and available benchmarks",
        "description": "Provide at least one of `zip`, `state`, or `metro`. Rent values may combine ZORI, HUD/FMR, and public demographic sources.",
        "operationId": "getRent",
        "parameters": [
          {
            "$ref": "#/components/parameters/Zip"
          },
          {
            "$ref": "#/components/parameters/State"
          },
          {
            "$ref": "#/components/parameters/Metro"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RentResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/listing": {
      "get": {
        "tags": [
          "Market"
        ],
        "summary": "Get listing-market statistics",
        "description": "Provide at least one of `zip`, `state`, or `metro`.",
        "operationId": "getListing",
        "parameters": [
          {
            "$ref": "#/components/parameters/Zip"
          },
          {
            "$ref": "#/components/parameters/State"
          },
          {
            "$ref": "#/components/parameters/Metro"
          },
          {
            "$ref": "#/components/parameters/Months"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListingResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/estimate": {
      "get": {
        "tags": [
          "Market"
        ],
        "summary": "Estimate monthly rent with the PropData AVM",
        "description": "Requires `zip` or `state`. A ZIP is recommended. `beds=0` means studio.",
        "operationId": "getEstimate",
        "parameters": [
          {
            "$ref": "#/components/parameters/Zip"
          },
          {
            "$ref": "#/components/parameters/State"
          },
          {
            "$ref": "#/components/parameters/Beds"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstimateResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/property": {
      "get": {
        "tags": [
          "Property"
        ],
        "summary": "Resolve and enrich property records",
        "description": "Lookup modes: exact parcel (`parcel` plus optional `county_fips`), address (`address` plus ZIP/state), or geographic list (`zip` or `state`). Set `enrich=full` for the full enrichment workflow and `include_geometry=true` to attach a boundary where available.",
        "operationId": "getProperty",
        "parameters": [
          {
            "$ref": "#/components/parameters/Address"
          },
          {
            "$ref": "#/components/parameters/City"
          },
          {
            "$ref": "#/components/parameters/Zip"
          },
          {
            "$ref": "#/components/parameters/State"
          },
          {
            "$ref": "#/components/parameters/Parcel"
          },
          {
            "$ref": "#/components/parameters/CountyFips"
          },
          {
            "$ref": "#/components/parameters/Limit25"
          },
          {
            "$ref": "#/components/parameters/Enrich"
          },
          {
            "$ref": "#/components/parameters/IncludeGeometry"
          },
          {
            "$ref": "#/components/parameters/NoCache"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PropertyResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/property/by-location": {
      "get": {
        "tags": [
          "Property",
          "Geometry"
        ],
        "summary": "Resolve coordinates to a verified parcel",
        "description": "Performs a point-in-polygon lookup against a configured official county GIS source. The current runtime accepts coordinates in the continental U.S. bounding box.",
        "operationId": "getPropertyByLocation",
        "parameters": [
          {
            "$ref": "#/components/parameters/Latitude"
          },
          {
            "$ref": "#/components/parameters/Longitude"
          },
          {
            "$ref": "#/components/parameters/CountyFips"
          },
          {
            "$ref": "#/components/parameters/State"
          },
          {
            "$ref": "#/components/parameters/IncludeGeometry"
          },
          {
            "$ref": "#/components/parameters/NoCache"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PropertyByLocationResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/property/coverage": {
      "get": {
        "tags": [
          "Property",
          "Geometry"
        ],
        "summary": "List configured spatial parcel sources",
        "description": "This reports county GIS configuration for coordinate-to-parcel matching. It is not the nationwide indexed parcel count.",
        "operationId": "getPropertyCoverage",
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CoverageResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/parcel-geometry": {
      "get": {
        "tags": [
          "Geometry"
        ],
        "summary": "Get a parcel boundary as GeoJSON",
        "description": "Requires a five-digit county FIPS code and parcel identifier. A successful request can return HTTP 200 with `geometry_available=false` when the county source is not configured or no boundary is found.",
        "operationId": "getParcelGeometry",
        "parameters": [
          {
            "$ref": "#/components/parameters/CountyFipsRequired"
          },
          {
            "$ref": "#/components/parameters/ParcelRequired"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParcelGeometryResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/geocode": {
      "get": {
        "tags": [
          "Location"
        ],
        "summary": "Resolve an address or ZIP to property-ready location context",
        "operationId": "geocode",
        "parameters": [
          {
            "$ref": "#/components/parameters/Address"
          },
          {
            "$ref": "#/components/parameters/City"
          },
          {
            "$ref": "#/components/parameters/Zip"
          },
          {
            "$ref": "#/components/parameters/State"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodeResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/neighborhood": {
      "get": {
        "tags": [
          "Location"
        ],
        "summary": "Get neighborhood and demographic context",
        "description": "Provide a ZIP or a supported `city` and `state` pair.",
        "operationId": "getNeighborhood",
        "parameters": [
          {
            "$ref": "#/components/parameters/Zip"
          },
          {
            "$ref": "#/components/parameters/City"
          },
          {
            "$ref": "#/components/parameters/State"
          },
          {
            "$ref": "#/components/parameters/Limit50"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NeighborhoodResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/zip-intel": {
      "get": {
        "tags": [
          "Location"
        ],
        "summary": "Get consolidated ZIP investment intelligence",
        "description": "Currently executes before API authentication in the supplied Worker runtime.",
        "operationId": "getZipIntel",
        "security": [],
        "parameters": [
          {
            "$ref": "#/components/parameters/ZipRequired"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZipIntelResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/state-intel": {
      "get": {
        "tags": [
          "Location"
        ],
        "summary": "Get state market, risk, and metro signals",
        "description": "Currently executes before API authentication in the supplied Worker runtime.",
        "operationId": "getStateIntel",
        "security": [],
        "parameters": [
          {
            "$ref": "#/components/parameters/StateRequired"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StateIntelResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/comps": {
      "get": {
        "tags": [
          "Comparables"
        ],
        "summary": "Rank comparable properties",
        "description": "ZIP is required. Optional subject characteristics improve ranking quality.",
        "operationId": "getComps",
        "parameters": [
          {
            "$ref": "#/components/parameters/ZipRequired"
          },
          {
            "$ref": "#/components/parameters/State"
          },
          {
            "$ref": "#/components/parameters/Address"
          },
          {
            "$ref": "#/components/parameters/City"
          },
          {
            "$ref": "#/components/parameters/Parcel"
          },
          {
            "$ref": "#/components/parameters/CountyFips"
          },
          {
            "$ref": "#/components/parameters/Beds"
          },
          {
            "$ref": "#/components/parameters/Baths"
          },
          {
            "$ref": "#/components/parameters/Sqft"
          },
          {
            "$ref": "#/components/parameters/YearBuilt"
          },
          {
            "$ref": "#/components/parameters/Value"
          },
          {
            "$ref": "#/components/parameters/Limit25"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompsResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/property/delta": {
      "get": {
        "tags": [
          "Changes"
        ],
        "summary": "Stream property records changed since a timestamp",
        "description": "Nationwide requests require Pro tier or above. Free/demo requests must include `zip` or `state`.",
        "operationId": "getPropertyDelta",
        "parameters": [
          {
            "$ref": "#/components/parameters/Since"
          },
          {
            "$ref": "#/components/parameters/Zip"
          },
          {
            "$ref": "#/components/parameters/State"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          },
          {
            "$ref": "#/components/parameters/Limit1000"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PropertyDeltaResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/preforeclosure": {
      "get": {
        "tags": [
          "Leads"
        ],
        "summary": "Find pre-foreclosure records",
        "description": "Provide `zip`, `state`, `county_fips`, `case_number`, or `q`. Managed counties support lifecycle status filtering and property/provenance enrichment.",
        "operationId": "getPreForeclosure",
        "parameters": [
          {
            "$ref": "#/components/parameters/Zip"
          },
          {
            "$ref": "#/components/parameters/State"
          },
          {
            "name": "county_fips",
            "in": "query",
            "required": false,
            "description": "Five-digit county FIPS. Routes managed counties to their canonical store.",
            "schema": {
              "type": "string",
              "pattern": "^[0-9]{5}$"
            }
          },
          {
            "name": "case_number",
            "in": "query",
            "required": false,
            "description": "Exact foreclosure case number.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Search case number, property address, or owner name.",
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "$ref": "#/components/parameters/LeadStatus"
          },
          {
            "$ref": "#/components/parameters/Limit100"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreForeclosureResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/preforeclosure/delta": {
      "get": {
        "tags": [
          "Changes",
          "Leads"
        ],
        "summary": "Stream pre-foreclosure records changed since a timestamp",
        "description": "Nationwide requests require Pro tier or above. Free/demo requests must include `zip` or `state`.",
        "operationId": "getPreForeclosureDelta",
        "parameters": [
          {
            "$ref": "#/components/parameters/Since"
          },
          {
            "$ref": "#/components/parameters/Zip"
          },
          {
            "$ref": "#/components/parameters/State"
          },
          {
            "$ref": "#/components/parameters/LeadStatusOptional"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          },
          {
            "$ref": "#/components/parameters/Limit1000"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreForeclosureDeltaResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/skip-trace": {
      "get": {
        "tags": [
          "Leads"
        ],
        "summary": "Retrieve permitted owner-contact enrichment",
        "description": "Requires Builder tier or above and at least one of `address`, `zip`, or `state`. Phone and email fields are nullable and coverage varies by market. Use only for legally permitted purposes and honor applicable privacy, licensing, and outreach rules.",
        "operationId": "getSkipTrace",
        "parameters": [
          {
            "$ref": "#/components/parameters/Address"
          },
          {
            "$ref": "#/components/parameters/Zip"
          },
          {
            "$ref": "#/components/parameters/State"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {
              "X-Cache": {
                "$ref": "#/components/headers/XCache"
              },
              "X-PropData-Tier": {
                "$ref": "#/components/headers/XPropDataTier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkipTraceResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key",
        "description": "Primary PropData API key. Keep it server-side."
      },
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "PropData API key",
        "description": "Alternate bearer form: `Authorization: Bearer <key>`."
      }
    },
    "headers": {
      "XCache": {
        "description": "Cache status when the endpoint uses a response cache.",
        "schema": {
          "type": "string",
          "enum": [
            "HIT",
            "MISS",
            "SKIP"
          ]
        }
      },
      "XPropDataTier": {
        "description": "Resolved subscription tier when emitted by the endpoint.",
        "schema": {
          "type": "string"
        }
      }
    },
    "parameters": {
      "Zip": {
        "name": "zip",
        "in": "query",
        "required": false,
        "description": "Five-digit U.S. ZIP code.",
        "schema": {
          "type": "string",
          "pattern": "^[0-9]{5}$"
        },
        "example": "55101"
      },
      "ZipRequired": {
        "name": "zip",
        "in": "query",
        "required": true,
        "description": "Five-digit U.S. ZIP code.",
        "schema": {
          "type": "string",
          "pattern": "^[0-9]{5}$"
        },
        "example": "55101"
      },
      "State": {
        "name": "state",
        "in": "query",
        "required": false,
        "description": "Two-letter U.S. state or district code.",
        "schema": {
          "type": "string",
          "pattern": "^[A-Za-z]{2}$"
        },
        "example": "MN"
      },
      "StateRequired": {
        "name": "state",
        "in": "query",
        "required": true,
        "description": "Two-letter U.S. state or district code.",
        "schema": {
          "type": "string",
          "pattern": "^[A-Za-z]{2}$"
        },
        "example": "MN"
      },
      "Metro": {
        "name": "metro",
        "in": "query",
        "required": false,
        "description": "Metro name understood by the connected source.",
        "schema": {
          "type": "string",
          "minLength": 2
        },
        "example": "Minneapolis-St. Paul"
      },
      "Months": {
        "name": "months",
        "in": "query",
        "required": false,
        "description": "History window in months.",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 120,
          "default": 12
        }
      },
      "Address": {
        "name": "address",
        "in": "query",
        "required": false,
        "description": "Street address. City/state/ZIP may be embedded or passed separately.",
        "schema": {
          "type": "string",
          "minLength": 3
        },
        "example": "338 5 AVENUE"
      },
      "City": {
        "name": "city",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        },
        "example": "New York"
      },
      "Parcel": {
        "name": "parcel",
        "in": "query",
        "required": false,
        "description": "County parcel identifier, APN, PIN, or canonical BBL.",
        "schema": {
          "type": "string"
        },
        "example": "1008350041"
      },
      "ParcelRequired": {
        "name": "parcel",
        "in": "query",
        "required": true,
        "description": "County parcel identifier, APN, PIN, or canonical BBL.",
        "schema": {
          "type": "string"
        },
        "example": "1008350041"
      },
      "CountyFips": {
        "name": "county_fips",
        "in": "query",
        "required": false,
        "description": "Five-digit county FIPS code, including leading zeroes.",
        "schema": {
          "type": "string",
          "pattern": "^[0-9]{5}$"
        },
        "example": "36061"
      },
      "CountyFipsRequired": {
        "name": "county_fips",
        "in": "query",
        "required": true,
        "description": "Five-digit county FIPS code, including leading zeroes.",
        "schema": {
          "type": "string",
          "pattern": "^[0-9]{5}$"
        },
        "example": "36061"
      },
      "Latitude": {
        "name": "lat",
        "in": "query",
        "required": true,
        "description": "WGS84 latitude.",
        "schema": {
          "type": "number",
          "minimum": 24,
          "maximum": 50
        },
        "example": 40.74844
      },
      "Longitude": {
        "name": "lng",
        "in": "query",
        "required": true,
        "description": "WGS84 longitude.",
        "schema": {
          "type": "number",
          "minimum": -125,
          "maximum": -66
        },
        "example": -73.98566
      },
      "IncludeGeometry": {
        "name": "include_geometry",
        "in": "query",
        "required": false,
        "description": "Attach geometry metadata or GeoJSON where the route supports it.",
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "Enrich": {
        "name": "enrich",
        "in": "query",
        "required": false,
        "description": "Full mode enables eligible realtime enrichment, rent, comps, and source handoff workflows.",
        "schema": {
          "type": "string",
          "enum": [
            "standard",
            "full"
          ],
          "default": "standard"
        }
      },
      "NoCache": {
        "name": "nocache",
        "in": "query",
        "required": false,
        "description": "Bypass the property cache for diagnostics. May increase latency and usage.",
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "CacheBust": {
        "name": "_t",
        "in": "query",
        "required": false,
        "description": "Optional cache-busting token for diagnostics.",
        "schema": {
          "type": "string"
        }
      },
      "Beds": {
        "name": "beds",
        "in": "query",
        "required": false,
        "description": "Bedroom count. Zero means studio.",
        "schema": {
          "type": "integer",
          "minimum": 0,
          "maximum": 20,
          "default": 2
        }
      },
      "Baths": {
        "name": "baths",
        "in": "query",
        "required": false,
        "schema": {
          "type": "number",
          "minimum": 0,
          "maximum": 30
        }
      },
      "Sqft": {
        "name": "sqft",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1
        }
      },
      "YearBuilt": {
        "name": "year_built",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1600,
          "maximum": 2100
        }
      },
      "Value": {
        "name": "value",
        "in": "query",
        "required": false,
        "description": "Subject comparison value used to rank comps.",
        "schema": {
          "type": "number",
          "minimum": 0
        }
      },
      "Limit25": {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 25,
          "default": 10
        }
      },
      "Limit50": {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 50,
          "default": 20
        }
      },
      "Limit100": {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 20
        }
      },
      "Limit1000": {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 1000,
          "default": 100
        }
      },
      "Since": {
        "name": "since",
        "in": "query",
        "required": true,
        "description": "Inclusive ISO 8601 lower bound.",
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "example": "2026-08-01T00:00:00Z"
      },
      "Cursor": {
        "name": "cursor",
        "in": "query",
        "required": false,
        "description": "Exclusive ISO 8601 cursor returned by the previous page.",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "LeadStatus": {
        "name": "status",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "default": "pre_foreclosure"
        }
      },
      "LeadStatusOptional": {
        "name": "status",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        }
      }
    },
    "responses": {
      "ClientError": {
        "description": "Client or edge request error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "BadRequest": {
        "description": "Invalid or incomplete request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "example": {
              "error": "zip or address required",
              "status": 400
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Missing or invalid API key",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "example": {
              "error": "Invalid or missing API key.",
              "status": 401
            }
          }
        }
      },
      "Forbidden": {
        "description": "The current tier cannot perform this operation",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "example": {
              "error": "This operation requires a higher tier.",
              "status": 403
            }
          }
        }
      },
      "NotFound": {
        "description": "No matching data or route",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "example": {
              "error": "No data found for this location",
              "status": 404
            }
          }
        }
      },
      "RateLimited": {
        "description": "Rate limit exceeded",
        "headers": {
          "Retry-After": {
            "schema": {
              "type": "integer"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "example": {
              "error": "Rate limit exceeded.",
              "status": 429
            }
          }
        }
      },
      "ServerError": {
        "description": "Unexpected server error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      }
    },
    "schemas": {
      "ErrorResponse": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": false
          },
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "status": {
            "type": "integer",
            "minimum": 400,
            "maximum": 599
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "Location": {
        "type": "object",
        "properties": {
          "zip": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[0-9]{5}$"
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "metro": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      },
      "SourceStatus": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "degraded",
              "not_run"
            ]
          },
          "error": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      },
      "HealthResponse": {
        "type": "object",
        "required": [
          "status",
          "api",
          "version",
          "sources",
          "timestamp"
        ],
        "properties": {
          "status": {
            "type": "string",
            "example": "ok"
          },
          "api": {
            "type": "string",
            "example": "PropData v1"
          },
          "version": {
            "type": "string",
            "example": "v7"
          },
          "features": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "type": "object",
            "properties": {
              "hud_fmr": {
                "$ref": "#/components/schemas/SourceStatus"
              },
              "zillow_zori": {
                "$ref": "#/components/schemas/SourceStatus"
              },
              "realtor_research": {
                "$ref": "#/components/schemas/SourceStatus"
              }
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/SourceStatus"
            }
          },
          "rapidapi_plan_map": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "StatsResponse": {
        "type": "object",
        "required": [
          "count",
          "formatted",
          "label",
          "updated_at"
        ],
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 0
          },
          "formatted": {
            "type": "string",
            "example": "166,000,000"
          },
          "label": {
            "type": "string",
            "example": "166.0M+"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "UsageResponse": {
        "type": "object",
        "required": [
          "ok",
          "endpoint",
          "tier",
          "requests_this_minute",
          "limit_per_minute",
          "generated_at"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "endpoint": {
            "type": "string",
            "const": "usage"
          },
          "key": {
            "type": [
              "string",
              "null"
            ],
            "description": "Key identifier as returned by the current runtime; clients should not log it."
          },
          "tier": {
            "type": "string"
          },
          "plan": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "subscribed": {
            "type": "boolean"
          },
          "rate_limit_model": {
            "type": "string"
          },
          "monthly_limit": {
            "type": [
              "integer",
              "null"
            ]
          },
          "monthly_used": {
            "type": [
              "integer",
              "null"
            ]
          },
          "monthly_remaining": {
            "type": [
              "integer",
              "null"
            ]
          },
          "requests_this_minute": {
            "type": "integer",
            "minimum": 0
          },
          "limit_per_minute": {
            "type": "integer",
            "minimum": 1
          },
          "minute_reset_at": {
            "type": "string",
            "format": "date-time"
          },
          "hourly_limit_enabled": {
            "type": "boolean"
          },
          "requests_this_hour": {
            "type": [
              "integer",
              "null"
            ]
          },
          "limit_per_hour": {
            "type": [
              "integer",
              "null"
            ]
          },
          "hourly_reset_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "message": {
            "type": "string"
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "MarketResponse": {
        "type": "object",
        "required": [
          "ok",
          "endpoint",
          "location",
          "snapshot",
          "market",
          "rent",
          "demographics",
          "macro",
          "data_sources",
          "generated_at"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "endpoint": {
            "type": "string",
            "const": "market"
          },
          "powered_by": {
            "type": "string"
          },
          "location": {
            "$ref": "#/components/schemas/Location"
          },
          "snapshot": {
            "type": "object",
            "properties": {
              "median_rent": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "median_home_value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "gross_yield_pct": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "price_to_rent_ratio": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "affordability_score": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "investor_signal": {
                "type": "string"
              }
            },
            "additionalProperties": true
          },
          "market": {
            "type": "object",
            "additionalProperties": true
          },
          "rent": {
            "$ref": "#/components/schemas/RentMetrics"
          },
          "demographics": {
            "type": "object",
            "additionalProperties": true
          },
          "macro": {
            "type": "object",
            "additionalProperties": true
          },
          "data_sources": {
            "type": "object",
            "additionalProperties": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "RentMetrics": {
        "type": "object",
        "properties": {
          "estimated_rent": {
            "type": [
              "number",
              "null"
            ]
          },
          "zori": {
            "type": [
              "number",
              "null"
            ]
          },
          "fmr_2br": {
            "type": [
              "number",
              "null"
            ]
          },
          "median_rent": {
            "type": [
              "number",
              "null"
            ]
          },
          "source": {
            "type": "string"
          },
          "confidence": {
            "type": "string"
          },
          "history": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": true
      },
      "RentResponse": {
        "type": "object",
        "required": [
          "ok",
          "endpoint",
          "location",
          "rent",
          "data_sources",
          "coverage_status",
          "generated_at"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "endpoint": {
            "type": "string",
            "const": "rent"
          },
          "powered_by": {
            "type": "string"
          },
          "location": {
            "$ref": "#/components/schemas/Location"
          },
          "rent": {
            "$ref": "#/components/schemas/RentMetrics"
          },
          "data_sources": {
            "type": "object",
            "additionalProperties": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "coverage_status": {
            "type": "string"
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "ListingResponse": {
        "type": "object",
        "required": [
          "source",
          "location",
          "powered_by"
        ],
        "properties": {
          "source": {
            "type": "string"
          },
          "location": {
            "$ref": "#/components/schemas/Location"
          },
          "powered_by": {
            "type": "string"
          },
          "median_listing_price": {
            "type": [
              "number",
              "null"
            ]
          },
          "active_listings": {
            "type": [
              "number",
              "null"
            ]
          },
          "median_days_on_market": {
            "type": [
              "number",
              "null"
            ]
          },
          "history": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": true
      },
      "EstimateResponse": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "endpoint": {
            "type": "string"
          },
          "powered_by": {
            "type": "string"
          },
          "model_version": {
            "type": "string"
          },
          "location": {
            "$ref": "#/components/schemas/Location"
          },
          "estimate": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "properties": {
                  "bedrooms": {
                    "type": "integer"
                  },
                  "monthly_low": {
                    "type": "number"
                  },
                  "monthly_mid": {
                    "type": "number"
                  },
                  "monthly_high": {
                    "type": "number"
                  },
                  "confidence_pct": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "market_trend": {
                    "type": "string"
                  },
                  "yoy_rent_change": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "additionalProperties": true
              }
            ]
          },
          "explanation": {
            "type": "string"
          },
          "methodology": {
            "type": "object",
            "additionalProperties": true
          },
          "coverage_status": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "Address": {
        "type": "object",
        "properties": {
          "street": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "zip": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      },
      "PropertyRecord": {
        "type": "object",
        "properties": {
          "parcel_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "county_fips": {
            "type": [
              "string",
              "null"
            ]
          },
          "county_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "full_address": {
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "oneOf": [
              {
                "type": [
                  "string",
                  "null"
                ]
              },
              {
                "$ref": "#/components/schemas/Address"
              }
            ]
          },
          "situs_address": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "zip": {
            "type": [
              "string",
              "null"
            ]
          },
          "owner_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "mailing_address": {
            "type": [
              "string",
              "null"
            ]
          },
          "market_value": {
            "type": [
              "number",
              "null"
            ]
          },
          "assessed_value": {
            "type": [
              "number",
              "null"
            ]
          },
          "taxable_value": {
            "type": [
              "number",
              "null"
            ]
          },
          "land_value": {
            "type": [
              "number",
              "null"
            ]
          },
          "improvement_value": {
            "type": [
              "number",
              "null"
            ]
          },
          "annual_tax": {
            "type": [
              "number",
              "null"
            ]
          },
          "last_sale_price": {
            "type": [
              "number",
              "null"
            ]
          },
          "last_sale_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "bedrooms": {
            "type": [
              "number",
              "null"
            ]
          },
          "bathrooms": {
            "type": [
              "number",
              "null"
            ]
          },
          "sq_ft_living": {
            "type": [
              "number",
              "null"
            ]
          },
          "sq_ft_lot": {
            "type": [
              "number",
              "null"
            ]
          },
          "year_built": {
            "type": [
              "integer",
              "null"
            ]
          },
          "property_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "fema_flood_zone": {
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "type": [
              "string",
              "null"
            ]
          },
          "data_source": {
            "type": [
              "string",
              "null"
            ]
          },
          "match_level": {
            "type": [
              "string",
              "null"
            ]
          },
          "geometry": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GeoJsonFeature"
              }
            ]
          },
          "nyc_mappluto": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "additionalProperties": true
              }
            ]
          }
        },
        "additionalProperties": true
      },
      "PropertyResponse": {
        "type": "object",
        "required": [
          "ok",
          "endpoint",
          "query",
          "count",
          "results",
          "properties",
          "generated_at"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "endpoint": {
            "type": "string",
            "const": "property"
          },
          "query": {
            "type": "object",
            "additionalProperties": true
          },
          "count": {
            "type": "integer",
            "minimum": 0
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyRecord"
            }
          },
          "properties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyRecord"
            }
          },
          "match_level": {
            "type": "string"
          },
          "coverage_status": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "enrichment_status": {
            "type": "string"
          },
          "missing_fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "enrichment_message": {
            "type": "string"
          },
          "enrichment_job_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "listing": {
            "type": "object",
            "additionalProperties": true
          },
          "rent_estimate": {
            "type": [
              "number",
              "null"
            ]
          },
          "comps_count": {
            "type": [
              "integer",
              "null"
            ]
          },
          "ranked_comps": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            ]
          },
          "realtime": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "additionalProperties": true
              }
            ]
          },
          "performance": {
            "type": "object",
            "additionalProperties": true
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "PropertyByLocationResponse": {
        "type": "object",
        "required": [
          "ok",
          "endpoint",
          "query",
          "match_level",
          "coverage_status",
          "generated_at"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "endpoint": {
            "type": "string",
            "const": "property/by-location"
          },
          "query": {
            "type": "object",
            "properties": {
              "lat": {
                "type": "number"
              },
              "lng": {
                "type": "number"
              }
            },
            "required": [
              "lat",
              "lng"
            ]
          },
          "county": {
            "type": "object",
            "additionalProperties": true
          },
          "source_name": {
            "type": "string"
          },
          "source_query": {
            "type": "object",
            "additionalProperties": true
          },
          "match_level": {
            "type": "string"
          },
          "coverage_status": {
            "type": "string"
          },
          "parcel": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PropertyRecord"
              }
            ]
          },
          "geometry": {
            "$ref": "#/components/schemas/GeometryEnvelope"
          },
          "enrichment_context": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "additionalProperties": true
              }
            ]
          },
          "next_step": {
            "type": [
              "string",
              "null"
            ]
          },
          "message": {
            "type": "string"
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "CoverageItem": {
        "type": "object",
        "properties": {
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "county": {
            "type": [
              "string",
              "null"
            ]
          },
          "county_fips": {
            "type": [
              "string",
              "null"
            ]
          },
          "source_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "source_type": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      },
      "CoverageResponse": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "endpoint": {
            "type": "string"
          },
          "counties_configured": {
            "type": "integer"
          },
          "states_represented": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "coverage": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CoverageItem"
            }
          },
          "note": {
            "type": "string"
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "GeoJsonGeometry": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/GeoJsonPoint"
          },
          {
            "$ref": "#/components/schemas/GeoJsonPolygon"
          },
          {
            "$ref": "#/components/schemas/GeoJsonMultiPolygon"
          }
        ]
      },
      "GeoJsonPoint": {
        "type": "object",
        "required": [
          "type",
          "coordinates"
        ],
        "properties": {
          "type": {
            "type": "string",
            "const": "Point"
          },
          "coordinates": {
            "type": "array",
            "prefixItems": [
              {
                "type": "number"
              },
              {
                "type": "number"
              }
            ],
            "minItems": 2,
            "maxItems": 3
          }
        },
        "additionalProperties": false
      },
      "GeoJsonPolygon": {
        "type": "object",
        "required": [
          "type",
          "coordinates"
        ],
        "properties": {
          "type": {
            "type": "string",
            "const": "Polygon"
          },
          "coordinates": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "array",
                "prefixItems": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "number"
                  }
                ],
                "minItems": 2
              }
            }
          }
        },
        "additionalProperties": false
      },
      "GeoJsonMultiPolygon": {
        "type": "object",
        "required": [
          "type",
          "coordinates"
        ],
        "properties": {
          "type": {
            "type": "string",
            "const": "MultiPolygon"
          },
          "coordinates": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "array",
                "items": {
                  "type": "array",
                  "prefixItems": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "number"
                    }
                  ],
                  "minItems": 2
                }
              }
            }
          }
        },
        "additionalProperties": false
      },
      "GeoJsonFeature": {
        "type": "object",
        "required": [
          "type",
          "geometry",
          "properties"
        ],
        "properties": {
          "type": {
            "type": "string",
            "const": "Feature"
          },
          "geometry": {
            "$ref": "#/components/schemas/GeoJsonGeometry"
          },
          "properties": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "additionalProperties": true
      },
      "GeometryEnvelope": {
        "type": "object",
        "properties": {
          "available": {
            "type": "boolean"
          },
          "geojson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GeoJsonGeometry"
              }
            ]
          },
          "centroid": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GeoJsonPoint"
              }
            ]
          },
          "bbox": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "minItems": 4,
                "maxItems": 4
              }
            ]
          },
          "source": {
            "type": [
              "string",
              "null"
            ]
          },
          "point_in_polygon_verified": {
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "additionalProperties": true
      },
      "ParcelGeometryResponse": {
        "type": "object",
        "required": [
          "ok",
          "endpoint",
          "query",
          "geometry_available",
          "generated_at"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "endpoint": {
            "type": "string",
            "const": "parcel-geometry"
          },
          "query": {
            "type": "object",
            "properties": {
              "county_fips": {
                "type": "string"
              },
              "parcel_id": {
                "type": "string"
              }
            },
            "required": [
              "county_fips",
              "parcel_id"
            ]
          },
          "nationwide_endpoint": {
            "type": "boolean"
          },
          "geometry_available": {
            "type": "boolean"
          },
          "cached": {
            "type": "boolean"
          },
          "source": {
            "type": "string"
          },
          "coverage_status": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "geometry": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GeoJsonFeature"
              },
              {
                "$ref": "#/components/schemas/GeoJsonGeometry"
              }
            ]
          },
          "centroid": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GeoJsonPoint"
              }
            ]
          },
          "bbox": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "minItems": 4,
                "maxItems": 4
              }
            ]
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "GeocodeResponse": {
        "type": "object",
        "required": [
          "ok",
          "endpoint",
          "query",
          "match_level",
          "generated_at"
        ],
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "endpoint": {
            "type": "string",
            "const": "geocode"
          },
          "query": {
            "type": "object",
            "additionalProperties": true
          },
          "match_level": {
            "type": "string"
          },
          "result": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "properties": {
                  "situs_address": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "situs_city": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "situs_zip": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "state_code": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "county_fips": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "county_name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "parcel_id": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "lat": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "lng": {
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "additionalProperties": true
              }
            ]
          },
          "next_step": {
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "NeighborhoodRecord": {
        "type": "object",
        "properties": {
          "zip": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "population": {
            "type": [
              "number",
              "null"
            ]
          },
          "median_income": {
            "type": [
              "number",
              "null"
            ]
          },
          "per_capita_income": {
            "type": [
              "number",
              "null"
            ]
          },
          "median_age": {
            "type": [
              "number",
              "null"
            ]
          },
          "owner_occupied_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "vacancy_rate": {
            "type": [
              "number",
              "null"
            ]
          },
          "poverty_rate": {
            "type": [
              "number",
              "null"
            ]
          },
          "college_degree_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "median_rent": {
            "type": [
              "number",
              "null"
            ]
          },
          "source": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "NeighborhoodResponse": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "endpoint": {
            "type": "string",
            "const": "neighborhood"
          },
          "query": {
            "type": "object",
            "additionalProperties": true
          },
          "count": {
            "type": "integer"
          },
          "neighborhoods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NeighborhoodRecord"
            }
          },
          "coverage_status": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "ZipIntelResponse": {
        "type": "object",
        "required": [
          "zip",
          "market",
          "demographics",
          "housing",
          "scores"
        ],
        "properties": {
          "zip": {
            "type": "string"
          },
          "state_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "market": {
            "type": "object",
            "additionalProperties": true
          },
          "demographics": {
            "type": "object",
            "additionalProperties": true
          },
          "housing": {
            "type": "object",
            "additionalProperties": true
          },
          "scores": {
            "type": "object",
            "additionalProperties": true
          },
          "spread_signal": {
            "type": "object",
            "additionalProperties": true
          },
          "ai_analysis": {
            "type": [
              "string",
              "null"
            ]
          },
          "ai_cache": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "additionalProperties": true
      },
      "StateIntelResponse": {
        "type": "object",
        "required": [
          "state",
          "signal",
          "market",
          "risk",
          "top_metros"
        ],
        "properties": {
          "state": {
            "type": "string"
          },
          "state_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "signal": {
            "type": "string"
          },
          "signal_color": {
            "type": "string"
          },
          "market": {
            "type": "object",
            "additionalProperties": true
          },
          "risk": {
            "type": "object",
            "additionalProperties": true
          },
          "top_metros": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "powered_by": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "CompRecord": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "integer"
          },
          "comp_score": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "comp_quality": {
            "type": "string"
          },
          "qualified": {
            "type": "boolean"
          },
          "match_reasons": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "parcel_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "type": [
              "string",
              "null"
            ]
          },
          "situs_address": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "zip": {
            "type": [
              "string",
              "null"
            ]
          },
          "value": {
            "type": [
              "number",
              "null"
            ]
          },
          "market_value": {
            "type": [
              "number",
              "null"
            ]
          },
          "assessed_value": {
            "type": [
              "number",
              "null"
            ]
          },
          "last_sale_price": {
            "type": [
              "number",
              "null"
            ]
          },
          "last_sale_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "beds": {
            "type": [
              "number",
              "null"
            ]
          },
          "baths": {
            "type": [
              "number",
              "null"
            ]
          },
          "sqft": {
            "type": [
              "number",
              "null"
            ]
          },
          "year_built": {
            "type": [
              "integer",
              "null"
            ]
          },
          "county_fips": {
            "type": [
              "string",
              "null"
            ]
          },
          "match_level": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "CompsResponse": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "endpoint": {
            "type": "string",
            "const": "comps"
          },
          "zip": {
            "type": "string"
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "type": [
              "string",
              "null"
            ]
          },
          "subject": {
            "type": "object",
            "additionalProperties": true
          },
          "subject_match_status": {
            "type": "string"
          },
          "ranking_mode": {
            "type": "string"
          },
          "ranking_version": {
            "type": "string"
          },
          "candidate_count": {
            "type": "integer"
          },
          "qualified_count": {
            "type": "integer"
          },
          "count": {
            "type": "integer"
          },
          "comps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CompRecord"
            }
          },
          "coverage_status": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "DeltaMetadata": {
        "type": "object",
        "properties": {
          "fetched_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "changed_since": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "PropertyDeltaResponse": {
        "type": "object",
        "required": [
          "query",
          "count",
          "has_more",
          "properties",
          "generated_at"
        ],
        "properties": {
          "powered_by": {
            "type": "string"
          },
          "query": {
            "type": "object",
            "additionalProperties": true
          },
          "count": {
            "type": "integer"
          },
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "properties": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/PropertyRecord"
                },
                {
                  "type": "object",
                  "properties": {
                    "_delta": {
                      "$ref": "#/components/schemas/DeltaMetadata"
                    }
                  }
                }
              ]
            }
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "LeadRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ]
          },
          "owner_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "county": {
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "type": [
              "string",
              "null"
            ]
          },
          "filing": {
            "type": "object",
            "additionalProperties": true
          },
          "valuation": {
            "type": "object",
            "additionalProperties": true
          },
          "is_absentee": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "source": {
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "_delta": {
            "$ref": "#/components/schemas/DeltaMetadata"
          }
        },
        "additionalProperties": true
      },
      "PreForeclosureResponse": {
        "type": "object",
        "properties": {
          "powered_by": {
            "type": "string"
          },
          "query": {
            "type": "object",
            "additionalProperties": true
          },
          "count": {
            "type": "integer"
          },
          "leads": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LeadRecord"
            }
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "PreForeclosureDeltaResponse": {
        "type": "object",
        "properties": {
          "powered_by": {
            "type": "string"
          },
          "query": {
            "type": "object",
            "additionalProperties": true
          },
          "count": {
            "type": "integer"
          },
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "leads": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LeadRecord"
            }
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": true
      },
      "SkipTraceResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "owner": {
                  "type": "object",
                  "additionalProperties": true
                },
                "phones": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                },
                "property": {
                  "type": "object",
                  "additionalProperties": true
                },
                "financials": {
                  "type": "object",
                  "additionalProperties": true
                },
                "lead": {
                  "type": "object",
                  "additionalProperties": true
                },
                "source": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "additionalProperties": true
            }
          },
          "count": {
            "type": "integer"
          },
          "tier": {
            "type": "string"
          },
          "powered_by": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "ChangelogUpdate": {
        "type": "object",
        "required": [
          "version",
          "title",
          "type",
          "status",
          "date",
          "summary"
        ],
        "properties": {
          "version": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date"
          },
          "summary": {
            "type": "string"
          },
          "details": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "affected_endpoints": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": true
      },
      "ChangelogResponse": {
        "type": "object",
        "required": [
          "ok",
          "endpoint",
          "api",
          "latest_version",
          "count",
          "updates",
          "generated_at"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "endpoint": {
            "type": "string",
            "const": "changelog"
          },
          "api": {
            "type": "string"
          },
          "latest_version": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          },
          "updates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChangelogUpdate"
            }
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          },
          "powered_by": {
            "type": "string"
          }
        },
        "additionalProperties": true
      }
    }
  }
}